[Enhancement] Add Tracing support in the core of broker #1919
Replies: 14 comments 1 reply
-
@ajatprabha Thanks for your idea. I appreciate your remark on helping on this! I have invested quite some work to explore this a couple months back, and laid out an architecture that can work with the Erlang SDK of OpenTelemetry. This allows OpenTelemetry tracing to be switched on and off. It still requires to add in-place wrappings around calls in the VerneMQ source code. In case tracing is switched off, they'd be no-ops. There's a certain technical complexity in all this, and the Erlang implementation of OpenTelemetry is still somewhat moving or stabilising currently. To be honest, though, the main decision here is wether this should be an open-source feature or not. |
Beta Was this translation helpful? Give feedback.
-
As of 2 days, OpenTelemetry Erlang is now 1.0.0 https://github.com/open-telemetry/opentelemetry-erlang |
Beta Was this translation helpful? Give feedback.
-
This would be great, i think is easier for MQTT 5 with a custom property to send a request ID |
Beta Was this translation helpful? Give feedback.
-
Is this something that you are still considering adding at some point? |
Beta Was this translation helpful? Give feedback.
-
Looking for this as well as I'd like to use OpenTelemetry for observability. |
Beta Was this translation helpful? Give feedback.
-
Here's your starting point for anyone interested: https://opentelemetry.io/docs/instrumentation/erlang/ |
Beta Was this translation helpful? Give feedback.
-
I have also thought about this, will be simpler to do with MQTT5 using
properties for the "request_id" but the protocol for 3.x MQTT is a bit
limiting to implement this, the "trace id" will need to come thru the
payload to not break the standard MQTT. If other systems are publishing to
VerneMQ and we need to know a good way of knowing how the payload specifies
that trace id
…On Wed, Oct 19, 2022 at 10:13 AM ioolkos ***@***.***> wrote:
Here's your starting point for anyone interested:
https://opentelemetry.io/docs/instrumentation/erlang/
Will happily review any instrumentation and plugin implementation! (and if
we can build up to a usable form, maintain as open source)
—
Reply to this email directly, view it on GitHub
<#1919 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABJD6C35GKPZTWCTILFQJ3WD76Z7ANCNFSM5J5PGMWA>
.
You are receiving this because you commented.Message ID:
***@***.***>
--
[image: created with MySignature.io]
Dairon Medina Caro
Freelance Software Developer
M: +1 (813) 325-6978 <+1+(813)+325-6978>
E: ***@***.***
dairon.org
[image: created with MySignature.io] <https://github.com/codeadict> [image:
created with MySignature.io] <http://codeadict>
<https://mysignature.io?utm_source=promotion&utm_medium=signature&utm_campaign=create_own_signature>
|
Beta Was this translation helpful? Give feedback.
-
Semantic Conventions for messaging systems: Suggestions on the v3/v5 format: Trace Context: MQTT protocol |
Beta Was this translation helpful? Give feedback.
-
Ohh that is gold @ioolkos!
…On Fri, Oct 21, 2022, 4:35 AM ioolkos ***@***.***> wrote:
*Semantic Conventions for messaging systems:*
https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/messaging/
Suggestions on the v3/v5 format:
*Trace Context: MQTT protocol*
https://w3c.github.io/trace-context-mqtt/
—
Reply to this email directly, view it on GitHub
<#1919 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABJD6CXD2QKUIS5ASMRNV3WEJIUHANCNFSM5J5PGMWA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I'll go through the material linked above, time permitting in the next couple days. |
Beta Was this translation helpful? Give feedback.
-
Started something, if anyone wants to chime in #2101 |
Beta Was this translation helpful? Give feedback.
-
Not looking a the PR yet but ideas of what could/should be traced:
|
Beta Was this translation helpful? Give feedback.
-
Great list of entry points. |
Beta Was this translation helpful? Give feedback.
-
I'm currently refining the points. One thing I'm tempted to do is to limit Distributed Tracing to MQTT v5. The reason for this is in the Trace Context specs linked above. For v5, we can have a |
Beta Was this translation helpful? Give feedback.
-
Is it possible to add tracing support in VerneMQ based on OpenTelemetry? I would also like to understand what performance implication it may bring.
Environment
Expected behaviour
Actual behaviour
PS: I'd be happy to contribute if this enhancement is taken into consideration.
Beta Was this translation helpful? Give feedback.
All reactions