Skip to content
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

Don't capture http.scheme, http.host and http.target if already capturing http.url #3700

Closed
trask opened this issue Jul 28, 2021 · 4 comments · Fixed by #4008 or #4209
Closed

Don't capture http.scheme, http.host and http.target if already capturing http.url #3700

trask opened this issue Jul 28, 2021 · 4 comments · Fixed by #4008 or #4209

Comments

@trask
Copy link
Member

trask commented Jul 28, 2021

http.scheme, http.host and http.target are redundant if already capturing http.url.

While more telemetry is good, this redundancy doesn't seem worth the (small) additional performance and storage costs.

@anuraaga
Copy link
Contributor

I guess my #3699 (comment) applies here too. I think we would want to make a call on if the performance matters at all, and if not then we should just remove one of those two versions from the HttpAttributes instrumentation API

@iNikem
Copy link
Contributor

iNikem commented Jul 28, 2021

@anuraaga
Copy link
Contributor

anuraaga commented Jul 28, 2021

Yeah but it seems to be not really enforced, just an end result? I think of a few options

  1. Populate as much of URL, scheme, host, target as possible, possibly by constructing, which I think is done by most implementations using Instrumenter API, perhaps not Tracer.
  • Making sure instrumentation populates as much as possible was one of its design goals which resulted in this
  1. Per instrumentation, decide to populate either URL or the triplet
  2. Decide to always populate URL for client, triplet for server
  • This could be modeled with the instrumentation API, I think we realized separately that splitting client an server can help writing instrumentation that only supports one of those modes
  1. Just always populate URL and forget the triplet to avoid cognitive load of this sort of knob
  1. seems OK if it's correct, I'm not 100% sure the assumption, especially on client side, is valid. If there isn't any consistent behavior, 4) for simplicity just seems OK as well.

@trask
Copy link
Member Author

trask commented Aug 30, 2021

At least until we "resolve #3700"

oops 😂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants