-
Notifications
You must be signed in to change notification settings - Fork 565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove high cardanility metrics from otelhttp #4277
Remove high cardanility metrics from otelhttp #4277
Conversation
Codecov Report
@@ Coverage Diff @@
## main #4277 +/- ##
======================================
Coverage 79.4% 79.5%
======================================
Files 166 166
Lines 10376 10677 +301
======================================
+ Hits 8246 8491 +245
- Misses 1996 2045 +49
- Partials 134 141 +7 |
instrumentation/github.com/gin-gonic/gin/otelgin/internal/semconvutil/httpconv.go
Show resolved
Hide resolved
instrumentation/github.com/gin-gonic/gin/otelgin/internal/semconvutil/httpconv.go
Outdated
Show resolved
Hide resolved
instrumentation/github.com/emicklei/go-restful/otelrestful/internal/semconvutil/httpconv.go
Show resolved
Hide resolved
Make the otelhttp use the new function Add test for new function.
Weird. Why @dmathieu 's previous suggestion is not applied to this PR:
And what's the community's suggestion towards similar attributes? My own instrumentation library also needs some |
This PR solves from a potential memory leak issue, since the values from those attributes are coming from untrusted sources. |
@dmathieu @pellared @MadVikingGod do you plan to add a similar solution to otelgrpc to avoid high cardinality there as well? (I think reported here: #3071) |
This does not upgrade to the latest semantic convention, that will be a different PR.
This removes the following attributes from the metrics that
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
generates:net.sock.peer.addr
net.sock.peer.port
http.user_agent
enduser.id
http.client_ip
This also only allows
http.request.method
to be known HTTP methods, or_OTHER
.Resolve open-telemetry/opentelemetry-go#3765