From d2ae8dc3cb849b165b02fcfec9fb015903d5e64b Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Fri, 11 Aug 2023 16:20:12 +0000 Subject: [PATCH] remote-write: add http.resend_count tracing attribute As recommended by the OpenTelemetry semantic conventions. https://opentelemetry.io/docs/specs/otel/trace/semantic_conventions/http/#http-client Signed-off-by: Bryan Boreham --- storage/remote/queue_manager.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/storage/remote/queue_manager.go b/storage/remote/queue_manager.go index 3edd31b91..1c834db77 100644 --- a/storage/remote/queue_manager.go +++ b/storage/remote/queue_manager.go @@ -29,6 +29,7 @@ import ( "github.com/prometheus/common/model" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" + semconv "go.opentelemetry.io/otel/semconv/v1.17.0" "go.uber.org/atomic" "github.com/prometheus/prometheus/config" @@ -545,6 +546,10 @@ func (t *QueueManager) sendMetadataWithBackoff(ctx context.Context, metadata []p attribute.String("remote_name", t.storeClient.Name()), attribute.String("remote_url", t.storeClient.Endpoint()), ) + // Attributes defined by OpenTelemetry semantic conventions. + if try > 0 { + span.SetAttributes(semconv.HTTPResendCount(try)) + } begin := time.Now() err := t.storeClient.Store(ctx, req)