in maestro-common/src/main/java/com/netflix/maestro/models/timeline/Timeline.java [142:205]
public void enrich(StepInstance instance) {
StepRuntimeState runtimeState = instance.getRuntimeState();
if (runtimeState != null) {
if (runtimeState.getCreateTime() != null) {
timelineEvents.add(
TimelineStatusEvent.create(runtimeState.getCreateTime(), StepInstance.Status.CREATED));
}
if (runtimeState.getInitializeTime() != null) {
timelineEvents.add(
TimelineStatusEvent.create(
runtimeState.getInitializeTime(), StepInstance.Status.INITIALIZED));
}
if (runtimeState.getPauseTime() != null) {
timelineEvents.add(
TimelineStatusEvent.create(runtimeState.getPauseTime(), StepInstance.Status.PAUSED));
}
if (runtimeState.getWaitSignalTime() != null) {
timelineEvents.add(
TimelineStatusEvent.create(
runtimeState.getWaitSignalTime(), StepInstance.Status.WAITING_FOR_SIGNALS));
}
if (runtimeState.getEvaluateParamTime() != null) {
timelineEvents.add(
TimelineStatusEvent.create(
runtimeState.getEvaluateParamTime(), StepInstance.Status.EVALUATING_PARAMS));
}
if (runtimeState.getWaitPermitTime() != null) {
timelineEvents.add(
TimelineStatusEvent.create(
runtimeState.getWaitPermitTime(), StepInstance.Status.WAITING_FOR_PERMITS));
}
if (runtimeState.getStartTime() != null) {
timelineEvents.add(
TimelineStatusEvent.create(runtimeState.getStartTime(), StepInstance.Status.STARTING));
}
if (runtimeState.getExecuteTime() != null) {
timelineEvents.add(
TimelineStatusEvent.create(runtimeState.getExecuteTime(), StepInstance.Status.RUNNING));
}
if (runtimeState.getFinishTime() != null) {
timelineEvents.add(
TimelineStatusEvent.create(
runtimeState.getFinishTime(), StepInstance.Status.FINISHING));
}
if (runtimeState.getEndTime() != null) {
timelineEvents.add(
TimelineStatusEvent.create(runtimeState.getEndTime(), runtimeState.getStatus()));
}
if (instance.getSignalDependencies() != null
&& instance.getSignalDependencies().getInfo() != null) {
timelineEvents.add(instance.getSignalDependencies().getInfo());
}
if (instance.getSignalOutputs() != null && instance.getSignalOutputs().getInfo() != null) {
timelineEvents.add(instance.getSignalOutputs().getInfo());
}
if (instance.getArtifacts() != null) {
if (instance.getArtifacts().containsKey(Artifact.Type.TITUS.key())) {
timelineEvents.addAll(
instance.getArtifacts().get(Artifact.Type.TITUS.key()).asTitus().getMilestones());
}
}
}
Collections.sort(timelineEvents);
}