Job execution time for long-running workflows in ROI explore

We are calculating savings based on the job execution time, with a custom weighting per process. So savings = weight * execution_time. We want to use the ROI Dataset to store the weights.

Unfortunately, none of the built-in measures correctly reflects execution time for long-running workflows.

  1. There is “Total run time in seconds”, but this is apparently only job end time - job start time, so it completely fails for long-running workflows
  2. We then tried to calculate actual execution time based on “total run time” - “Total suspended time”, but this is still too large because it does not take into account delays due to jobs staying in “resumed” state for some time
  3. In the Jobs explore, we can use a table calculation to calculate something that looks correct as “end time” - “creation time” - “suspended time” - “pending time”, but the pending time is missing in the ROI explore

We would need either of two changes:

  • Add an execution time measure that correctly measures just the execution time out-of-the-box (preferred, imo “Total run time in seconds” should already work that way, but doesn’t)
  • Add pending time to the Process ROI explore so we can use our own table calculation

Hey Stefan
I think it’s an interesting case… I have a couple questions :

  • Are these long-running workflows with multiple suspend/resume?
  • When you say “resumed delay”, is it time where the job is resumed but not actually executing?

From what you describe, yeah… “Total run time” = End - Start, so it includes suspended time , pending time , resume delays …

So it’s not real execution time.

Your calc is the closest to reality.

What I’d do is to make a custom database to follow real execution time.
Another solution would be maybe to split the process into smaller chunks so durations are easier to measure and less impacted by these states.

Best regards,
Ghaith