in baremaps-core/src/main/java/org/apache/baremaps/workflow/WorkflowExecutor.java [206:238]
private void logStepMeasures() {
logger.info("----------------------------------------");
var workflowStart = stepMeasures.stream()
.mapToLong(measures -> measures.stepMeasures.stream()
.mapToLong(measure -> measure.start)
.min().getAsLong())
.min().getAsLong();
var workflowEnd = stepMeasures.stream()
.mapToLong(measures -> measures.stepMeasures.stream()
.mapToLong(measure -> measure.end)
.max().getAsLong())
.max().getAsLong();
var workflowDuration = Duration.ofMillis(workflowEnd - workflowStart);
logger.info("Workflow graph: {}", this.graph);
logger.info(" Duration: {}", formatDuration(workflowDuration));
for (var stepMeasure : this.stepMeasures) {
var stepStart =
stepMeasure.stepMeasures.stream().mapToLong(measure -> measure.start).min().getAsLong();
var stepEnd =
stepMeasure.stepMeasures.stream().mapToLong(measure -> measure.end).max().getAsLong();
var stepDuration = Duration.ofMillis(stepEnd - stepStart);
logger.info("Step: {}, Duration: {} ms", stepMeasure.step.getId(),
formatDuration(stepDuration));
for (var taskMeasure : stepMeasure.stepMeasures) {
var taskDuration = Duration.ofMillis(taskMeasure.end - taskMeasure.start);
logger.info(" Task: {}", taskMeasure.task);
logger.info(" Duration: {}", formatDuration(taskDuration));
}
}
logger.info("----------------------------------------");
}