Skip to content

Commit e68c2df

Browse files
committed
otel client
1 parent 674dec1 commit e68c2df

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() {
@@ -169,6 +173,12 @@ func doHttpCallWithRetries(ctx caddy.Context, client *http.Client, request *http
169173

170174
func (hl HTTPLoader) makeClient(ctx caddy.Context) (*http.Client, error) {
171175
client := &http.Client{
176+
Transport: otelhttp.NewTransport(
177+
http.DefaultTransport,
178+
otelhttp.WithClientTrace(func(ctx context.Context) *httptrace.ClientTrace {
179+
return otelhttptrace.NewClientTrace(ctx)
180+
}),
181+
),
172182
Timeout: time.Duration(hl.Timeout),
173183
}
174184

go.mod

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ require (
3030
github.com/yuin/goldmark v1.7.1
3131
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc
3232
go.opentelemetry.io/contrib/exporters/autoexport v0.53.0
33-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0
33+
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.53.0
34+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0
3435
go.opentelemetry.io/contrib/propagators/autoprop v0.42.0
3536
go.opentelemetry.io/otel v1.28.0
3637
go.opentelemetry.io/otel/sdk v1.28.0

go.sum

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -448,8 +448,10 @@ go.opentelemetry.io/contrib/exporters/autoexport v0.53.0 h1:13K+tY7E8GJInkrvRiPA
448448
go.opentelemetry.io/contrib/exporters/autoexport v0.53.0/go.mod h1:lyQF6xQ4iDnMg4sccNdFs1zf62xd79YI8vZqKjOTwMs=
449449
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg=
450450
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0=
451-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk=
452-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw=
451+
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.53.0 h1:IVtyPth4Rs5P8wIf0mP2KVKFNTJ4paX9qQ4Hkh5gFdc=
452+
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.53.0/go.mod h1:ImRBLMJv177/pwiLZ7tU7HDGNdBv7rS0HQ99eN/zBl8=
453+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0 h1:4K4tsIXefpVJtvA/8srF4V4y0akAoPHkIslgAkjixJA=
454+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.53.0/go.mod h1:jjdQuTGVsXV4vSs+CJ2qYDeDPf9yIJV23qlIzBm73Vg=
453455
go.opentelemetry.io/contrib/propagators/autoprop v0.42.0 h1:s2RzYOAqHVgG23q8fPWYChobUoZM6rJZ98EnylJr66w=
454456
go.opentelemetry.io/contrib/propagators/autoprop v0.42.0/go.mod h1:Mv/tWNtZn+NbALDb2XcItP0OM3lWWZjAfSroINxfW+Y=
455457
go.opentelemetry.io/contrib/propagators/aws v1.17.0 h1:IX8d7l2uRw61BlmZBOTQFaK+y22j6vytMVTs9wFrO+c=

0 commit comments

Comments
 (0)