Add progress step information to checkpoint

Description

Add progress step information to the checkpoint object.

From the design:

  • This requires some extra information from the fiber (`FlowLogic`) before it gets serialised and added to the `Checkpoint`

  • The serialised version of `FlowLogic` is added to `Event.Suspend` which updates the checkpoint during the `suspendTransition`

  • The last progress step (either by itself or contained in a wrapper object) should be passed into `Event.Suspend` which can update the checkpoint with the progress information

  • Wrapping the progress step in another object would make it easier to pass extra information into `Event.Suspend` without bloating the class itself too much

  • The data itself can be retrieved from `FlowStateMachineImpl.logic.progressTracker?.currentStep`

We also need to ensure that the progress step fits into the column (as there is a max size - I think it is 512). So we might need to consider cutting the end of the string if it is too long or fail on startup if a progress step is to long. Implementation wise, it might be worth calculating the shorted string once when creating the step object, as most of them are static objects which are used across multiple flows.

Assignee

William Vigor

Reporter

Dan Newton

Labels

None

Sprint

None

Priority

Medium

Engineering Teams

Kernel - Flow State Machine

Fix versions

Affects versions

None

Story Points / Dev Days

2

Build cut

None
Configure