From 2734903886a7537194522cd4011ca369c027b001 Mon Sep 17 00:00:00 2001 From: jianchenma Date: Thu, 28 Jan 2021 13:51:23 +0800 Subject: [PATCH] tracing baggage --- net/ghttp/ghttp_middleware_tracing.go | 2 ++ net/ghttp/internal/client/client_tracing.go | 1 + net/ghttp/internal/client/client_tracing_tracer.go | 2 ++ 3 files changed, 5 insertions(+) diff --git a/net/ghttp/ghttp_middleware_tracing.go b/net/ghttp/ghttp_middleware_tracing.go index 5ff2c2e49..67cbcfa73 100644 --- a/net/ghttp/ghttp_middleware_tracing.go +++ b/net/ghttp/ghttp_middleware_tracing.go @@ -26,6 +26,7 @@ const ( tracingMaxContentLogSize = 512 * 1024 // Max log size for request and response body. tracingEventHttpRequest = "http.request" tracingEventHttpRequestHeaders = "http.request.headers" + tracingEventHttpRequestBaggage = "http.request.baggage" tracingEventHttpRequestBody = "http.request.body" tracingEventHttpResponse = "http.response" tracingEventHttpResponseHeaders = "http.response.headers" @@ -71,6 +72,7 @@ func MiddlewareServerTracing(r *Request) { } span.AddEvent(tracingEventHttpRequest, trace.WithAttributes( label.Any(tracingEventHttpRequestHeaders, httputil.HeaderToMap(r.Header)), + label.Any(tracingEventHttpRequestBaggage, gtrace.GetBaggageMap(ctx).Map()), label.String(tracingEventHttpRequestBody, reqBodyContent), )) diff --git a/net/ghttp/internal/client/client_tracing.go b/net/ghttp/internal/client/client_tracing.go index c7b8c2393..25c71b674 100644 --- a/net/ghttp/internal/client/client_tracing.go +++ b/net/ghttp/internal/client/client_tracing.go @@ -32,6 +32,7 @@ const ( tracingAttrHttpConnectDone = "http.connect.done" tracingEventHttpRequest = "http.request" tracingEventHttpRequestHeaders = "http.request.headers" + tracingEventHttpRequestBaggage = "http.request.baggage" tracingEventHttpRequestBody = "http.request.body" tracingEventHttpResponse = "http.response" tracingEventHttpResponseHeaders = "http.response.headers" diff --git a/net/ghttp/internal/client/client_tracing_tracer.go b/net/ghttp/internal/client/client_tracing_tracer.go index 9279f5593..b97b4c971 100644 --- a/net/ghttp/internal/client/client_tracing_tracer.go +++ b/net/ghttp/internal/client/client_tracing_tracer.go @@ -11,6 +11,7 @@ import ( "crypto/tls" "fmt" "github.com/gogf/gf/internal/utils" + "github.com/gogf/gf/net/gtrace" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/label" "go.opentelemetry.io/otel/trace" @@ -154,6 +155,7 @@ func (ct *clientTracer) wroteRequest(info httptrace.WroteRequestInfo) { } ct.span.AddEvent(tracingEventHttpRequest, trace.WithAttributes( label.Any(tracingEventHttpRequestHeaders, ct.headers), + label.Any(tracingEventHttpRequestBaggage, gtrace.GetBaggageMap(ct.Context).Map()), label.String(tracingEventHttpRequestBody, bodyContent), )) }