diff --git a/x-pack/plugins/apm/public/components/app/ServiceMap/__stories__/Cytoscape.stories.tsx b/x-pack/plugins/apm/public/components/app/ServiceMap/__stories__/Cytoscape.stories.tsx
index ee334e2ae956..a4985d2f5ab0 100644
--- a/x-pack/plugins/apm/public/components/app/ServiceMap/__stories__/Cytoscape.stories.tsx
+++ b/x-pack/plugins/apm/public/components/app/ServiceMap/__stories__/Cytoscape.stories.tsx
@@ -184,6 +184,13 @@ export function NodeIcons() {
'agent.name': 'dotNet',
},
},
+ {
+ data: {
+ id: 'erlang',
+ 'service.name': 'erlang service',
+ 'agent.name': 'erlang',
+ },
+ },
{
data: {
id: 'go',
@@ -219,6 +226,13 @@ export function NodeIcons() {
'agent.name': 'nodejs',
},
},
+ {
+ data: {
+ id: 'ocaml',
+ 'service.name': 'ocaml service',
+ 'agent.name': 'ocaml',
+ },
+ },
{
data: {
id: 'opentelemetry',
diff --git a/x-pack/plugins/apm/public/components/shared/AgentIcon/get_agent_icon.test.ts b/x-pack/plugins/apm/public/components/shared/AgentIcon/get_agent_icon.test.ts
index 6a739a668c40..e6328fc768a4 100644
--- a/x-pack/plugins/apm/public/components/shared/AgentIcon/get_agent_icon.test.ts
+++ b/x-pack/plugins/apm/public/components/shared/AgentIcon/get_agent_icon.test.ts
@@ -9,13 +9,15 @@ import { getAgentIconKey } from './get_agent_icon';
const examples = {
DotNet: 'dotnet', // Test for case sensitivity
dotnet: 'dotnet',
+ erlang: 'erlang',
go: 'go',
java: 'java',
'js-base': 'rum',
nodejs: 'nodejs',
+ ocaml: 'ocaml',
'opentelemetry/cpp': 'opentelemetry',
'opentelemetry/dotnet': 'dotnet',
- 'opentelemetry/erlang': 'opentelemetry',
+ 'opentelemetry/erlang': 'erlang',
'opentelemetry/go': 'go',
'opentelemetry/java': 'java',
'opentelemetry/nodejs': 'nodejs',
diff --git a/x-pack/plugins/apm/public/components/shared/AgentIcon/get_agent_icon.ts b/x-pack/plugins/apm/public/components/shared/AgentIcon/get_agent_icon.ts
index 12f84a1f3509..f2a1894b8d42 100644
--- a/x-pack/plugins/apm/public/components/shared/AgentIcon/get_agent_icon.ts
+++ b/x-pack/plugins/apm/public/components/shared/AgentIcon/get_agent_icon.ts
@@ -11,9 +11,11 @@ import {
import { AgentName } from '../../../../typings/es_schemas/ui/fields/agent';
import defaultIcon from '../span_icon/icons/default.svg';
import dotNetIcon from './icons/dot-net.svg';
+import erlangIcon from './icons/erlang.svg';
import goIcon from './icons/go.svg';
import javaIcon from './icons/java.svg';
import nodeJsIcon from './icons/nodejs.svg';
+import ocamlIcon from './icons/ocaml.svg';
import openTelemetryIcon from './icons/opentelemetry.svg';
import phpIcon from './icons/php.svg';
import pythonIcon from './icons/python.svg';
@@ -22,9 +24,11 @@ import rumJsIcon from './icons/rumjs.svg';
const agentIcons: { [key: string]: string } = {
dotnet: dotNetIcon,
+ erlang: erlangIcon,
go: goIcon,
java: javaIcon,
nodejs: nodeJsIcon,
+ ocaml: ocamlIcon,
opentelemetry: openTelemetryIcon,
php: phpIcon,
python: pythonIcon,
diff --git a/x-pack/plugins/apm/public/components/shared/AgentIcon/icons/erlang.svg b/x-pack/plugins/apm/public/components/shared/AgentIcon/icons/erlang.svg
new file mode 100644
index 000000000000..8d4b89eb1401
--- /dev/null
+++ b/x-pack/plugins/apm/public/components/shared/AgentIcon/icons/erlang.svg
@@ -0,0 +1 @@
+
diff --git a/x-pack/plugins/apm/public/components/shared/AgentIcon/icons/ocaml.svg b/x-pack/plugins/apm/public/components/shared/AgentIcon/icons/ocaml.svg
new file mode 100644
index 000000000000..7e9fffe4a242
--- /dev/null
+++ b/x-pack/plugins/apm/public/components/shared/AgentIcon/icons/ocaml.svg
@@ -0,0 +1 @@
+