From fcf4939aa5fa49eff7efb8b98904e9c5afe7a09f Mon Sep 17 00:00:00 2001 From: Isaac Flores Date: Wed, 4 Mar 2026 15:11:16 -0800 Subject: [PATCH 1/4] [exporter/elasticsearch] Update ECS mode encoder to add conversions for `telemetry.sdk.language` and `telemetry.sdk.version` --- exporter/elasticsearchexporter/README.md | 4 ++-- exporter/elasticsearchexporter/model.go | 4 ++-- exporter/elasticsearchexporter/model_test.go | 10 ++++++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/exporter/elasticsearchexporter/README.md b/exporter/elasticsearchexporter/README.md index bca23595500ee..55434896c8a3f 100644 --- a/exporter/elasticsearchexporter/README.md +++ b/exporter/elasticsearchexporter/README.md @@ -529,9 +529,9 @@ It is recommended to enrich events using the [elasticapmprocessor](https://githu | source.address | source.ip | false | false | | telemetry.distro.name | "" | false | false | | telemetry.distro.version | "" | false | false | -| telemetry.sdk.language | "" | false | false | +| telemetry.sdk.language | service.language.name | false | false | | telemetry.sdk.name | "" | false | false | -| telemetry.sdk.version | "" | false | false | +| telemetry.sdk.version | service.language.version | false | false | ### Log record attribute mapping diff --git a/exporter/elasticsearchexporter/model.go b/exporter/elasticsearchexporter/model.go index a71ada885747d..70bfc9dd68ae0 100644 --- a/exporter/elasticsearchexporter/model.go +++ b/exporter/elasticsearchexporter/model.go @@ -57,8 +57,8 @@ var resourceAttrsConversionMap = map[string]conversionEntry{ string(conventionsv126.DeploymentEnvironmentKey): {to: "service.environment"}, string(conventions.DeploymentEnvironmentNameKey): {to: "service.environment"}, string(conventions.TelemetrySDKNameKey): {skip: true}, - string(conventions.TelemetrySDKLanguageKey): {skip: true}, - string(conventions.TelemetrySDKVersionKey): {skip: true}, + string(conventions.TelemetrySDKLanguageKey): {to: "service.language.name"}, + string(conventions.TelemetrySDKVersionKey): {to: "service.language.version"}, string(conventions.TelemetryDistroNameKey): {skip: true}, string(conventions.TelemetryDistroVersionKey): {skip: true}, string(conventions.CloudPlatformKey): {to: "cloud.service.name"}, diff --git a/exporter/elasticsearchexporter/model_test.go b/exporter/elasticsearchexporter/model_test.go index 5ba20fe45fa68..495748925cf71 100644 --- a/exporter/elasticsearchexporter/model_test.go +++ b/exporter/elasticsearchexporter/model_test.go @@ -529,6 +529,8 @@ func TestEncodeSpanECSMode(t *testing.T) { "service.instance.id": "23", "service.name": "some-service", "service.version": "env-version-1234", + "telemetry.sdk.version": "1.2.3", + "telemetry.sdk.language": "go", "process.parent_pid": "42", "process.executable.name": "node", "client.address": "12.53.12.1", @@ -630,6 +632,10 @@ func TestEncodeSpanECSMode(t *testing.T) { }, "service": { "environment": "BETA", + "language": { + "name": "go", + "version": "1.2.3" + }, "name": "some-service", "node": { "name": "23" @@ -791,6 +797,10 @@ func TestEncodeLogECSMode(t *testing.T) { "service": { "name": "foo.bar", "environment": "BETA", + "language": { + "name": "perl", + "version": "7.9.12" + }, "version": "1.1.0", "node": {"name": "i-103de39e0a"}, "runtime": { From 96509a0932fb3180192bd5409e10753fa09027fd Mon Sep 17 00:00:00 2001 From: Isaac Flores Date: Thu, 5 Mar 2026 06:13:28 -0800 Subject: [PATCH 2/4] add chlog --- ...es-exporter-ecs-mode-map-service-lang.yaml | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .chloggen/es-exporter-ecs-mode-map-service-lang.yaml diff --git a/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml b/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml new file mode 100644 index 0000000000000..71cd74645d01e --- /dev/null +++ b/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml @@ -0,0 +1,27 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: enhancement + +# The name of the component, or a single word describing the area of concern, (e.g. receiver/filelog) +component: exporter/elasticsearch + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: "Update ECS mode encoder to add conversions for `telemetry.sdk.language` and `telemetry.sdk.version` + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +issues: [] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: Conversions map semconv attributes `telemetry.sdk.language`/`telemetry.sdk.version` to service.language.name/service.language.version' + +# If your change doesn't affect end users or the exported elements of any package, +# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [user] From ee435826aad91c133afe1eab34f3ebb1b3a9c07d Mon Sep 17 00:00:00 2001 From: Isaac Flores Date: Thu, 5 Mar 2026 09:29:12 -0800 Subject: [PATCH 3/4] add pr to chlog --- .chloggen/es-exporter-ecs-mode-map-service-lang.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml b/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml index 71cd74645d01e..71836dd32d647 100644 --- a/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml +++ b/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml @@ -10,7 +10,7 @@ component: exporter/elasticsearch note: "Update ECS mode encoder to add conversions for `telemetry.sdk.language` and `telemetry.sdk.version` # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. -issues: [] +issues: [46690] # (Optional) One or more lines of additional information to render under the primary note. # These lines will be padded with 2 spaces and then inserted directly into the document. From 8f73c60fa99766c9d6e11f17b3782a7444e6d7a2 Mon Sep 17 00:00:00 2001 From: Isaac Flores <34590010+isaacaflores2@users.noreply.github.com> Date: Thu, 5 Mar 2026 10:27:42 -0800 Subject: [PATCH 4/4] Update .chloggen/es-exporter-ecs-mode-map-service-lang.yaml Co-authored-by: Carson Ip --- .chloggen/es-exporter-ecs-mode-map-service-lang.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml b/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml index 71836dd32d647..4cc1cee7a631e 100644 --- a/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml +++ b/.chloggen/es-exporter-ecs-mode-map-service-lang.yaml @@ -7,7 +7,7 @@ change_type: enhancement component: exporter/elasticsearch # A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). -note: "Update ECS mode encoder to add conversions for `telemetry.sdk.language` and `telemetry.sdk.version` +note: "Update ECS mode encoder to add conversions for `telemetry.sdk.language` and `telemetry.sdk.version`" # Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. issues: [46690]