From 50956e336aaa4e57f8259e8ae416f18796352dcb Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Fri, 23 May 2025 16:27:05 -0700 Subject: [PATCH 1/2] Upgrade semconv to 1.32.0 in otelgrpc --- .../grpc/otelgrpc/interceptor.go | 2 +- .../grpc/otelgrpc/internal/parse.go | 2 +- .../grpc/otelgrpc/internal/parse_test.go | 2 +- .../grpc/otelgrpc/stats_handler.go | 144 ++++++------------ .../otelgrpc/test/grpc_stats_handler_test.go | 63 ++++---- .../grpc/otelgrpc/test/grpc_test.go | 2 +- .../grpc/otelgrpc/test/interceptor_test.go | 2 +- .../grpc/otelgrpc/test/stats_handler_test.go | 21 +-- 8 files changed, 95 insertions(+), 143 deletions(-) diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go b/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go index f63513d456c..fa2d97541d9 100644 --- a/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go +++ b/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go @@ -22,7 +22,7 @@ import ( "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/internal" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" - semconv "go.opentelemetry.io/otel/semconv/v1.30.0" + semconv "go.opentelemetry.io/otel/semconv/v1.32.0" "go.opentelemetry.io/otel/trace" ) diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse.go b/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse.go index 1fa73c2f943..31f34d0ac79 100644 --- a/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse.go +++ b/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse.go @@ -8,7 +8,7 @@ import ( "strings" "go.opentelemetry.io/otel/attribute" - semconv "go.opentelemetry.io/otel/semconv/v1.30.0" + semconv "go.opentelemetry.io/otel/semconv/v1.32.0" ) // ParseFullMethod returns a span name following the OpenTelemetry semantic diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse_test.go b/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse_test.go index 8ff3dcecc04..b7ccfa46742 100644 --- a/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse_test.go +++ b/instrumentation/google.golang.org/grpc/otelgrpc/internal/parse_test.go @@ -7,7 +7,7 @@ import ( "testing" "go.opentelemetry.io/otel/attribute" - semconv "go.opentelemetry.io/otel/semconv/v1.30.0" + semconv "go.opentelemetry.io/otel/semconv/v1.32.0" "github.com/stretchr/testify/assert" ) diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/stats_handler.go b/instrumentation/google.golang.org/grpc/otelgrpc/stats_handler.go index 9bec51df339..25036a0c62d 100644 --- a/instrumentation/google.golang.org/grpc/otelgrpc/stats_handler.go +++ b/instrumentation/google.golang.org/grpc/otelgrpc/stats_handler.go @@ -17,8 +17,8 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/metric" - "go.opentelemetry.io/otel/metric/noop" - semconv "go.opentelemetry.io/otel/semconv/v1.30.0" + semconv "go.opentelemetry.io/otel/semconv/v1.32.0" + "go.opentelemetry.io/otel/semconv/v1.32.0/rpcconv" "go.opentelemetry.io/otel/trace" "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/internal" @@ -38,11 +38,11 @@ type serverHandler struct { tracer trace.Tracer - duration metric.Float64Histogram - inSize metric.Int64Histogram - outSize metric.Int64Histogram - inMsg metric.Int64Histogram - outMsg metric.Int64Histogram + duration rpcconv.ServerDuration + inSize rpcconv.ServerRequestSize + outSize rpcconv.ServerResponseSize + inMsg rpcconv.ServerRequestsPerRPC + outMsg rpcconv.ServerResponsesPerRPC } // NewServerHandler creates a stats.Handler for a gRPC server. @@ -62,64 +62,29 @@ func NewServerHandler(opts ...Option) stats.Handler { ) var err error - h.duration, err = meter.Float64Histogram( - semconv.RPCServerDurationName, - metric.WithDescription(semconv.RPCServerDurationDescription), - metric.WithUnit(semconv.RPCServerDurationUnit), - ) + h.duration, err = rpcconv.NewServerDuration(meter) if err != nil { otel.Handle(err) - if h.duration == nil { - h.duration = noop.Float64Histogram{} - } } - h.inSize, err = meter.Int64Histogram( - semconv.RPCServerRequestSizeName, - metric.WithDescription(semconv.RPCServerRequestSizeDescription), - metric.WithUnit(semconv.RPCServerRequestSizeUnit), - ) + h.inSize, err = rpcconv.NewServerRequestSize(meter) if err != nil { otel.Handle(err) - if h.inSize == nil { - h.inSize = noop.Int64Histogram{} - } } - h.outSize, err = meter.Int64Histogram( - semconv.RPCServerResponseSizeName, - metric.WithDescription(semconv.RPCServerResponseSizeDescription), - metric.WithUnit(semconv.RPCServerResponseSizeUnit), - ) + h.outSize, err = rpcconv.NewServerResponseSize(meter) if err != nil { otel.Handle(err) - if h.outSize == nil { - h.outSize = noop.Int64Histogram{} - } } - h.inMsg, err = meter.Int64Histogram( - semconv.RPCServerRequestsPerRPCName, - metric.WithDescription(semconv.RPCServerRequestsPerRPCDescription), - metric.WithUnit(semconv.RPCServerRequestsPerRPCUnit), - ) + h.inMsg, err = rpcconv.NewServerRequestsPerRPC(meter) if err != nil { otel.Handle(err) - if h.inMsg == nil { - h.inMsg = noop.Int64Histogram{} - } } - h.outMsg, err = meter.Int64Histogram( - semconv.RPCServerResponsesPerRPCName, - metric.WithDescription(semconv.RPCServerResponsesPerRPCDescription), - metric.WithUnit(semconv.RPCServerResponsesPerRPCUnit), - ) + h.outMsg, err = rpcconv.NewServerResponsesPerRPC(meter) if err != nil { otel.Handle(err) - if h.outMsg == nil { - h.outMsg = noop.Int64Histogram{} - } } return h @@ -165,7 +130,16 @@ func (h *serverHandler) TagRPC(ctx context.Context, info *stats.RPCTagInfo) cont // HandleRPC processes the RPC stats. func (h *serverHandler) HandleRPC(ctx context.Context, rs stats.RPCStats) { - h.handleRPC(ctx, rs, h.duration, h.inSize, h.outSize, h.inMsg, h.outMsg, serverStatus) + h.handleRPC( + ctx, + rs, + h.duration.Inst(), + h.inSize, + h.outSize, + h.inMsg.Inst(), + h.outMsg.Inst(), + serverStatus, + ) } type clientHandler struct { @@ -173,11 +147,11 @@ type clientHandler struct { tracer trace.Tracer - duration metric.Float64Histogram - inSize metric.Int64Histogram - outSize metric.Int64Histogram - inMsg metric.Int64Histogram - outMsg metric.Int64Histogram + duration rpcconv.ClientDuration + inSize rpcconv.ClientResponseSize + outSize rpcconv.ClientRequestSize + inMsg rpcconv.ClientResponsesPerRPC + outMsg rpcconv.ClientRequestsPerRPC } // NewClientHandler creates a stats.Handler for a gRPC client. @@ -197,64 +171,29 @@ func NewClientHandler(opts ...Option) stats.Handler { ) var err error - h.duration, err = meter.Float64Histogram( - semconv.RPCClientDurationName, - metric.WithDescription(semconv.RPCClientDurationDescription), - metric.WithUnit(semconv.RPCClientDurationUnit), - ) + h.duration, err = rpcconv.NewClientDuration(meter) if err != nil { otel.Handle(err) - if h.duration == nil { - h.duration = noop.Float64Histogram{} - } } - h.outSize, err = meter.Int64Histogram( - semconv.RPCClientRequestSizeName, - metric.WithDescription(semconv.RPCClientRequestSizeDescription), - metric.WithUnit(semconv.RPCClientRequestSizeUnit), - ) + h.inSize, err = rpcconv.NewClientResponseSize(meter) if err != nil { otel.Handle(err) - if h.outSize == nil { - h.outSize = noop.Int64Histogram{} - } } - h.inSize, err = meter.Int64Histogram( - semconv.RPCClientResponseSizeName, - metric.WithDescription(semconv.RPCClientResponseSizeDescription), - metric.WithUnit(semconv.RPCClientResponseSizeUnit), - ) + h.outSize, err = rpcconv.NewClientRequestSize(meter) if err != nil { otel.Handle(err) - if h.inSize == nil { - h.inSize = noop.Int64Histogram{} - } } - h.outMsg, err = meter.Int64Histogram( - semconv.RPCClientRequestsPerRPCName, - metric.WithDescription(semconv.RPCClientRequestsPerRPCDescription), - metric.WithUnit(semconv.RPCClientRequestsPerRPCUnit), - ) + h.inMsg, err = rpcconv.NewClientResponsesPerRPC(meter) if err != nil { otel.Handle(err) - if h.outMsg == nil { - h.outMsg = noop.Int64Histogram{} - } } - h.inMsg, err = meter.Int64Histogram( - semconv.RPCClientResponsesPerRPCName, - metric.WithDescription(semconv.RPCClientResponsesPerRPCDescription), - metric.WithUnit(semconv.RPCClientResponsesPerRPCUnit), - ) + h.outMsg, err = rpcconv.NewClientRequestsPerRPC(meter) if err != nil { otel.Handle(err) - if h.inMsg == nil { - h.inMsg = noop.Int64Histogram{} - } } return h @@ -290,7 +229,13 @@ func (h *clientHandler) TagRPC(ctx context.Context, info *stats.RPCTagInfo) cont // HandleRPC processes the RPC stats. func (h *clientHandler) HandleRPC(ctx context.Context, rs stats.RPCStats) { h.handleRPC( - ctx, rs, h.duration, h.inSize, h.outSize, h.inMsg, h.outMsg, + ctx, + rs, + h.duration.Inst(), + h.inSize, + h.outSize, + h.inMsg.Inst(), + h.outMsg.Inst(), func(s *status.Status) (codes.Code, string) { return codes.Error, s.Message() }, @@ -307,11 +252,16 @@ func (h *clientHandler) HandleConn(context.Context, stats.ConnStats) { // no-op } +type int64Hist interface { + Record(context.Context, int64, ...attribute.KeyValue) +} + func (c *config) handleRPC( ctx context.Context, rs stats.RPCStats, duration metric.Float64Histogram, - inSize, outSize, inMsg, outMsg metric.Int64Histogram, + inSize, outSize int64Hist, + inMsg, outMsg metric.Int64Histogram, recordStatus func(*status.Status) (codes.Code, string), ) { gctx, _ := ctx.Value(gRPCContextKey{}).(*gRPCContext) @@ -327,7 +277,7 @@ func (c *config) handleRPC( case *stats.InPayload: if gctx != nil { messageId = atomic.AddInt64(&gctx.inMessages, 1) - inSize.Record(ctx, int64(rs.Length), metric.WithAttributes(gctx.metricAttrs...)) + inSize.Record(ctx, int64(rs.Length), gctx.metricAttrs...) } if c.ReceivedEvent && span.IsRecording() { @@ -343,7 +293,7 @@ func (c *config) handleRPC( case *stats.OutPayload: if gctx != nil { messageId = atomic.AddInt64(&gctx.outMessages, 1) - outSize.Record(ctx, int64(rs.Length), metric.WithAttributes(gctx.metricAttrs...)) + outSize.Record(ctx, int64(rs.Length), gctx.metricAttrs...) } if c.SentEvent && span.IsRecording() { diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/test/grpc_stats_handler_test.go b/instrumentation/google.golang.org/grpc/otelgrpc/test/grpc_stats_handler_test.go index eeaa60332b5..60d0a4124fe 100644 --- a/instrumentation/google.golang.org/grpc/otelgrpc/test/grpc_stats_handler_test.go +++ b/instrumentation/google.golang.org/grpc/otelgrpc/test/grpc_stats_handler_test.go @@ -27,7 +27,8 @@ import ( "go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest" "go.opentelemetry.io/otel/sdk/trace" "go.opentelemetry.io/otel/sdk/trace/tracetest" - semconv "go.opentelemetry.io/otel/semconv/v1.30.0" + semconv "go.opentelemetry.io/otel/semconv/v1.32.0" + "go.opentelemetry.io/otel/semconv/v1.32.0/rpcconv" oteltrace "go.opentelemetry.io/otel/trace" "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" @@ -727,9 +728,9 @@ func checkClientMetrics(t *testing.T, reader metric.Reader) { }, Metrics: []metricdata.Metrics{ { - Name: semconv.RPCClientDurationName, - Description: semconv.RPCClientDurationDescription, - Unit: semconv.RPCClientDurationUnit, + Name: rpcconv.ClientDuration{}.Name(), + Description: rpcconv.ClientDuration{}.Description(), + Unit: rpcconv.ClientDuration{}.Unit(), Data: metricdata.Histogram[float64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[float64]{ @@ -777,9 +778,9 @@ func checkClientMetrics(t *testing.T, reader metric.Reader) { }, }, { - Name: semconv.RPCClientRequestSizeName, - Description: semconv.RPCClientRequestSizeDescription, - Unit: semconv.RPCClientRequestSizeUnit, + Name: rpcconv.ClientRequestSize{}.Name(), + Description: rpcconv.ClientRequestSize{}.Description(), + Unit: rpcconv.ClientRequestSize{}.Unit(), Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[int64]{ @@ -852,9 +853,9 @@ func checkClientMetrics(t *testing.T, reader metric.Reader) { }, }, { - Name: semconv.RPCClientResponseSizeName, - Description: semconv.RPCClientResponseSizeDescription, - Unit: semconv.RPCClientResponseSizeUnit, + Name: rpcconv.ClientResponseSize{}.Name(), + Description: rpcconv.ClientResponseSize{}.Description(), + Unit: rpcconv.ClientResponseSize{}.Unit(), Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[int64]{ @@ -927,9 +928,9 @@ func checkClientMetrics(t *testing.T, reader metric.Reader) { }, }, { - Name: semconv.RPCClientRequestsPerRPCName, - Description: semconv.RPCClientRequestsPerRPCDescription, - Unit: semconv.RPCClientRequestsPerRPCUnit, + Name: rpcconv.ClientRequestsPerRPC{}.Name(), + Description: rpcconv.ClientRequestsPerRPC{}.Description(), + Unit: rpcconv.ClientRequestsPerRPC{}.Unit(), Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[int64]{ @@ -1007,9 +1008,9 @@ func checkClientMetrics(t *testing.T, reader metric.Reader) { }, }, { - Name: semconv.RPCClientResponsesPerRPCName, - Description: semconv.RPCClientResponsesPerRPCDescription, - Unit: semconv.RPCClientResponsesPerRPCUnit, + Name: rpcconv.ClientResponsesPerRPC{}.Name(), + Description: rpcconv.ClientResponsesPerRPC{}.Description(), + Unit: rpcconv.ClientResponsesPerRPC{}.Unit(), Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[int64]{ @@ -1105,9 +1106,9 @@ func checkServerMetrics(t *testing.T, reader metric.Reader) { }, Metrics: []metricdata.Metrics{ { - Name: semconv.RPCServerDurationName, - Description: semconv.RPCServerDurationDescription, - Unit: semconv.RPCServerDurationUnit, + Name: rpcconv.ServerDuration{}.Name(), + Description: rpcconv.ServerDuration{}.Description(), + Unit: rpcconv.ServerDuration{}.Unit(), Data: metricdata.Histogram[float64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[float64]{ @@ -1155,9 +1156,9 @@ func checkServerMetrics(t *testing.T, reader metric.Reader) { }, }, { - Name: semconv.RPCServerRequestSizeName, - Description: semconv.RPCServerRequestSizeDescription, - Unit: semconv.RPCServerRequestSizeUnit, + Name: rpcconv.ServerRequestSize{}.Name(), + Description: rpcconv.ServerRequestSize{}.Description(), + Unit: rpcconv.ServerRequestSize{}.Unit(), Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[int64]{ @@ -1230,9 +1231,9 @@ func checkServerMetrics(t *testing.T, reader metric.Reader) { }, }, { - Name: semconv.RPCServerResponseSizeName, - Description: semconv.RPCServerResponseSizeDescription, - Unit: semconv.RPCServerResponseSizeUnit, + Name: rpcconv.ServerResponseSize{}.Name(), + Description: rpcconv.ServerResponseSize{}.Description(), + Unit: rpcconv.ServerResponseSize{}.Unit(), Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[int64]{ @@ -1305,9 +1306,9 @@ func checkServerMetrics(t *testing.T, reader metric.Reader) { }, }, { - Name: semconv.RPCServerRequestsPerRPCName, - Description: semconv.RPCServerRequestsPerRPCDescription, - Unit: semconv.RPCServerRequestsPerRPCUnit, + Name: rpcconv.ServerRequestsPerRPC{}.Name(), + Description: rpcconv.ServerRequestsPerRPC{}.Description(), + Unit: rpcconv.ServerRequestsPerRPC{}.Unit(), Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[int64]{ @@ -1385,9 +1386,9 @@ func checkServerMetrics(t *testing.T, reader metric.Reader) { }, }, { - Name: semconv.RPCServerResponsesPerRPCName, - Description: semconv.RPCServerResponsesPerRPCDescription, - Unit: semconv.RPCServerResponsesPerRPCUnit, + Name: rpcconv.ServerResponsesPerRPC{}.Name(), + Description: rpcconv.ServerResponsesPerRPC{}.Description(), + Unit: rpcconv.ServerResponsesPerRPC{}.Unit(), Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[int64]{ diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/test/grpc_test.go b/instrumentation/google.golang.org/grpc/otelgrpc/test/grpc_test.go index 3f4ce9ef813..906020827a2 100644 --- a/instrumentation/google.golang.org/grpc/otelgrpc/test/grpc_test.go +++ b/instrumentation/google.golang.org/grpc/otelgrpc/test/grpc_test.go @@ -20,7 +20,7 @@ import ( "go.opentelemetry.io/otel/sdk/instrumentation" "go.opentelemetry.io/otel/sdk/trace" "go.opentelemetry.io/otel/sdk/trace/tracetest" - semconv "go.opentelemetry.io/otel/semconv/v1.30.0" + semconv "go.opentelemetry.io/otel/semconv/v1.32.0" pb "google.golang.org/grpc/interop/grpc_testing" ) diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/test/interceptor_test.go b/instrumentation/google.golang.org/grpc/otelgrpc/test/interceptor_test.go index adabb3f54b3..a611feaf01d 100644 --- a/instrumentation/google.golang.org/grpc/otelgrpc/test/interceptor_test.go +++ b/instrumentation/google.golang.org/grpc/otelgrpc/test/interceptor_test.go @@ -17,7 +17,7 @@ import ( "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/sdk/trace" "go.opentelemetry.io/otel/sdk/trace/tracetest" - semconv "go.opentelemetry.io/otel/semconv/v1.30.0" + semconv "go.opentelemetry.io/otel/semconv/v1.32.0" oteltrace "go.opentelemetry.io/otel/trace" "github.com/stretchr/testify/assert" diff --git a/instrumentation/google.golang.org/grpc/otelgrpc/test/stats_handler_test.go b/instrumentation/google.golang.org/grpc/otelgrpc/test/stats_handler_test.go index 4ca0ab845b6..499275db83f 100644 --- a/instrumentation/google.golang.org/grpc/otelgrpc/test/stats_handler_test.go +++ b/instrumentation/google.golang.org/grpc/otelgrpc/test/stats_handler_test.go @@ -20,7 +20,8 @@ import ( "go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest" "go.opentelemetry.io/otel/sdk/trace" "go.opentelemetry.io/otel/sdk/trace/tracetest" - semconv "go.opentelemetry.io/otel/semconv/v1.30.0" + semconv "go.opentelemetry.io/otel/semconv/v1.32.0" + "go.opentelemetry.io/otel/semconv/v1.32.0/rpcconv" ) func TestStatsHandlerHandleRPCServerErrors(t *testing.T) { @@ -69,9 +70,9 @@ func assertStatsHandlerServerMetrics(t *testing.T, reader metric.Reader, service Scope: wantInstrumentationScope, Metrics: []metricdata.Metrics{ { - Name: string(semconv.RPCServerDurationName), - Description: string(semconv.RPCServerDurationDescription), - Unit: string(semconv.RPCServerDurationUnit), + Name: rpcconv.ServerDuration{}.Name(), + Description: rpcconv.ServerDuration{}.Description(), + Unit: rpcconv.ServerDuration{}.Unit(), Data: metricdata.Histogram[float64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[float64]{ @@ -88,9 +89,9 @@ func assertStatsHandlerServerMetrics(t *testing.T, reader metric.Reader, service }, }, { - Name: string(semconv.RPCServerRequestsPerRPCName), - Description: string(semconv.RPCServerRequestsPerRPCDescription), - Unit: string(semconv.RPCServerRequestsPerRPCUnit), + Name: rpcconv.ServerRequestsPerRPC{}.Name(), + Description: rpcconv.ServerRequestsPerRPC{}.Description(), + Unit: rpcconv.ServerRequestsPerRPC{}.Unit(), Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[int64]{ @@ -107,9 +108,9 @@ func assertStatsHandlerServerMetrics(t *testing.T, reader metric.Reader, service }, }, { - Name: string(semconv.RPCServerResponsesPerRPCName), - Description: string(semconv.RPCServerResponsesPerRPCDescription), - Unit: string(semconv.RPCServerResponsesPerRPCUnit), + Name: rpcconv.ServerResponsesPerRPC{}.Name(), + Description: rpcconv.ServerResponsesPerRPC{}.Description(), + Unit: rpcconv.ServerResponsesPerRPC{}.Unit(), Data: metricdata.Histogram[int64]{ Temporality: metricdata.CumulativeTemporality, DataPoints: []metricdata.HistogramDataPoint[int64]{ From 6878bdb3565455c346bc928193908f81757600a1 Mon Sep 17 00:00:00 2001 From: Tyler Yahn Date: Fri, 23 May 2025 16:30:01 -0700 Subject: [PATCH 2/2] Add a changelog entry --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31603887631..239a1b63b0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ## [Unreleased] +### Changed + +- The semantic conventions have been upgraded from `v1.30.0` to `v1.33.0` in `go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc`. (#7361) +