-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
HTTP instrumentation doesn't work properly with http/2 #272
Comments
InstrumentHandler is massively deprecated. There won't be any fixes or maintenance on it. We are already working on a replacement. I'll add this concern to the doc comment. |
@beorn7 thanks. Is there a place where I can investigate the replacement? |
It will show up in branches/PRs ASAP. The tracking issue is #224 . |
The tracked issue has been closed, but I'm still seeing issues.
|
Thanks for the catch. I'll work an a fix ASAP (or @stuartnelson3 might… ;). |
Hm, I might need some guidance from @beorn7 after a bit of initial investigation ... Since we're seeing a panic in a It seems like we should have gone into the other branch with the |
We do not accommodate all possible combination of interface upgrades (that would be 32 different combinations…), but only four: no upgrade, only Pusher, CloseNotifier & Flusher & Hijacker & ReaderFrom, and all five, assuming these are the common combinations. But I guess we have now hit another case. The wrapped writer implements Pusher, but not all of the four others, so we end up with the pushDelegator. I guess we need to do some research to find the actually occurring combinations (or bite the bullet and implement all 32… I'm sure somebody wrote some code generation script for that ;). |
@jeromegn Branch https://github.com/prometheus/client_golang/tree/beorn7/http should have the fixed version. Perhaps you have time to verify in your scenario. |
@beorn7 thanks for bitting the bullet! It does work now. |
\o/ Change is merged. If you build from master, things should work now. |
The
http.ResponseWrite
passed to the inner handler doesn't implementhttp.Flusher
,http.CloseNotifier
andhttp.Pusher
when using http/2.The text was updated successfully, but these errors were encountered: