-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomersreadyProblem understood well. Ready for development.Problem understood well. Ready for development.
Description
Status
- Concept approved
- ready to be implemented, although it doesn't specify precisely what traces and metrics it should be implementing. Start simple, define foundation, discover on the go.
- contributors welcome
Description
Define monitor that produces OpenTelemetry traces and metrics for tracking Maiko performance.
Ideas
Automatic metrics
- actor events counter - number of events sent from an actor and received by it
- topic events counter - number of events per topic
- delivery time - histogram - time between event send and receive
- step execution time - per actor
- errors counter - per actor
- overflow metrics - number of events dropped/blocked (per actor) or actors failed due to overflow
Configurable metrics
- time between two correlated events specified by user
Contributing
If you know OTEL well, then implementing it should be straight-forward. The only thing it requires is custom implementation of Monitor trait. If interested - you are very welcome to contribute.
Implementation
- As it requires extra dependencies (
opentelemetrycrate), defineotelfeature for it - Avoid creating any specific OTEL connections and configuration - assume that happen outside of Maiko
- initialize with
opentelemetry::metrics::Meterinstance and use it for sending metrics. Analogically for traces. - more advanced (likely - out of scope) -
span_idcould be added toMetafor additional correlation
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomersreadyProblem understood well. Ready for development.Problem understood well. Ready for development.