Skip to content

Commit ddfe2d4

Browse files
authored
fix(net/http: orchestrion): obfuscate query string parameters when auto-instrumenting (#3127)
1 parent 46362ed commit ddfe2d4

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

contrib/net/http/orchestrion.client.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ aspects:
5555
ddtrace: gopkg.in/DataDog/dd-trace-go.v1/ddtrace
5656
os: os
5757
links:
58+
- gopkg.in/DataDog/dd-trace-go.v1/internal
5859
- gopkg.in/DataDog/dd-trace-go.v1/internal/appsec
5960
- gopkg.in/DataDog/dd-trace-go.v1/internal/appsec/emitter/httpsec
6061
- gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer
@@ -87,6 +88,12 @@ aspects:
8788
//go:linkname __dd_httptrace_GetErrorCodesFromInput gopkg.in/DataDog/dd-trace-go.v1/contrib/internal/httptrace.GetErrorCodesFromInput
8889
func __dd_httptrace_GetErrorCodesFromInput(string) func(int) bool
8990
91+
//go:linkname __dd_httptrace_UrlFromRequest gopkg.in/DataDog/dd-trace-go.v1/contrib/internal/httptrace.UrlFromRequest
92+
func __dd_httptrace_UrlFromRequest(*Request, bool) string
93+
94+
//go:linkname __dd_internal_BoolEnv gopkg.in/DataDog/dd-trace-go.v1/internal.BoolEnv
95+
func __dd_internal_BoolEnv(string, bool) bool
96+
9097
type __dd_tracer_HTTPHeadersCarrier Header
9198
func (c __dd_tracer_HTTPHeadersCarrier) Set(key, val string) {
9299
Header(c).Set(key, val)
@@ -97,6 +104,8 @@ aspects:
97104
return statusCode >= 400 && statusCode < 500
98105
}
99106
107+
var __dd_queryStringEnabled = __dd_internal_BoolEnv("DD_TRACE_HTTP_CLIENT_TAG_QUERY_STRING", true)
108+
100109
func init() {
101110
v := os.Getenv("DD_TRACE_HTTP_CLIENT_ERROR_STATUSES")
102111
if fn := __dd_httptrace_GetErrorCodesFromInput(v); fn != nil {
@@ -130,7 +139,7 @@ aspects:
130139
__dd_tracer_SpanType(ext.SpanTypeHTTP),
131140
__dd_tracer_ResourceName(resourceName),
132141
__dd_tracer_Tag(ext.HTTPMethod, {{ $req }}.Method),
133-
__dd_tracer_Tag(ext.HTTPURL, url.String()),
142+
__dd_tracer_Tag(ext.HTTPURL, __dd_httptrace_UrlFromRequest({{ $req }}, __dd_queryStringEnabled)),
134143
__dd_tracer_Tag(ext.Component, "net/http"),
135144
__dd_tracer_Tag(ext.SpanKind, ext.SpanKindClient),
136145
__dd_tracer_Tag(ext.NetworkDestinationName, url.Hostname()),

internal/orchestrion/_integration/aws.v2/base.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ package awsv2
99

1010
import (
1111
"context"
12-
"fmt"
1312
"testing"
1413

1514
"github.com/DataDog/dd-trace-go/internal/orchestrion/_integration/internal/containers"
@@ -67,7 +66,7 @@ func (b *base) expectedTraces() trace.Traces {
6766
Meta: map[string]string{
6867
"http.method": "POST",
6968
"http.status_code": "200",
70-
"http.url": fmt.Sprintf("http://localhost:%s/", b.port),
69+
"http.url": "/",
7170
"network.destination.name": "localhost",
7271
"component": "net/http",
7372
"span.kind": "client",

0 commit comments

Comments
 (0)