From 82dbe78fa026d124679cb69e8942b51bf45f22de Mon Sep 17 00:00:00 2001 From: wpessers Date: Sat, 9 May 2026 12:25:02 +0200 Subject: [PATCH 1/2] chore(collector): upgrade semconv to 1.40.0 --- collector/go.mod | 1 - collector/go.sum | 2 - collector/lambdacomponents/go.mod | 1 - collector/lambdacomponents/go.sum | 2 - collector/processor/coldstartprocessor/go.mod | 3 +- collector/processor/coldstartprocessor/go.sum | 2 - .../processor/coldstartprocessor/processor.go | 6 +- .../coldstartprocessor/processor_test.go | 18 ++--- .../receiver/telemetryapireceiver/go.mod | 2 +- .../receiver/telemetryapireceiver/go.sum | 14 ++-- .../telemetryapireceiver/metric_builder.go | 51 ++++++++------- .../metric_builder_test.go | 65 ++++++++++--------- .../receiver/telemetryapireceiver/receiver.go | 2 +- .../telemetryapireceiver/receiver_test.go | 9 +-- 14 files changed, 92 insertions(+), 86 deletions(-) diff --git a/collector/go.mod b/collector/go.mod index 67297010b0..303ba96801 100644 --- a/collector/go.mod +++ b/collector/go.mod @@ -239,7 +239,6 @@ require ( go.opentelemetry.io/collector/receiver/otlpreceiver v0.151.0 // indirect go.opentelemetry.io/collector/receiver/receiverhelper v0.151.0 // indirect go.opentelemetry.io/collector/receiver/xreceiver v0.151.0 // indirect - go.opentelemetry.io/collector/semconv v0.128.0 // indirect go.opentelemetry.io/collector/service/hostcapabilities v0.151.0 // indirect go.opentelemetry.io/contrib/bridges/otelzap v0.18.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 // indirect diff --git a/collector/go.sum b/collector/go.sum index 4a9845e1c2..65a005350d 100644 --- a/collector/go.sum +++ b/collector/go.sum @@ -644,8 +644,6 @@ go.opentelemetry.io/collector/receiver/receivertest v0.151.0 h1:U1iALsnbrAM3QdT4 go.opentelemetry.io/collector/receiver/receivertest v0.151.0/go.mod h1:MBAEOfep8HMpdOcD5j1LOpP/GTjqz5hmZijGyYGxkGE= go.opentelemetry.io/collector/receiver/xreceiver v0.151.0 h1:Ib86H9rBBD76wmpKQFRlwYqugvxbDtq8Lg6bVROBw4k= go.opentelemetry.io/collector/receiver/xreceiver v0.151.0/go.mod h1:9Jqb3YKmgkZeLmHx5QBLBgdoLiu2T9q4B+o6LGTR/8U= -go.opentelemetry.io/collector/semconv v0.128.0 h1:MzYOz7Vgb3Kf5D7b49pqqgeUhEmOCuT10bIXb/Cc+k4= -go.opentelemetry.io/collector/semconv v0.128.0/go.mod h1:OPXer4l43X23cnjLXIZnRj/qQOjSuq4TgBLI76P9hns= go.opentelemetry.io/collector/service v0.151.0 h1:iqtaqHda+VjTICRclkT9tSiypu39vDzxC4SVA3pMCn4= go.opentelemetry.io/collector/service v0.151.0/go.mod h1:kFhq1YczwEJrvTv9ChVuKVCX9DIZyiAQJbNMvRXAJcM= go.opentelemetry.io/collector/service/hostcapabilities v0.151.0 h1:+VbDE5ZRXKD6nXVXpB2asVY0767SbE7GRbTeVncpwR0= diff --git a/collector/lambdacomponents/go.mod b/collector/lambdacomponents/go.mod index 0fb081950e..76b6f1a46b 100644 --- a/collector/lambdacomponents/go.mod +++ b/collector/lambdacomponents/go.mod @@ -209,7 +209,6 @@ require ( go.opentelemetry.io/collector/receiver/receiverhelper v0.151.0 // indirect go.opentelemetry.io/collector/receiver/receivertest v0.151.0 // indirect go.opentelemetry.io/collector/receiver/xreceiver v0.151.0 // indirect - go.opentelemetry.io/collector/semconv v0.128.0 // indirect go.opentelemetry.io/collector/service/hostcapabilities v0.151.0 // indirect go.opentelemetry.io/contrib/bridges/otelzap v0.18.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 // indirect diff --git a/collector/lambdacomponents/go.sum b/collector/lambdacomponents/go.sum index b7f940180c..4aabf62879 100644 --- a/collector/lambdacomponents/go.sum +++ b/collector/lambdacomponents/go.sum @@ -628,8 +628,6 @@ go.opentelemetry.io/collector/receiver/receivertest v0.151.0 h1:U1iALsnbrAM3QdT4 go.opentelemetry.io/collector/receiver/receivertest v0.151.0/go.mod h1:MBAEOfep8HMpdOcD5j1LOpP/GTjqz5hmZijGyYGxkGE= go.opentelemetry.io/collector/receiver/xreceiver v0.151.0 h1:Ib86H9rBBD76wmpKQFRlwYqugvxbDtq8Lg6bVROBw4k= go.opentelemetry.io/collector/receiver/xreceiver v0.151.0/go.mod h1:9Jqb3YKmgkZeLmHx5QBLBgdoLiu2T9q4B+o6LGTR/8U= -go.opentelemetry.io/collector/semconv v0.128.0 h1:MzYOz7Vgb3Kf5D7b49pqqgeUhEmOCuT10bIXb/Cc+k4= -go.opentelemetry.io/collector/semconv v0.128.0/go.mod h1:OPXer4l43X23cnjLXIZnRj/qQOjSuq4TgBLI76P9hns= go.opentelemetry.io/collector/service v0.151.0 h1:iqtaqHda+VjTICRclkT9tSiypu39vDzxC4SVA3pMCn4= go.opentelemetry.io/collector/service v0.151.0/go.mod h1:kFhq1YczwEJrvTv9ChVuKVCX9DIZyiAQJbNMvRXAJcM= go.opentelemetry.io/collector/service/hostcapabilities v0.151.0 h1:+VbDE5ZRXKD6nXVXpB2asVY0767SbE7GRbTeVncpwR0= diff --git a/collector/processor/coldstartprocessor/go.mod b/collector/processor/coldstartprocessor/go.mod index 8ca745a70b..de1dafede9 100644 --- a/collector/processor/coldstartprocessor/go.mod +++ b/collector/processor/coldstartprocessor/go.mod @@ -12,7 +12,7 @@ require ( go.opentelemetry.io/collector/processor v1.57.0 go.opentelemetry.io/collector/processor/processorhelper v0.151.0 go.opentelemetry.io/collector/processor/processortest v0.151.0 - go.opentelemetry.io/collector/semconv v0.128.0 + go.opentelemetry.io/otel v1.43.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.28.0 ) @@ -38,7 +38,6 @@ require ( go.opentelemetry.io/collector/pdata/testdata v0.151.0 // indirect go.opentelemetry.io/collector/pipeline v1.57.0 // indirect go.opentelemetry.io/collector/processor/xprocessor v0.151.0 // indirect - go.opentelemetry.io/otel v1.43.0 // indirect go.opentelemetry.io/otel/metric v1.43.0 // indirect go.opentelemetry.io/otel/sdk v1.43.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.43.0 // indirect diff --git a/collector/processor/coldstartprocessor/go.sum b/collector/processor/coldstartprocessor/go.sum index 9cd27920bd..cf5ff6248f 100644 --- a/collector/processor/coldstartprocessor/go.sum +++ b/collector/processor/coldstartprocessor/go.sum @@ -77,8 +77,6 @@ go.opentelemetry.io/collector/processor/processortest v0.151.0 h1:J+7wLfpyO+gE/y go.opentelemetry.io/collector/processor/processortest v0.151.0/go.mod h1:SKl5FdxTH4bsi90E8e1W79Q94Uoh+OfEMq7yoZqUYVE= go.opentelemetry.io/collector/processor/xprocessor v0.151.0 h1:TQhnUOP1vbdQ7zKD7SXfjtpthnfwWg23r8a6yeXDN84= go.opentelemetry.io/collector/processor/xprocessor v0.151.0/go.mod h1:36fKMHBSieF/Se9ErxfNJkMP40IkwerFcuVwG8oF/n0= -go.opentelemetry.io/collector/semconv v0.128.0 h1:MzYOz7Vgb3Kf5D7b49pqqgeUhEmOCuT10bIXb/Cc+k4= -go.opentelemetry.io/collector/semconv v0.128.0/go.mod h1:OPXer4l43X23cnjLXIZnRj/qQOjSuq4TgBLI76P9hns= go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= diff --git a/collector/processor/coldstartprocessor/processor.go b/collector/processor/coldstartprocessor/processor.go index 805169079d..94347a48a2 100644 --- a/collector/processor/coldstartprocessor/processor.go +++ b/collector/processor/coldstartprocessor/processor.go @@ -22,7 +22,7 @@ import ( "go.opentelemetry.io/collector/pdata/ptrace" "go.opentelemetry.io/collector/processor" "go.opentelemetry.io/collector/processor/processorhelper" - semconv "go.opentelemetry.io/collector/semconv/v1.5.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" "go.uber.org/zap" ) @@ -52,7 +52,7 @@ func (p *coldstartProcessor) processTraces(ctx context.Context, td ptrace.Traces if p.reported { return false } - if attr, ok := span.Attributes().Get(semconv.AttributeFaaSColdstart); ok && attr.Bool() { + if attr, ok := span.Attributes().Get(string(semconv.FaaSColdstartKey)); ok && attr.Bool() { if p.faasExecution == nil { sp := ptrace.NewSpan() p.coldstartSpan = &sp @@ -67,7 +67,7 @@ func (p *coldstartProcessor) processTraces(ctx context.Context, td ptrace.Traces return false } } - if _, ok := span.Attributes().Get(semconv.AttributeFaaSExecution); ok { + if _, ok := span.Attributes().Get(string(semconv.FaaSInvocationIDKey)); ok { if p.coldstartSpan == nil { p.faasExecution = &faasExecution{ span: ptrace.NewSpan(), diff --git a/collector/processor/coldstartprocessor/processor_test.go b/collector/processor/coldstartprocessor/processor_test.go index 8f30b10acd..893cc84d47 100644 --- a/collector/processor/coldstartprocessor/processor_test.go +++ b/collector/processor/coldstartprocessor/processor_test.go @@ -33,7 +33,7 @@ import ( "go.opentelemetry.io/collector/pdata/ptrace" "go.opentelemetry.io/collector/processor/processorhelper" "go.opentelemetry.io/collector/processor/processortest" - semconv "go.opentelemetry.io/collector/semconv/v1.5.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" "go.uber.org/multierr" ) @@ -57,7 +57,7 @@ func TestProcessor(t *testing.T) { input: func() ptrace.Traces { td := ptrace.NewTraces() span := td.ResourceSpans().AppendEmpty().ScopeSpans().AppendEmpty().Spans().AppendEmpty() - span.Attributes().PutBool(semconv.AttributeFaaSColdstart, true) + span.Attributes().PutBool(string(semconv.FaaSColdstartKey), true) return td }(), expected: ptrace.NewTraces(), @@ -81,7 +81,7 @@ func TestProcessor(t *testing.T) { input: func() ptrace.Traces { td := ptrace.NewTraces() span := td.ResourceSpans().AppendEmpty().ScopeSpans().AppendEmpty().Spans().AppendEmpty() - span.Attributes().PutBool(semconv.AttributeFaaSColdstart, true) + span.Attributes().PutBool(string(semconv.FaaSColdstartKey), true) span.Attributes().PutBool("faas.initialization", true) addExecutionSpan(td, executionTraceID) return td @@ -105,7 +105,7 @@ func TestProcessor(t *testing.T) { td := ptrace.NewTraces() addExecutionSpan(td, executionTraceID) span := td.ResourceSpans().AppendEmpty().ScopeSpans().AppendEmpty().Spans().AppendEmpty() - span.Attributes().PutBool(semconv.AttributeFaaSColdstart, true) + span.Attributes().PutBool(string(semconv.FaaSColdstartKey), true) span.Attributes().PutBool("faas.initialization", true) return td }(), @@ -164,7 +164,7 @@ func TestMultipleProcessTraces(t *testing.T) { input = ptrace.NewTraces() expected = ptrace.NewTraces() span := input.ResourceSpans().AppendEmpty().ScopeSpans().AppendEmpty().Spans().AppendEmpty() - span.Attributes().PutBool(semconv.AttributeFaaSColdstart, true) + span.Attributes().PutBool(string(semconv.FaaSColdstartKey), true) span.Attributes().PutBool("faas.initialization", true) input.CopyTo(expected) output, err = c.processTraces(context.Background(), input) @@ -186,7 +186,7 @@ func TestMultipleProcessTraces(t *testing.T) { input = ptrace.NewTraces() expected = ptrace.NewTraces() span = input.ResourceSpans().AppendEmpty().ScopeSpans().AppendEmpty().Spans().AppendEmpty() - span.Attributes().PutBool(semconv.AttributeFaaSColdstart, true) + span.Attributes().PutBool(string(semconv.FaaSColdstartKey), true) span.Attributes().PutBool("faas.initialization", true) input.CopyTo(expected) output, err = c.processTraces(context.Background(), input) @@ -225,17 +225,17 @@ func addExecutionSpan(td ptrace.Traces, id pcommon.TraceID) { ss.Scope().SetName("app/execution") span := ss.Spans().AppendEmpty() span.SetTraceID(id) - span.Attributes().PutStr(semconv.AttributeFaaSExecution, "af9d5aa4-a685-4c5f-a22b-444f80b3cc28") + span.Attributes().PutStr(string(semconv.FaaSInvocationIDKey), "af9d5aa4-a685-4c5f-a22b-444f80b3cc28") } func executionSpan(span ptrace.Span, id pcommon.TraceID) { span.SetTraceID(id) - span.Attributes().PutStr(semconv.AttributeFaaSExecution, "af9d5aa4-a685-4c5f-a22b-444f80b3cc28") + span.Attributes().PutStr(string(semconv.FaaSInvocationIDKey), "af9d5aa4-a685-4c5f-a22b-444f80b3cc28") } func initializationSpan(span ptrace.Span, id pcommon.TraceID) { span.SetTraceID(id) - span.Attributes().PutBool(semconv.AttributeFaaSColdstart, true) + span.Attributes().PutBool(string(semconv.FaaSColdstartKey), true) span.Attributes().PutBool("faas.initialization", true) } diff --git a/collector/receiver/telemetryapireceiver/go.mod b/collector/receiver/telemetryapireceiver/go.mod index 9c40ef4eb0..6616bfdd05 100644 --- a/collector/receiver/telemetryapireceiver/go.mod +++ b/collector/receiver/telemetryapireceiver/go.mod @@ -60,7 +60,7 @@ require ( go.opentelemetry.io/otel/sdk/metric v1.43.0 // indirect go.opentelemetry.io/otel/trace v1.43.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/sys v0.42.0 // indirect + golang.org/x/sys v0.43.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d // indirect google.golang.org/grpc v1.80.0 // indirect google.golang.org/protobuf v1.36.11 // indirect diff --git a/collector/receiver/telemetryapireceiver/go.sum b/collector/receiver/telemetryapireceiver/go.sum index c0c3f8cc4b..6e21f80285 100644 --- a/collector/receiver/telemetryapireceiver/go.sum +++ b/collector/receiver/telemetryapireceiver/go.sum @@ -59,7 +59,7 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/collector v0.150.0 h1:cH70CpB4xHQzk5s4p7CvX+IzHjsYQwuH62LcV4aKDxg= +go.opentelemetry.io/collector v0.151.0 h1:oLpn/4nHer84QumNauqg2W8UxdoeZaqgk2JHKnbR4nM= go.opentelemetry.io/collector/component v1.57.0 h1:WKIqx2Bs0JaAZxDEhsLradXpYxnwAxVFzWhQUmu2q3w= go.opentelemetry.io/collector/component v1.57.0/go.mod h1:rXLy5mV78e7Gqp/dzFB+nbAFSEuJCipJfp8LbkrvOMg= go.opentelemetry.io/collector/component/componenttest v0.151.0 h1:0rYcx913VAfD1VyVA9MKPjTrdinUaJGEaOhom8MX5zY= @@ -120,12 +120,12 @@ go.uber.org/zap v1.28.0 h1:IZzaP1Fv73/T/pBMLk4VutPl36uNC+OSUh3JLG3FIjo= go.uber.org/zap v1.28.0/go.mod h1:rDLpOi171uODNm/mxFcuYWxDsqWSAVkFdX4XojSKg/Q= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= -golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= -golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= -golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= -golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= +golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= +golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= +golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI= +golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= +golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d h1:wT2n40TBqFY6wiwazVK9/iTWbsQrgk5ZfCSVFLO9LQA= google.golang.org/genproto/googleapis/rpc v0.0.0-20260406210006-6f92a3bedf2d/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= diff --git a/collector/receiver/telemetryapireceiver/metric_builder.go b/collector/receiver/telemetryapireceiver/metric_builder.go index 8e8becc9bc..cb6e797281 100644 --- a/collector/receiver/telemetryapireceiver/metric_builder.go +++ b/collector/receiver/telemetryapireceiver/metric_builder.go @@ -20,7 +20,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - semconv "go.opentelemetry.io/otel/semconv/v1.25.0" + "go.opentelemetry.io/otel/semconv/v1.40.0/faasconv" ) const MiB = float64(1 << 20) @@ -284,10 +284,11 @@ func (c *CounterMetricBuilder) AppendDataPoints(scopeMetrics pmetric.ScopeMetric } func NewFaaSInvokeDurationMetricBuilder(startTime pcommon.Timestamp, temporality pmetric.AggregationTemporality) *HistogramMetricBuilder { + m := faasconv.InvokeDuration{} return NewHistogramMetricBuilder( - semconv.FaaSInvokeDurationName, - semconv.FaaSInvokeDurationDescription, - semconv.FaaSInvokeDurationUnit, + m.Name(), + m.Description(), + m.Unit(), DurationHistogramBounds, startTime, temporality, @@ -295,10 +296,11 @@ func NewFaaSInvokeDurationMetricBuilder(startTime pcommon.Timestamp, temporality } func NewFaaSInitDurationMetricBuilder(startTime pcommon.Timestamp, temporality pmetric.AggregationTemporality) *HistogramMetricBuilder { + m := faasconv.InitDuration{} return NewHistogramMetricBuilder( - semconv.FaaSInitDurationName, - semconv.FaaSInitDurationDescription, - semconv.FaaSInitDurationUnit, + m.Name(), + m.Description(), + m.Unit(), DurationHistogramBounds, startTime, temporality, @@ -306,10 +308,11 @@ func NewFaaSInitDurationMetricBuilder(startTime pcommon.Timestamp, temporality p } func NewFaaSMemUsageMetricBuilder(startTime pcommon.Timestamp, temporality pmetric.AggregationTemporality) *HistogramMetricBuilder { + m := faasconv.MemUsage{} return NewHistogramMetricBuilder( - semconv.FaaSMemUsageName, - semconv.FaaSMemUsageDescription, - semconv.FaaSMemUsageUnit, + m.Name(), + m.Description(), + m.Unit(), MemUsageHistogramBounds, startTime, temporality, @@ -317,10 +320,11 @@ func NewFaaSMemUsageMetricBuilder(startTime pcommon.Timestamp, temporality pmetr } func NewFaaSColdstartsMetricBuilder(startTime pcommon.Timestamp, temporality pmetric.AggregationTemporality) *CounterMetricBuilder { + m := faasconv.Coldstarts{} return NewCounterMetricBuilder( - semconv.FaaSColdstartsName, - semconv.FaaSColdstartsDescription, - semconv.FaaSColdstartsUnit, + m.Name(), + m.Description(), + m.Unit(), true, startTime, temporality, @@ -328,10 +332,11 @@ func NewFaaSColdstartsMetricBuilder(startTime pcommon.Timestamp, temporality pme } func NewFaaSErrorsMetricBuilder(startTime pcommon.Timestamp, temporality pmetric.AggregationTemporality) *CounterMetricBuilder { + m := faasconv.Errors{} return NewCounterMetricBuilder( - semconv.FaaSErrorsName, - semconv.FaaSErrorsDescription, - semconv.FaaSErrorsUnit, + m.Name(), + m.Description(), + m.Unit(), true, startTime, temporality, @@ -339,10 +344,11 @@ func NewFaaSErrorsMetricBuilder(startTime pcommon.Timestamp, temporality pmetric } func NewFaaSInvocationsMetricBuilder(startTime pcommon.Timestamp, temporality pmetric.AggregationTemporality) *CounterMetricBuilder { + m := faasconv.Invocations{} return NewCounterMetricBuilder( - semconv.FaaSInvocationsName, - semconv.FaaSInvocationsDescription, - semconv.FaaSInvocationsUnit, + m.Name(), + m.Description(), + m.Unit(), true, startTime, temporality, @@ -350,10 +356,11 @@ func NewFaaSInvocationsMetricBuilder(startTime pcommon.Timestamp, temporality pm } func NewFaaSTimeoutsMetricBuilder(startTime pcommon.Timestamp, temporality pmetric.AggregationTemporality) *CounterMetricBuilder { + m := faasconv.Timeouts{} return NewCounterMetricBuilder( - semconv.FaaSTimeoutsName, - semconv.FaaSTimeoutsDescription, - semconv.FaaSTimeoutsUnit, + m.Name(), + m.Description(), + m.Unit(), true, startTime, temporality, diff --git a/collector/receiver/telemetryapireceiver/metric_builder_test.go b/collector/receiver/telemetryapireceiver/metric_builder_test.go index 5d3e8bcbdf..982780acdb 100644 --- a/collector/receiver/telemetryapireceiver/metric_builder_test.go +++ b/collector/receiver/telemetryapireceiver/metric_builder_test.go @@ -22,7 +22,7 @@ import ( "github.com/stretchr/testify/require" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" - semconv "go.opentelemetry.io/otel/semconv/v1.25.0" + "go.opentelemetry.io/otel/semconv/v1.40.0/faasconv" ) func TestHistogramMetricBuilder_AppendDataPoint(t *testing.T) { @@ -202,9 +202,10 @@ func TestFaaSMetricBuilderFactories(t *testing.T) { t.Run("NewFasSInvokeDurationMetricBuilder", func(t *testing.T) { builder := NewFaaSInvokeDurationMetricBuilder(startTime, pmetric.AggregationTemporalityCumulative) - assert.Equal(t, semconv.FaaSInvokeDurationName, builder.name) - assert.Equal(t, semconv.FaaSInvokeDurationDescription, builder.description) - assert.Equal(t, semconv.FaaSInvokeDurationUnit, builder.unit) + m := faasconv.InvokeDuration{} + assert.Equal(t, m.Name(), builder.name) + assert.Equal(t, m.Description(), builder.description) + assert.Equal(t, m.Unit(), builder.unit) assert.Equal(t, DurationHistogramBounds, builder.bounds) assert.Equal(t, pmetric.AggregationTemporalityCumulative, builder.temporality) assert.Equal(t, startTime, builder.startTime) @@ -212,9 +213,10 @@ func TestFaaSMetricBuilderFactories(t *testing.T) { t.Run("NewFasSInitDurationMetricBuilder", func(t *testing.T) { builder := NewFaaSInitDurationMetricBuilder(startTime, pmetric.AggregationTemporalityCumulative) - assert.Equal(t, semconv.FaaSInitDurationName, builder.name) - assert.Equal(t, semconv.FaaSInitDurationDescription, builder.description) - assert.Equal(t, semconv.FaaSInitDurationUnit, builder.unit) + m := faasconv.InitDuration{} + assert.Equal(t, m.Name(), builder.name) + assert.Equal(t, m.Description(), builder.description) + assert.Equal(t, m.Unit(), builder.unit) assert.Equal(t, DurationHistogramBounds, builder.bounds) assert.Equal(t, pmetric.AggregationTemporalityCumulative, builder.temporality) assert.Equal(t, startTime, builder.startTime) @@ -222,9 +224,10 @@ func TestFaaSMetricBuilderFactories(t *testing.T) { t.Run("NewFaaSMemUsageMetricBuilder", func(t *testing.T) { builder := NewFaaSMemUsageMetricBuilder(startTime, pmetric.AggregationTemporalityCumulative) - assert.Equal(t, semconv.FaaSMemUsageName, builder.name) - assert.Equal(t, semconv.FaaSMemUsageDescription, builder.description) - assert.Equal(t, semconv.FaaSMemUsageUnit, builder.unit) + m := faasconv.MemUsage{} + assert.Equal(t, m.Name(), builder.name) + assert.Equal(t, m.Description(), builder.description) + assert.Equal(t, m.Unit(), builder.unit) assert.Equal(t, MemUsageHistogramBounds, builder.bounds) assert.Equal(t, pmetric.AggregationTemporalityCumulative, builder.temporality) assert.Equal(t, startTime, builder.startTime) @@ -232,9 +235,10 @@ func TestFaaSMetricBuilderFactories(t *testing.T) { t.Run("NewFaaSColdstartsMetricBuilder", func(t *testing.T) { builder := NewFaaSColdstartsMetricBuilder(startTime, pmetric.AggregationTemporalityCumulative) - assert.Equal(t, semconv.FaaSColdstartsName, builder.name) - assert.Equal(t, semconv.FaaSColdstartsDescription, builder.description) - assert.Equal(t, semconv.FaaSColdstartsUnit, builder.unit) + m := faasconv.Coldstarts{} + assert.Equal(t, m.Name(), builder.name) + assert.Equal(t, m.Description(), builder.description) + assert.Equal(t, m.Unit(), builder.unit) assert.True(t, builder.isMonotonic) assert.Equal(t, pmetric.AggregationTemporalityCumulative, builder.temporality) assert.Equal(t, startTime, builder.startTime) @@ -242,9 +246,10 @@ func TestFaaSMetricBuilderFactories(t *testing.T) { t.Run("NewFaaSErrorsMetricBuilder", func(t *testing.T) { builder := NewFaaSErrorsMetricBuilder(startTime, pmetric.AggregationTemporalityCumulative) - assert.Equal(t, semconv.FaaSErrorsName, builder.name) - assert.Equal(t, semconv.FaaSErrorsDescription, builder.description) - assert.Equal(t, semconv.FaaSErrorsUnit, builder.unit) + m := faasconv.Errors{} + assert.Equal(t, m.Name(), builder.name) + assert.Equal(t, m.Description(), builder.description) + assert.Equal(t, m.Unit(), builder.unit) assert.True(t, builder.isMonotonic) assert.Equal(t, pmetric.AggregationTemporalityCumulative, builder.temporality) assert.Equal(t, startTime, builder.startTime) @@ -252,9 +257,10 @@ func TestFaaSMetricBuilderFactories(t *testing.T) { t.Run("NewFaaSInvocationsMetricBuilder", func(t *testing.T) { builder := NewFaaSInvocationsMetricBuilder(startTime, pmetric.AggregationTemporalityCumulative) - assert.Equal(t, semconv.FaaSInvocationsName, builder.name) - assert.Equal(t, semconv.FaaSInvocationsDescription, builder.description) - assert.Equal(t, semconv.FaaSInvocationsUnit, builder.unit) + m := faasconv.Invocations{} + assert.Equal(t, m.Name(), builder.name) + assert.Equal(t, m.Description(), builder.description) + assert.Equal(t, m.Unit(), builder.unit) assert.True(t, builder.isMonotonic) assert.Equal(t, pmetric.AggregationTemporalityCumulative, builder.temporality) assert.Equal(t, startTime, builder.startTime) @@ -262,9 +268,10 @@ func TestFaaSMetricBuilderFactories(t *testing.T) { t.Run("NewFaaSTimeoutsMetricBuilder", func(t *testing.T) { builder := NewFaaSTimeoutsMetricBuilder(startTime, pmetric.AggregationTemporalityCumulative) - assert.Equal(t, semconv.FaaSTimeoutsName, builder.name) - assert.Equal(t, semconv.FaaSTimeoutsDescription, builder.description) - assert.Equal(t, semconv.FaaSTimeoutsUnit, builder.unit) + m := faasconv.Timeouts{} + assert.Equal(t, m.Name(), builder.name) + assert.Equal(t, m.Description(), builder.description) + assert.Equal(t, m.Unit(), builder.unit) assert.True(t, builder.isMonotonic) assert.Equal(t, pmetric.AggregationTemporalityCumulative, builder.temporality) assert.Equal(t, startTime, builder.startTime) @@ -284,13 +291,13 @@ func TestNewFaaSMetricBuilders(t *testing.T) { require.NotNil(t, builders.invocationsMetric) require.NotNil(t, builders.timeoutsMetric) - assert.Equal(t, semconv.FaaSInvokeDurationName, builders.invokeDurationMetric.name) - assert.Equal(t, semconv.FaaSInitDurationName, builders.initDurationMetric.name) - assert.Equal(t, semconv.FaaSMemUsageName, builders.memUsageMetric.name) - assert.Equal(t, semconv.FaaSColdstartsName, builders.coldstartsMetric.name) - assert.Equal(t, semconv.FaaSErrorsName, builders.errorsMetric.name) - assert.Equal(t, semconv.FaaSInvocationsName, builders.invocationsMetric.name) - assert.Equal(t, semconv.FaaSTimeoutsName, builders.timeoutsMetric.name) + assert.Equal(t, faasconv.InvokeDuration{}.Name(), builders.invokeDurationMetric.name) + assert.Equal(t, faasconv.InitDuration{}.Name(), builders.initDurationMetric.name) + assert.Equal(t, faasconv.MemUsage{}.Name(), builders.memUsageMetric.name) + assert.Equal(t, faasconv.Coldstarts{}.Name(), builders.coldstartsMetric.name) + assert.Equal(t, faasconv.Errors{}.Name(), builders.errorsMetric.name) + assert.Equal(t, faasconv.Invocations{}.Name(), builders.invocationsMetric.name) + assert.Equal(t, faasconv.Timeouts{}.Name(), builders.timeoutsMetric.name) } func TestDefaultHistogramBounds(t *testing.T) { diff --git a/collector/receiver/telemetryapireceiver/receiver.go b/collector/receiver/telemetryapireceiver/receiver.go index 5ce5025e73..7b29780735 100644 --- a/collector/receiver/telemetryapireceiver/receiver.go +++ b/collector/receiver/telemetryapireceiver/receiver.go @@ -39,7 +39,7 @@ import ( "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" "go.opentelemetry.io/collector/receiver" - semconv "go.opentelemetry.io/otel/semconv/v1.25.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" "go.uber.org/zap" ) diff --git a/collector/receiver/telemetryapireceiver/receiver_test.go b/collector/receiver/telemetryapireceiver/receiver_test.go index 7e549a628d..e86398e360 100644 --- a/collector/receiver/telemetryapireceiver/receiver_test.go +++ b/collector/receiver/telemetryapireceiver/receiver_test.go @@ -28,7 +28,8 @@ import ( "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/pdata/ptrace" "go.opentelemetry.io/collector/receiver/receivertest" - semconv "go.opentelemetry.io/otel/semconv/v1.25.0" + semconv "go.opentelemetry.io/otel/semconv/v1.40.0" + "go.opentelemetry.io/otel/semconv/v1.40.0/faasconv" ) func TestListenOnAddress(t *testing.T) { @@ -148,13 +149,13 @@ func TestRecordMetrics(t *testing.T) { sm := rm.ScopeMetrics().At(0) for i := 0; i < sm.Metrics().Len(); i++ { m := sm.Metrics().At(i) - if m.Name() == semconv.FaaSColdstartsName { + if m.Name() == (faasconv.Coldstarts{}).Name() { foundColdstart = true } - if m.Name() == semconv.FaaSInvocationsName { + if m.Name() == (faasconv.Invocations{}).Name() { foundInvocation = true } - if m.Name() == semconv.FaaSInvokeDurationName { + if m.Name() == (faasconv.InvokeDuration{}).Name() { foundDuration = true } } From 5493e84a5d2cab08e216c33f34f2e3b586eb4d78 Mon Sep 17 00:00:00 2001 From: wpessers Date: Sat, 9 May 2026 13:24:41 +0200 Subject: [PATCH 2/2] docs(collector): update coldstartprocessor docs --- collector/processor/coldstartprocessor/README.md | 2 +- collector/processor/coldstartprocessor/doc.go | 2 +- collector/processor/coldstartprocessor/processor_test.go | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/collector/processor/coldstartprocessor/README.md b/collector/processor/coldstartprocessor/README.md index 4ef1124c61..4958998956 100644 --- a/collector/processor/coldstartprocessor/README.md +++ b/collector/processor/coldstartprocessor/README.md @@ -7,7 +7,7 @@ | Distributions | [extension] | This processor associates cold start information generated by the [telemetryapireceiver](../../receiver/telemetryapireceiver) with incoming span data processed by -the Collector extension. It reads the following of incoming Lambda execution spans identified by the `faas.execution` attribute: +the Collector extension. It reads the following of incoming Lambda execution spans identified by the `faas.invocation_id` attribute: - trace ID - parent span ID diff --git a/collector/processor/coldstartprocessor/doc.go b/collector/processor/coldstartprocessor/doc.go index 445abb573b..01817c57a3 100644 --- a/collector/processor/coldstartprocessor/doc.go +++ b/collector/processor/coldstartprocessor/doc.go @@ -15,7 +15,7 @@ // Package coldstartprocessor correlates cold start information generated by the telemetryapireceiver // with incoming span data. // -// It reads the following of incoming Lambda execution spans identified by the faas.execution attribute: +// It reads the following of incoming Lambda execution spans identified by the faas.invocation_id attribute: // // - trace ID // - parent span ID diff --git a/collector/processor/coldstartprocessor/processor_test.go b/collector/processor/coldstartprocessor/processor_test.go index 893cc84d47..1580ded9d3 100644 --- a/collector/processor/coldstartprocessor/processor_test.go +++ b/collector/processor/coldstartprocessor/processor_test.go @@ -77,7 +77,7 @@ func TestProcessor(t *testing.T) { }(), }, { - desc: "faas.execution and faas.coldstart with coldstart is first", + desc: "faas.invocation_id and faas.coldstart with coldstart is first", input: func() ptrace.Traces { td := ptrace.NewTraces() span := td.ResourceSpans().AppendEmpty().ScopeSpans().AppendEmpty().Spans().AppendEmpty() @@ -100,7 +100,7 @@ func TestProcessor(t *testing.T) { reported: true, }, { - desc: "faas.execution and faas.coldstart with execution is first", + desc: "faas.invocation_id and faas.coldstart with execution is first", input: func() ptrace.Traces { td := ptrace.NewTraces() addExecutionSpan(td, executionTraceID)