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

[FEATURE REQ] Expose metrics from AMQP SDKs #25605

Closed
Tracked by #23952
lmolkova opened this issue Nov 22, 2021 · 3 comments
Closed
Tracked by #23952

[FEATURE REQ] Expose metrics from AMQP SDKs #25605

lmolkova opened this issue Nov 22, 2021 · 3 comments
Assignees
Labels
Event Hubs feature-request This issue requires a new behavior in the product in order be resolved. OpenTelemetry OpenTelemetry instrumentation Service Bus
Milestone

Comments

@lmolkova
Copy link
Member

lmolkova commented Nov 22, 2021

More context in #25604 #25603

In this issue, we'd need to

  1. define a few generally useful metrics for AMQP libraries, e.g.
    • number of events sent/received/processed/checkpointed
    • connection/link events counters
    • offset lag for received/checkpointed events
    • dimensions for all metrics (e.g. partitionId, etc)
  2. Implement them in Event Hubs and/or ServiceBus SDKs
  3. Document and rely on them in troubleshooting guides/TSG.

It gives customers signals to investigate some configuration and transient network issues and gives us more context with potential SDK issues.

@ghost ghost added the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Nov 22, 2021
@chenrujun
Copy link

cc: @stliu , @saragluna .

FYI: Maybe we can support it in our layer after sdk supported this feature.

@ghost ghost removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Nov 22, 2021
@cykl
Copy link
Contributor

cykl commented Dec 10, 2021

@lmolkova Would you mind describing how offset lag for received/checkpointed events would be computed?

A few months ago, I filled #19391 and ended up implementing some code to track the lag in offset and seconds of received events. Basically, it's something like lastEnqueuedProperties.getOffset( ).doubleValue( ) - eventContext.getEventData( ).getOffset( ).doubleValue( ) which is likely similar to the received part of this issue.

This works quite well for some class of problems. However, it doesn't cover the case where for some reason the application stop consuming message from a partition. Would the checkpointed events part solve this shortcoming? Or does it boils down to updating a metrics when the checkpoint of a specific partition is updated by its lease owner? Later option would share the same limitation than my current implementation: no being able to detect that consumption (partially) stopped for whatever reason.

@joshfree joshfree added the feature-request This issue requires a new behavior in the product in order be resolved. label Jan 28, 2022
@joshfree joshfree moved this to Planned in Java SDKs Azure Core Apr 5, 2022
@anuchandy anuchandy changed the title Expose metrics from AMQP SDKs FEATURE REQ Expose metrics from AMQP SDKs Apr 26, 2022
@anuchandy anuchandy changed the title FEATURE REQ Expose metrics from AMQP SDKs [FEATURE REQ] Expose metrics from AMQP SDKs Apr 26, 2022
@lmolkova lmolkova moved this from Planned to In Progress in Java SDKs Azure Core Aug 19, 2022
@conniey conniey added the OpenTelemetry OpenTelemetry instrumentation label Aug 23, 2022
@lmolkova lmolkova added this to the 2022-10 milestone Sep 19, 2022
@lmolkova
Copy link
Member Author

Done in #31024, #31283, #30583.

Metrics specs: https://gist.github.com/lmolkova/489a2b280b8fa68e4c3780c2afaa3b39

Documentation is tracked in #30562

Repository owner moved this from In Progress to Done in Java SDKs Azure Core Oct 13, 2022
@github-actions github-actions bot locked and limited conversation to collaborators Apr 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Event Hubs feature-request This issue requires a new behavior in the product in order be resolved. OpenTelemetry OpenTelemetry instrumentation Service Bus
Projects
Status: Done
Development

No branches or pull requests

5 participants