All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hubspot.singularity.SingularityDeployStatisticsBuilder Maven / Gradle / Ivy

The newest version!
package com.hubspot.singularity;

import com.google.common.base.Optional;
import com.google.common.collect.ListMultimap;

public class SingularityDeployStatisticsBuilder {

  private final String requestId;
  private final String deployId;

  private int numTasks;

  private int numSuccess;
  private int numFailures;

  private int numSequentialRetries;

  private ListMultimap instanceSequentialFailureTimestamps;

  private Optional lastFinishAt;
  private Optional lastTaskState;

  private Optional averageRuntimeMillis;

  public SingularityDeployStatisticsBuilder(String requestId, String deployId) {
    this.requestId = requestId;
    this.deployId = deployId;

    this.lastFinishAt = Optional.absent();
    this.lastTaskState = Optional.absent();
    this.averageRuntimeMillis = Optional.absent();
  }

  public SingularityDeployStatistics build() {
    return new SingularityDeployStatistics(requestId, deployId, numSuccess, numFailures, numSequentialRetries, lastFinishAt, lastTaskState, instanceSequentialFailureTimestamps, numTasks, averageRuntimeMillis);
  }

  public ListMultimap getInstanceSequentialFailureTimestamps() {
    return instanceSequentialFailureTimestamps;
  }

  public SingularityDeployStatisticsBuilder setInstanceSequentialFailureTimestamps(ListMultimap instanceSequentialFailureTimestamps) {
    this.instanceSequentialFailureTimestamps = instanceSequentialFailureTimestamps;
    return this;
  }

  public int getNumSuccess() {
    return numSuccess;
  }

  public SingularityDeployStatisticsBuilder setNumSuccess(int numSuccess) {
    this.numSuccess = numSuccess;
    return this;
  }

  public int getNumFailures() {
    return numFailures;
  }

  public SingularityDeployStatisticsBuilder setNumFailures(int numFailures) {
    this.numFailures = numFailures;
    return this;
  }

  public int getNumSequentialRetries() {
    return numSequentialRetries;
  }

  public SingularityDeployStatisticsBuilder setNumSequentialRetries(int numSequentialRetries) {
    this.numSequentialRetries = numSequentialRetries;
    return this;
  }

  public Optional getLastFinishAt() {
    return lastFinishAt;
  }

  public SingularityDeployStatisticsBuilder setLastFinishAt(Optional lastFinishAt) {
    this.lastFinishAt = lastFinishAt;
    return this;
  }

  public Optional getLastTaskState() {
    return lastTaskState;
  }

  public SingularityDeployStatisticsBuilder setLastTaskState(Optional lastTaskState) {
    this.lastTaskState = lastTaskState;
    return this;
  }

  public String getRequestId() {
    return requestId;
  }

  public int getNumTasks() {
    return numTasks;
  }

  public SingularityDeployStatisticsBuilder setNumTasks(int numTasks) {
    this.numTasks = numTasks;
    return this;
  }

  public Optional getAverageRuntimeMillis() {
    return averageRuntimeMillis;
  }

  public SingularityDeployStatisticsBuilder setAverageRuntimeMillis(Optional averageRuntimeMillis) {
    this.averageRuntimeMillis = averageRuntimeMillis;
    return this;
  }

  public String getDeployId() {
    return deployId;
  }

  @Override
  public String toString() {
    return "SingularityDeployStatisticsBuilder [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