Enabling Telemetry Support with OpenTelemetry in Flowable Engine
Is your feature request related to a problem? Please describe.
Feature request to support telemetry in flowable-engine with consideration for CNCF standard: OpenTelemetry
Ref: https://forum.flowable.org/t/opentracing-support-in-flowable-profiling/5631
Describe the solution you'd like
I would like to get time series reports (telemetry) of entities and processes within the flowable engine to be externalized via a reporting class used to export attributes, metrics, traces, etc for OpenTelemetry.
@filiphr Would this be possible through AbstractEventFlowableEngineEventListener.java? - I see that the methods there are protected which makes this difficult. Need help understanding where to extend to observe and trace flowable events and come up with an impl if possible.
What is the AbstractEventFlowableEngineEventListener? I don't see this class on main?
Supporting OpenTelemetry is something that we are exploring a bit, but we can't provide a lot of details in the moment. From my understanding of OpenTelemetry we would need something that would be able to survive transactions. e.g. if a process is started through the REST API, reaches an async service task, does an HTTP call and finishes you would like to keep the same identifier in the async task as it was before, this allows you to track things properly, this means that we might need to store certain things on our side as well.
@filiphr I am able to extract some metrics from the engine whenever it utilized AbstractEventFlowableEngineEventListener https://www.flowable.com/open-source/docs/javadocs/org/flowable/engine/delegate/event/AbstractFlowableEngineEventListener.html and related classes though the codebase for the engine isn't really optimized for this - would like to see if I can contribute here and help OpenTelemetry support happen here.
would like to see if I can contribute here and help OpenTelemetry support happen here.
We would be happy to review any contribution you might have in this area. Feel free to create a PR and we can discuss on it.