You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Node has had these features for a while and I think it would be worth it to re-implement Moleculer's tracing on top of them. This would have the benefit of decoupling the instrumentation from tracing, and it would enable APM vendors like Datadog or standards like OpenTelemetry to use the events instead of having to monkey-patch the library.
Basically, diagnostics_channel can be used to publish diagnostics information globally, and AsyncResource can be used to keep track of asynchronous operations so that each operation runs in the right continuation context.
I don't have time to open a PR for it right now but I thought I would at least throw the idea out there to see what others think. We've already decoupled the instrumentation from tracing in dd-trace, and this is what it currently looks like:
On the Datadog side, we are also exploring adding more of these events to dd-trace which could further simplify the Datadog exporter from Moleculer, although I'd probably suggest instead to focus the effort for built-in tracing to OpenTelemetry since it already has exporters for most vendors (already being discussed in #1062).
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Node has had these features for a while and I think it would be worth it to re-implement Moleculer's tracing on top of them. This would have the benefit of decoupling the instrumentation from tracing, and it would enable APM vendors like Datadog or standards like OpenTelemetry to use the events instead of having to monkey-patch the library.
Basically,
diagnostics_channel
can be used to publish diagnostics information globally, andAsyncResource
can be used to keep track of asynchronous operations so that each operation runs in the right continuation context.I don't have time to open a PR for it right now but I thought I would at least throw the idea out there to see what others think. We've already decoupled the instrumentation from tracing in dd-trace, and this is what it currently looks like:
On the Datadog side, we are also exploring adding more of these events to dd-trace which could further simplify the Datadog exporter from Moleculer, although I'd probably suggest instead to focus the effort for built-in tracing to OpenTelemetry since it already has exporters for most vendors (already being discussed in #1062).
Beta Was this translation helpful? Give feedback.
All reactions