From fcf120f12e0342a312da020498a8cae280c88ff4 Mon Sep 17 00:00:00 2001 From: Mayank Pande Date: Wed, 3 Apr 2024 16:09:46 +0530 Subject: [PATCH] fix: added request body in tracing data --- containers/container.go | 4 ++-- tracing/tracing.go | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/containers/container.go b/containers/container.go index d753d1ca..a4ae3ba5 100644 --- a/containers/container.go +++ b/containers/container.go @@ -613,8 +613,8 @@ func (c *Container) onL7Request(pid uint32, fd uint64, timestamp uint64, r *l7.R switch r.Protocol { case l7.ProtocolHTTP: stats.observe(r.Status.Http(), "", r.Duration) - method, path := l7.ParseHttp(r.Payload) - trace.HttpRequest(method, path, r.Status, r.Duration) + method, path, payload := l7.ParseHttpAndRest(r.Payload) + trace.HttpRequest(method, path, r.Status, r.Duration, r.PayloadSize, payload) case l7.ProtocolHTTP2: if conn.http2Parser == nil { conn.http2Parser = l7.NewHttp2Parser() diff --git a/tracing/tracing.go b/tracing/tracing.go index 98a7fce3..386e113b 100644 --- a/tracing/tracing.go +++ b/tracing/tracing.go @@ -98,7 +98,7 @@ func (t *Trace) createSpan(name string, duration time.Duration, error bool, attr span.End(trace.WithTimestamp(end)) } -func (t *Trace) HttpRequest(method, path string, status l7.Status, duration time.Duration) { +func (t *Trace) HttpRequest(method, path string, status l7.Status, duration time.Duration, requestSize uint64, requestBody string) { if t == nil || method == "" { return } @@ -106,6 +106,8 @@ func (t *Trace) HttpRequest(method, path string, status l7.Status, duration time semconv.HTTPURL(fmt.Sprintf("http://%s%s", t.destination.String(), path)), semconv.HTTPMethod(method), semconv.HTTPStatusCode(int(status)), + semconv.HTTPRequestContentLength(int(requestSize)), + attribute.Key("http.request_body").String(requestBody), ) }