Skip to content

Commit 9c4d094

Browse files
committed
otelhttp on the client
1 parent f80a781 commit 9c4d094

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

caddyconfig/httploader.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,19 @@
1515
package caddyconfig
1616

1717
import (
18+
"context"
1819
"crypto/tls"
1920
"crypto/x509"
2021
"fmt"
2122
"io"
2223
"net/http"
24+
"net/http/httptrace"
2325
"os"
2426
"time"
2527

2628
"github.com/caddyserver/caddy/v2"
29+
"go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace"
30+
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
2731
)
2832

2933
func init() {
@@ -170,6 +174,12 @@ func doHttpCallWithRetries(ctx caddy.Context, client *http.Client, request *http
170174
func (hl HTTPLoader) makeClient(ctx caddy.Context) (*http.Client, error) {
171175
client := &http.Client{
172176
Timeout: time.Duration(hl.Timeout),
177+
Transport: otelhttp.NewTransport(
178+
http.DefaultTransport,
179+
otelhttp.WithClientTrace(func(ctx context.Context) *httptrace.ClientTrace {
180+
return otelhttptrace.NewClientTrace(ctx)
181+
}),
182+
),
173183
}
174184

175185
if hl.TLS != nil {

go.mod

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ require (
3131
github.com/yuin/goldmark v1.7.8
3232
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc
3333
go.opentelemetry.io/contrib/exporters/autoexport v0.60.0
34-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0
34+
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.60.0
35+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0
3536
go.opentelemetry.io/contrib/propagators/autoprop v0.42.0
3637
go.opentelemetry.io/otel v1.35.0
3738
go.opentelemetry.io/otel/sdk v1.35.0

go.sum

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -538,8 +538,10 @@ go.opentelemetry.io/contrib/exporters/autoexport v0.60.0 h1:GuQXpvSXNjpswpweIem8
538538
go.opentelemetry.io/contrib/exporters/autoexport v0.60.0/go.mod h1:CkmxekdHco4d7thFJNPQ7Mby4jMBgZUclnrxT4e+ryk=
539539
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg=
540540
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0=
541-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s=
542-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM=
541+
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.60.0 h1:0tY123n7CdWMem7MOVdKOt0YfshufLCwfE5Bob+hQuM=
542+
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.60.0/go.mod h1:CosX/aS4eHnG9D7nESYpV753l4j9q5j3SL/PUYd2lR8=
543+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU=
544+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ=
543545
go.opentelemetry.io/contrib/propagators/autoprop v0.42.0 h1:s2RzYOAqHVgG23q8fPWYChobUoZM6rJZ98EnylJr66w=
544546
go.opentelemetry.io/contrib/propagators/autoprop v0.42.0/go.mod h1:Mv/tWNtZn+NbALDb2XcItP0OM3lWWZjAfSroINxfW+Y=
545547
go.opentelemetry.io/contrib/propagators/aws v1.17.0 h1:IX8d7l2uRw61BlmZBOTQFaK+y22j6vytMVTs9wFrO+c=

0 commit comments

Comments
 (0)