Skip to content

Commit

Permalink
fix: adjust span kind for HTTP client (#287)
Browse files Browse the repository at this point in the history
All our HTTP requests are outbound to a remote set, so we should set
the span kind to `client`.
  • Loading branch information
jta authored May 31, 2024
1 parent f534b29 commit 126f552
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions tracing/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"github.com/go-logr/logr"
"github.com/hashicorp/go-retryablehttp"
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
"go.opentelemetry.io/otel/sdk/trace"
"go.opentelemetry.io/otel/trace"
)

// leveledLogger provides an adapter between logr.Logger and retryablehttp.LeveledLogger.
Expand Down Expand Up @@ -38,7 +38,7 @@ type HTTPClientConfig struct {
HTTPClient *http.Client
UserAgent *string
Logger *logr.Logger
TracerProvider *trace.TracerProvider
TracerProvider trace.TracerProvider
}

func NewHTTPClient(cfg *HTTPClientConfig) *http.Client {
Expand Down Expand Up @@ -79,7 +79,12 @@ func NewHTTPClient(cfg *HTTPClientConfig) *http.Client {
}
}
return &http.Client{
Transport: otelhttp.NewTransport(transport, otelhttp.WithTracerProvider(cfg.TracerProvider)),
Transport: otelhttp.NewTransport(transport,
otelhttp.WithTracerProvider(cfg.TracerProvider),
otelhttp.WithSpanOptions(
trace.WithSpanKind(trace.SpanKindClient),
),
),
}
}

Expand Down

0 comments on commit 126f552

Please sign in to comment.