-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
WebSockets Next: OTel integration #39143
Comments
hey @brunobat, is this WIP or can I have a look later this / next week? Feel free to share high-level plan if you have one or we could discuss this via DM. |
The plan is to wait a bit until it's 100% clear what API should we actually use. See also Bruno's Micrometer, Observation API and OpenTelemetry roadmap email. |
The email says nothing about WS and neither says description of this issue about waiting. I'm not sure why should integration differ to any other integration with Quarkus REST, gRPC etc. but I'll leave it to experts and let @brunobat handle this issue. Thank you for info |
hey @brunobat in case you want to help with this one when the time is right, ping me |
Created a meeting for next monday with @mkouba and @michalvavrik. If anyone else want to be there, please let me know. |
About tracing:
About Metrics:
In relation to the architecture of the solution we should proceed in a similar way we did for reactive messaging. |
@brunobat can you explain the tracing part a little more as I don't really understand it? Thanks |
Sure @geoand. The idea for tracing is that creating spans for individual messages does not make much sense because:
|
Gotcha, thanks |
status update: got OTel, Micrometer needs more tests. Will continue early next week. Here is how I understood and implemented Micrometer metrics so far:
count all responses from client and server endpoints, each broadcasted message is counted as well
counts all received messages by client and server endpoints, each multi item is accounted
counts all errors for all client endpoints, collerate to OnError (I call the metric client errors); I had a problem with original definition:
same as above but for server endpoints (I call the metric server errors)
counts bytes for messages returned from client / server endpoints
counts bytes for messages received by client / server endpoints These metrics are global - per all endpoints. It's not hard to add metrics per endpoint at all, but I didn't want to add something that wasn't agreed above. If you understand desired metrics differently than I do, I suggest short meeting would be more effective. Following metrics I suggest to leave out at the first stage. Maybe we can follow-up with them later:
Unclear how to define this metrics. They could be bytes received that we failed to decode, they could be bytes passed to the endpoint that thrown an error. I think it ignores that failure could happen before all the bytes were received (or any). Also that there are other errors when no bytes were received.
Analogous issues. |
Thanks for the update @michalvavrik! I personally don't understand |
#39143 (comment) wants messages per connection and destination, missed it till I re-read the description now, so my above-mentioned comment is not valid anymore. |
Updated the required metrics comment |
sounds good, thank you |
@michalvavrik ping. Any update? |
yeah, I was finishing other PRs. I'll look at it today (and in case separation will require more time, tomorrow). |
Description
Follow-up of #39142.
Implementation ideas
No response
The text was updated successfully, but these errors were encountered: