We need to process ingested events and store the number of times a certain event has followed another within a given trace. Because of the large number of events we potentially ingest, this should be done in batches. The counts is essentially a snapshot of the current state. Adjustments will need to be made to counts and states based on subsequent ingestion, with respect to both new events and modification to existing events
ATs:
- Events are processed in batches (based on ingestion timestamp) and for each trace ID, the event sequence is stored in the appropriate index
- The count of paths between each event type is stored in a separate index. Adjustments are made where necessary, given event modification and new events for a given trace