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

OpenTelemetry support for MQTT pub/sub with Application Insights Java agent #3625

Open
ralarcon opened this issue Apr 5, 2024 · 1 comment

Comments

@ralarcon
Copy link

ralarcon commented Apr 5, 2024

Is your feature request related to a problem? Please describe.
We need to track and correlate telemetry data across a distributed system that spans both Azure-hosted micro-services and on-premises components which some of those use an MQTT broker for pub/sub operations.

Actually we need to be able to correlate telemetry between Azure hosted micro-services (in AKS) which publish data to a on-premises MQTT broker; There are a subscriber on-premises which handles the published messages and implement different actions, which finally end up using other Azure Services (Event Hubs, Cosmos Db...). Our need is to be able to track request started in Azure, with the on-premises actions, and back with the Azure requests.

Describe the solution you would like
Be able to automatically correlate the request originated from the AKS hosted micro-services and on-premises components which already use the Application Insights Java agent among all the stack.

Describe alternatives you have considered
Use new MQTT 5.0 user properties to propagate the operation_id in pub/sub operations, but it requires to introduce custom code where we are already using the Application Insights Java agent.

Additional context
We use Java across all micro-services & components. We currently use Applications insights in both Azure hosted micro-services and on-premises micro-services.

For MQTT pub/sub operations we currently use HiveMQ client and EMQX broker:

EMQX broker can even propagate the operation_id automatically if it is populated to be used within their metrics: https://www.emqx.io/docs/en/latest/observability/open-telemetry/traces.html

@trask
Copy link
Member

trask commented Apr 23, 2024

hi @ralarcon!

all of the Application Insights Java agent instrumentation comes from the upstream OpenTelemetry Java agent or from the instrumented library itself.

you could open an issue in https://github.com/open-telemetry/opentelemetry-java-instrumentation for supporting HiveMQ client and/or an issue in https://github.com/hivemq/hivemq-mqtt-client for supporting OpenTelemetry

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

No branches or pull requests

2 participants