-
Notifications
You must be signed in to change notification settings - Fork 91
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
feat: Support http.route
attribute for gin
and chi
#1359
Conversation
6528c2f
to
35ef7a1
Compare
d7d64e4
to
afa4e69
Compare
afa4e69
to
10a3aea
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not in favor of accepting these changes:
- This change is > 2k lines
- It does not address the reasons we removed this instrumentation in the first place: Remove gin specific probes #780
- It is adding excessive probe code to the codebase prior to resolution of Custom Probes #1105
I don't follow, how are we able to produce telemetry for gin as exemplified in our end-to-end tests? |
@MrAlias The e2e test is written like this line.
It passed by this line.
I ran the e2e test by this workflow. Below is the backtrace from Delve attached to our nethttp example. (
And this is the one for our Gin example. (
|
@iBluemind Thank you for the contribution! I didn't go in-depth to the code yet, just addressing @MrAlias points:
|
I understand the name is different. But I'm not seeing that as justification in adding redundant telemetry as identified (and fixed by) #780. |
I agree that having 3 probes(nethttp, gin, chi) seems like a bit of redundancy. Is there a better way to do this? |
Can we update the |
That would be better, thank you |
The name of the HTTP span must be low-cardinality.
To achieve this, the
http.route
attribute can be included in the span's name.Semantic conventions for HTTP spans
However, most Go-based web frameworks use different methods for parsing routing paths.
It's not feasible to handle all cases with just an eBPF probe for
net/http
.Therefore I submit a patch that adds the eBPF probe support for gin and chi frameworks.