Skip to content

Commit db963ef

Browse files
committed
[receiver/datadog] Bump Semantic Conventions
This addresses part of the concerns raised in open-telemetry#36924.
1 parent 21a039e commit db963ef

File tree

5 files changed

+30
-24
lines changed

5 files changed

+30
-24
lines changed

receiver/datadogreceiver/internal/translator/series_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/stretchr/testify/require"
1515
"go.opentelemetry.io/collector/component"
1616
"go.opentelemetry.io/collector/pdata/pmetric"
17+
semconv "go.opentelemetry.io/collector/semconv/v1.27.0"
1718
)
1819

1920
func strPtr(s string) *string { return &s }
@@ -400,13 +401,13 @@ func TestTranslateSeriesV2(t *testing.T) {
400401
requireMetricAndDataPointCounts(t, result, 1, 0)
401402

402403
require.Equal(t, 1, result.ResourceMetrics().Len())
403-
v, exists := result.ResourceMetrics().At(0).Resource().Attributes().Get("host.name")
404+
v, exists := result.ResourceMetrics().At(0).Resource().Attributes().Get(semconv.AttributeHostName)
404405
require.True(t, exists)
405406
require.Equal(t, "Host1", v.AsString())
406-
v, exists = result.ResourceMetrics().At(0).Resource().Attributes().Get("deployment.environment")
407+
v, exists = result.ResourceMetrics().At(0).Resource().Attributes().Get(semconv.AttributeDeploymentEnvironmentName)
407408
require.True(t, exists)
408409
require.Equal(t, "tag1", v.AsString())
409-
v, exists = result.ResourceMetrics().At(0).Resource().Attributes().Get("service.version")
410+
v, exists = result.ResourceMetrics().At(0).Resource().Attributes().Get(semconv.AttributeServiceVersion)
410411
require.True(t, exists)
411412
require.Equal(t, "tag2", v.AsString())
412413

receiver/datadogreceiver/internal/translator/tags.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,22 @@ import (
88
"sync"
99

1010
"go.opentelemetry.io/collector/pdata/pcommon"
11-
semconv "go.opentelemetry.io/collector/semconv/v1.16.0"
11+
semconv "go.opentelemetry.io/collector/semconv/v1.27.0"
1212
)
1313

1414
// See:
1515
// https://docs.datadoghq.com/opentelemetry/schema_semantics/semantic_mapping/
1616
// https://github.com/DataDog/opentelemetry-mapping-go/blob/main/pkg/otlp/attributes/attributes.go
1717
var datadogKnownResourceAttributes = map[string]string{
18-
"env": semconv.AttributeDeploymentEnvironment,
18+
"env": semconv.AttributeDeploymentEnvironmentName,
1919
"service": semconv.AttributeServiceName,
2020
"version": semconv.AttributeServiceVersion,
2121

2222
// Container-related attributes
2323
"container_id": semconv.AttributeContainerID,
2424
"container_name": semconv.AttributeContainerName,
2525
"image_name": semconv.AttributeContainerImageName,
26-
"image_tag": semconv.AttributeContainerImageTag,
26+
"image_tag": semconv.AttributeContainerImageTags,
2727
"runtime": semconv.AttributeContainerRuntime,
2828

2929
// Cloud-related attributes
@@ -137,7 +137,11 @@ func tagsToAttributes(tags []string, host string, stringPool *StringPool) attrib
137137
key, val = translateDatadogTagToKeyValuePair(tag)
138138
if attr, ok := datadogKnownResourceAttributes[key]; ok {
139139
val = stringPool.Intern(val) // No need to intern the key if we already have it
140-
attrs.resource.PutStr(attr, val)
140+
if key == semconv.AttributeContainerImageTags {
141+
attrs.resource.PutEmptySlice(attr).AppendEmpty().SetStr(val)
142+
} else {
143+
attrs.resource.PutStr(attr, val)
144+
}
141145
} else {
142146
key = stringPool.Intern(translateDatadogKeyToOTel(key))
143147
val = stringPool.Intern(val)

receiver/datadogreceiver/internal/translator/tags_test.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
"github.com/stretchr/testify/assert"
1010
"go.opentelemetry.io/collector/pdata/pcommon"
11+
semconv "go.opentelemetry.io/collector/semconv/v1.27.0"
1112
)
1213

1314
func TestGetMetricAttributes(t *testing.T) {
@@ -32,7 +33,7 @@ func TestGetMetricAttributes(t *testing.T) {
3233
tags: []string{},
3334
host: "host",
3435
expectedResourceAttrs: newMapFromKV(t, map[string]any{
35-
"host.name": "host",
36+
semconv.AttributeHostName: "host",
3637
}),
3738
expectedScopeAttrs: pcommon.NewMap(),
3839
expectedDpAttrs: pcommon.NewMap(),
@@ -42,10 +43,10 @@ func TestGetMetricAttributes(t *testing.T) {
4243
tags: []string{"env:prod", "service:my-service", "version:1.0"},
4344
host: "host",
4445
expectedResourceAttrs: newMapFromKV(t, map[string]any{
45-
"host.name": "host",
46-
"deployment.environment": "prod",
47-
"service.name": "my-service",
48-
"service.version": "1.0",
46+
semconv.AttributeHostName: "host",
47+
semconv.AttributeDeploymentEnvironmentName: "prod",
48+
semconv.AttributeServiceName: "my-service",
49+
semconv.AttributeServiceVersion: "1.0",
4950
}),
5051
expectedScopeAttrs: pcommon.NewMap(),
5152
expectedDpAttrs: pcommon.NewMap(),
@@ -55,8 +56,8 @@ func TestGetMetricAttributes(t *testing.T) {
5556
tags: []string{"env:prod", "foo"},
5657
host: "host",
5758
expectedResourceAttrs: newMapFromKV(t, map[string]any{
58-
"host.name": "host",
59-
"deployment.environment": "prod",
59+
semconv.AttributeHostName: "host",
60+
semconv.AttributeDeploymentEnvironmentName: "prod",
6061
}),
6162
expectedScopeAttrs: pcommon.NewMap(),
6263
expectedDpAttrs: newMapFromKV(t, map[string]any{

receiver/datadogreceiver/internal/translator/traces_translator.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace"
2020
"go.opentelemetry.io/collector/pdata/pcommon"
2121
"go.opentelemetry.io/collector/pdata/ptrace"
22-
semconv "go.opentelemetry.io/collector/semconv/v1.16.0"
22+
semconv "go.opentelemetry.io/collector/semconv/v1.27.0"
2323
"go.opentelemetry.io/otel/trace"
2424
"google.golang.org/protobuf/proto"
2525

@@ -62,14 +62,14 @@ func ToTraces(payload *pb.TracerPayload, req *http.Request) ptrace.Traces {
6262
}
6363
sharedAttributes := pcommon.NewMap()
6464
for k, v := range map[string]string{
65-
semconv.AttributeContainerID: payload.ContainerID,
66-
semconv.AttributeTelemetrySDKLanguage: payload.LanguageName,
67-
semconv.AttributeProcessRuntimeVersion: payload.LanguageVersion,
68-
semconv.AttributeDeploymentEnvironment: payload.Env,
69-
semconv.AttributeHostName: payload.Hostname,
70-
semconv.AttributeServiceVersion: payload.AppVersion,
71-
semconv.AttributeTelemetrySDKName: "Datadog",
72-
semconv.AttributeTelemetrySDKVersion: payload.TracerVersion,
65+
semconv.AttributeContainerID: payload.ContainerID,
66+
semconv.AttributeTelemetrySDKLanguage: payload.LanguageName,
67+
semconv.AttributeProcessRuntimeVersion: payload.LanguageVersion,
68+
semconv.AttributeDeploymentEnvironmentName: payload.Env,
69+
semconv.AttributeHostName: payload.Hostname,
70+
semconv.AttributeServiceVersion: payload.AppVersion,
71+
semconv.AttributeTelemetrySDKName: "Datadog",
72+
semconv.AttributeTelemetrySDKVersion: payload.TracerVersion,
7373
} {
7474
if v != "" {
7575
sharedAttributes.PutStr(k, v)

receiver/datadogreceiver/internal/translator/traces_translator_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
"github.com/stretchr/testify/require"
1717
vmsgp "github.com/vmihailenco/msgpack/v5"
1818
"go.opentelemetry.io/collector/pdata/pcommon"
19-
semconv "go.opentelemetry.io/collector/semconv/v1.16.0"
19+
semconv "go.opentelemetry.io/collector/semconv/v1.27.0"
2020
"google.golang.org/protobuf/proto"
2121

2222
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver/internal/translator/header"

0 commit comments

Comments
 (0)