Skip to content

Commit 95077fb

Browse files
committed
enrichments: handle gen_ai.provider.name too
Same enrichment as the previous gen_ai.system
1 parent c8cbcd1 commit 95077fb

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

enrichments/internal/elastic/span.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import (
3737
"go.opentelemetry.io/collector/pdata/ptrace"
3838
semconv25 "go.opentelemetry.io/otel/semconv/v1.25.0"
3939
semconv27 "go.opentelemetry.io/otel/semconv/v1.27.0"
40+
semconv37 "go.opentelemetry.io/otel/semconv/v1.37.0"
4041
tracepb "go.opentelemetry.io/proto/otlp/trace/v1"
4142
"google.golang.org/grpc/codes"
4243
)
@@ -197,7 +198,7 @@ func (s *spanEnrichmentContext) Enrich(
197198
case string(semconv25.DBSystemKey):
198199
s.isDB = true
199200
s.dbSystem = v.Str()
200-
case string(semconv27.GenAISystemKey):
201+
case string(semconv27.GenAISystemKey), string(semconv37.GenAIProviderName):
201202
s.isGenAi = true
202203
s.genAiSystem = v.Str()
203204
case string(semconv27.UserAgentOriginalKey):

enrichments/internal/elastic/span_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434
"go.opentelemetry.io/collector/pdata/ptrace"
3535
semconv25 "go.opentelemetry.io/otel/semconv/v1.25.0"
3636
semconv27 "go.opentelemetry.io/otel/semconv/v1.27.0"
37+
semconv37 "go.opentelemetry.io/otel/semconv/v1.37.0"
3738
tracepb "go.opentelemetry.io/proto/otlp/trace/v1"
3839
"google.golang.org/grpc/codes"
3940
)
@@ -1351,6 +1352,28 @@ func TestElasticSpanEnrich(t *testing.T) {
13511352
elasticattr.SuccessCount: int64(1),
13521353
},
13531354
},
1355+
{
1356+
name: "genai_with_provider_name",
1357+
input: func() ptrace.Span {
1358+
span := getElasticSpan()
1359+
span.SetName("testspan")
1360+
span.SetSpanID([8]byte{1})
1361+
span.Attributes().PutStr(string(semconv37.GenAIProviderNameKey), "openai")
1362+
return span
1363+
}(),
1364+
config: config.Enabled().Span,
1365+
enrichedAttrs: map[string]any{
1366+
elasticattr.TimestampUs: startTs.AsTime().UnixMicro(),
1367+
elasticattr.SpanName: "testspan",
1368+
elasticattr.ProcessorEvent: "span",
1369+
elasticattr.SpanRepresentativeCount: float64(1),
1370+
elasticattr.SpanType: "genai",
1371+
elasticattr.SpanSubtype: "openai",
1372+
elasticattr.SpanDurationUs: expectedDuration.Microseconds(),
1373+
elasticattr.EventOutcome: "success",
1374+
elasticattr.SuccessCount: int64(1),
1375+
},
1376+
},
13541377
{
13551378
name: "rpc_span_with_only_rpc_sevice_attr",
13561379
input: func() ptrace.Span {

0 commit comments

Comments
 (0)