
com.hubspot.singularity.SingularityDeployStatistics Maven / Gradle / Ivy
The newest version!
package com.hubspot.singularity;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ListMultimap;
public class SingularityDeployStatistics {
private final String requestId;
private final String deployId;
private final int numTasks;
private final int numSuccess;
private final int numFailures;
private final int numSequentialRetries;
private final ListMultimap instanceSequentialFailureTimestamps;
private final Optional lastFinishAt;
private final Optional lastTaskState;
private final Optional averageRuntimeMillis;
@JsonCreator
public SingularityDeployStatistics(@JsonProperty("requestId") String requestId, @JsonProperty("deployId") String deployId, @JsonProperty("numSuccess") int numSuccess, @JsonProperty("numFailures") int numFailures,
@JsonProperty("numSequentialRetries") int numSequentialRetries, @JsonProperty("lastFinishAt") Optional lastFinishAt, @JsonProperty("lastTaskState") Optional lastTaskState,
@JsonProperty("instanceSequentialFailureTimestamps") ListMultimap instanceSequentialFailureTimestamps, @JsonProperty("numTasks") int numTasks, @JsonProperty("averageRuntimeMillis") Optional averageRuntimeMillis) {
this.requestId = requestId;
this.deployId = deployId;
this.numSuccess = numSuccess;
this.numFailures = numFailures;
this.lastFinishAt = lastFinishAt;
this.lastTaskState = lastTaskState;
this.numSequentialRetries = numSequentialRetries;
this.numTasks = numTasks;
this.averageRuntimeMillis = averageRuntimeMillis;
this.instanceSequentialFailureTimestamps = instanceSequentialFailureTimestamps == null ? ImmutableListMultimap. of() : ImmutableListMultimap.copyOf(instanceSequentialFailureTimestamps);
}
public SingularityDeployStatisticsBuilder toBuilder() {
return new SingularityDeployStatisticsBuilder(requestId, deployId)
.setLastFinishAt(lastFinishAt)
.setLastTaskState(lastTaskState)
.setNumSequentialRetries(numSequentialRetries)
.setNumFailures(numFailures)
.setNumSuccess(numSuccess)
.setNumTasks(numTasks)
.setAverageRuntimeMillis(averageRuntimeMillis)
.setInstanceSequentialFailureTimestamps(ArrayListMultimap.create(instanceSequentialFailureTimestamps));
}
public int getNumTasks() {
return numTasks;
}
public Optional getAverageRuntimeMillis() {
return averageRuntimeMillis;
}
public String getRequestId() {
return requestId;
}
public String getDeployId() {
return deployId;
}
public int getNumSuccess() {
return numSuccess;
}
public int getNumFailures() {
return numFailures;
}
public Optional getLastFinishAt() {
return lastFinishAt;
}
public Optional getLastTaskState() {
return lastTaskState;
}
public int getNumSequentialRetries() {
return numSequentialRetries;
}
public ListMultimap getInstanceSequentialFailureTimestamps() {
return instanceSequentialFailureTimestamps;
}
@Override
public String toString() {
return "SingularityDeployStatistics [requestId=" + requestId + ", deployId=" + deployId + ", numTasks=" + numTasks + ", numSuccess=" + numSuccess + ", numFailures=" + numFailures
+ ", numSequentialRetries=" + numSequentialRetries + ", instanceSequentialFailureTimestamps=" + instanceSequentialFailureTimestamps + ", lastFinishAt=" + lastFinishAt + ", lastTaskState="
+ lastTaskState + ", averageRuntimeMillis=" + averageRuntimeMillis + "]";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy