-
Notifications
You must be signed in to change notification settings - Fork 459
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
[Feature]: Port opentelemetry-http to hyper 1.x #1427
Comments
With the upgrade I think we should also upgrade the version of We can either
|
As I understand in the community meeting this week, it was agreed to go with the first option above i.e., delete all the HTTP clients not supporting HTTP 1.0, and bring them back once the support is there. |
Other than the http cteates. Tonic also depends on the |
cc: @KallDrexx |
After going through this upgrade for our project, I would definitely advise waiting on this until when/if tonic updates. I had to abort our upgrade for now because of the tonic dependency, and couldn't get them to work side by side easily, at least in the few hours I tried. |
I take that back. It took some figuring out but in our product I was able to get hyper middle ware with hyper 1.0 and http 1.0 to work with tonic 0.2. So it looks like it should be possible to support both and not have to wait for tonic's upgrade (which doesn't seem to be progressing very fast). |
Would it need to be in the form of a temporary feature or something like that? |
I can look into the hyper middle ware or if you want feel free to take this issue @KallDrexx |
I should be able to take this up later in the week. |
I took an hour or two to look at this, and reqwest is another issue: seanmonstar/reqwest#2039. It's possible to do, but since |
What do you think about https://github.com/algesten/ureq instead of reqwest? |
I totally forgot we discussed removing reqwest and other non-1.x compatible libraries, so ignore my last comment |
I think I'm going to have to pull my volunteering for this task. There's a lot of context here that I'm missing on why things are set up the way they are, that I find it hard to make any concrete decisions. The This is a fundamental difference because the This means the user is still responsible for managing the client and building the request they want, and adding opentelemetry's info after the fact. This isn't a huge ordeal, because no matter what users still need to build the request they need anyway. It's also trivial for any user to create a wrapper to always add otel headers as needed. So much of the code relies on these custom OpenTelemetry http client wrappings that it's not trivial to redo everything to remove reqwest. And it just feels like the wrong abstraction from my point of view, but like I said, I do not know the original context of why things are set up the way they are. |
Any chance this will get prioritized? This effectively blocks consumers of |
It seems like |
That probably unblocks this. I've been pretty slammed lately though so it might take me a bit to circle back around to this. |
As the person who was responsible for starting the opentelemetry-http crate (#415) please don't overestimate the amount of planning -- I think I was merely extracting a bunch of repetitive/related code into one place that seemed more coherent than what came before. If you are in a position to implement a more modular API, I think that would be great -- there are already traits for injecting/extracting headers so maybe those provide a useful starting point? |
I gave this a quick shot but got blocked on In theory, this doesn't block |
I think it would be reasonable to attempt to separate the dependencies of |
FWIF the roll_dice demo works with hyper@1.x I'm not sure if this is sufficient to support the proposal for separation of -otlp and -http, on its face, but it's evidence that at least the opentelemetry-sdk is fine with hyper@1.x. FWIF, in general, the ecosystem looks healthier if packages are relatively decoupled and are free to upgrade critical dependencies asyncrhonously. If they can't, it smells like poor separation of concerns. Understanding there's complexity etc. caveats - nonetheless. |
Related Problems?
hyperium/tonic#1307
Describe the solution you'd like:
Hyper 1.0 has been released and as such it'd be nice to upgrade opentelemetry-http's
HttpClient
to the new versionConsidered Alternatives
No response
Additional Context
No response
The text was updated successfully, but these errors were encountered: