This app provides process monitoring in realtime for Apache Pulsar.

Event Input

Events are received from a configurable Pulsar topic.

An event is a simple JSON containing 3 fields:

  • Unique id of the business process, such as an orderid.

  • Name of the stage (activity) in the process, such as Shipment Ready.

  • A numeric value of the process to compute a KPI, such as orderamount.

Events must arrive in the order in which the corresponding stages are performed.

Process Model

Events form a dynamic process model as shown here:

Not every process will run through the same stages. There are deviations - called variants - from the optimal path (aka happy path):

This picture's variants result from re-ordering products from producers in a warehouse system caused by empty racks and create delays at various stages.

Process monitoring helps you identify and optimize these variants.

Happy Path

The Happy Path is the optimal path of a process. It can be defined statically during setup:

It then turns into a reference path of the process with all other variants are deviations from it.

If you don’t define a static Happy Path, the Process Analyzer builds it dynamically by weighting the links between stages. Links with the highest weight form the Happy Path. The base of the weight is either the throughput of a link or the average value. Depending on which data you display, the dynamic Happy Path might be different.

Event Output / Automation

You can react to dynamic process model changes by defining events sent to other Pulsar topics at the same Pulsar broker.

These events are:

  • Stage events (stage created, process checkin, process checkout)

  • Link events (link created, process travels a link)

  • Alerts (process stays for too long at a stage)

For example, in the above model, you could define an event for process checkin on stage Shipment Ready and send it to Pulsar topic shipment_pickup for the pickup.

Benchmarking

Every 15 minutes, a snapshot of the current process model is taken and stored in history for up to 10 days. This allows you to perform benchmarks of your current model against a model from the past:

You can compare the number of processes or the value field of the events, which both result in KPIs per stage:

You can also compare the live model to: 

  • Yesterday, same time

  • Last week, same time

These comparisons are rolling, so the time of the history snapshot advances with the current time.

You can also compare two snapshots from the past.