Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
- Added if statement to change the resource name in Datadog exporter.
- Fixed tests
  • Loading branch information
gfonseca-tc committed Dec 3, 2021
1 parent 4df22c5 commit 7477ec5
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
11 changes: 9 additions & 2 deletions exporter/datadogexporter/translate_traces.go
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ func spanToDatadogSpan(s pdata.Span,
span := &pb.Span{
TraceID: decodeAPMTraceID(s.TraceID().Bytes()),
SpanID: decodeAPMSpanID(s.SpanID().Bytes()),
Name: remapDatadogSpanName(getDatadogSpanName(s, tags), spanNameMap),
Name: remapDatadogSpanName(getDatadogSpanName(s, tags, cfg.API.SpanNameAsResourceName), spanNameMap),
Resource: resourceName,
Service: normalizedServiceName,
Start: int64(startTime),
Expand Down Expand Up @@ -487,7 +487,14 @@ func decodeAPMId(id string) uint64 {
return val
}

func getDatadogSpanName(s pdata.Span, datadogTags map[string]string) string {
func getDatadogSpanName(s pdata.Span, datadogTags map[string]string, spanNameAsResourceName bool) string {
// Option created to maintain similarity with the OpenTelemetry semantic conventions
// https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/trace/semantic_conventions
// https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/1909
if spanNameAsResourceName {
return s.Name()
}

// largely a port of logic here
// https://github.com/open-telemetry/opentelemetry-python/blob/b2559409b2bf82e693f3e68ed890dd7fd1fa8eae/exporter/opentelemetry-exporter-datadog/src/opentelemetry/exporter/datadog/exporter.py#L213
// Get span name by using instrumentation library name and span kind while backing off to span.kind
Expand Down
12 changes: 6 additions & 6 deletions exporter/datadogexporter/translate_traces_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1055,12 +1055,12 @@ func TestSpanNameTranslation(t *testing.T) {
"otel.library.name": "hyphenated-value",
}

spanNameIl := getDatadogSpanName(span, ddIlTags)
spanNameDefault := getDatadogSpanName(span, ddNoIlTags)
spanNameOld := getDatadogSpanName(span, ddIlTagsOld)
spanNameCur := getDatadogSpanName(span, ddIlTagsCur)
spanNameUnusual := getDatadogSpanName(span, ddIlTagsUnusual)
spanNameHyphen := getDatadogSpanName(span, ddIlTagsHyphen)
spanNameIl := getDatadogSpanName(span, ddIlTags, false)
spanNameDefault := getDatadogSpanName(span, ddNoIlTags, false)
spanNameOld := getDatadogSpanName(span, ddIlTagsOld, false)
spanNameCur := getDatadogSpanName(span, ddIlTagsCur, false)
spanNameUnusual := getDatadogSpanName(span, ddIlTagsUnusual, false)
spanNameHyphen := getDatadogSpanName(span, ddIlTagsHyphen, false)

assert.Equal(t, strings.ToLower(fmt.Sprintf("%s.%s", "il_name", strings.TrimPrefix(pdata.SpanKindServer.String(), "SPAN_KIND_"))), spanNameIl)
assert.Equal(t, strings.ToLower(fmt.Sprintf("%s.%s", "opentelemetry", strings.TrimPrefix(pdata.SpanKindServer.String(), "SPAN_KIND_"))), spanNameDefault)
Expand Down

0 comments on commit 7477ec5

Please sign in to comment.