StephenOTT / camunda-prometheus-process-engine-plugin

Monitor your KPIs!!! Camunda BPM Process Engine Plugin providing Prometheus Monitoring, Metric classes for various BPMN use, Grafana Annotations, and HTTPServer data export: Used to generate Prometheus metrics anywhere in the Engine, including BPMN, CMN, and DMN engines and instances.
MIT License
53 stars 23 forks source link

Use Case Tracking #19

Open StephenOTT opened 6 years ago

StephenOTT commented 6 years ago

Tracking various use cases for testing and brevity

  1. Microservice Orchestration with Service Activities and External Task Activitys

  2. Service Task Actvities Delegation Code performance tracking

  3. Variable value monitoring to provide aggregated values

  4. Job Executor performance tracking

  5. Groups of Activity Durations that make up a "performance" metric: Ability to track total durations without using Intermediate Events as markers.

  6. Reducing Camunda History levels to very minimal collection and minimal history storage TTL, in efforts to increase engine performance; tracking the throughput of performance heavy activities and job executor activities that are penalizing the overall throughput

  7. Tracking job executor throughput and identifying problem activities or processes.

  8. Identity Timer Definitions that are stacking up instances (often due to looping conditionals gateways)

  9. DMN throughput

  10. Monitoring of Incidents

  11. Multi-Engine Tracking

  12. Multi-Container monitoring when they are the same

  13. Alerting about performance or any sort of metric

  14. New Deployment alerting and tracking

  15. Variable Size Tracking: Tracking which variables are starting to eat up the most bytes in the DB and possibly clean those up.

  16. Which Messages and Receive Tasks are stacking or processing the most

  17. Mulit-Instance that is stacking up LARGE number of instances to block the job executor

  18. Tracking Locks and Concurrency issues

  19. Tracking specific errors

  20. Down Time monitoring

  21. Server version roll outs: Which instances of the servers have the specific updates rolled out to them in a cluster setup

  22. Cluster monitoring

  23. PLugin Activation: which plugins are active on which clusters

  24. Extend a ProcessEngineError class with a custom handler allowing errors throughout the system to be counted: Example: The number of specific errors occurring from a Process Instance cannot start due to a roll back.

  25. certain number of active instances that contain a variable of a certain value (use case explanation: being able to generate alerts based on number of instances with that variable value. This can be easily implemented with Gauges and listeners to update the gauge on every change or using conditional events. But this becomes a annoyance of having to update the BPMN. Need to find the way to implement this as a internal listener without having to continually update the BPMN.)

  26. what periods they expect the most processes instances started for a specific process.

  27. how durations of task and process instances are related to process variables and task workers: Adding the Variables creates a much more complex set of dimensions that creates a exponential increase in timeseries tracking.