Package com.hubspot.singularity

Examples of com.hubspot.singularity.SingularityDeployStatisticsBuilder


    if (maybeDeployStatistics.isPresent()) {
      return maybeDeployStatistics.get();
    }

    return new SingularityDeployStatisticsBuilder(requestId, deployId).build();
  }
View Full Code Here


    if (taskHistoryUpdateCreateResult == SingularityCreateResult.EXISTED) {
      return;
    }

    SingularityDeployStatisticsBuilder bldr = deployStatistics.toBuilder();

    if (!bldr.getLastFinishAt().isPresent() || timestamp > bldr.getLastFinishAt().get()) {
      bldr.setLastFinishAt(Optional.of(timestamp));
      bldr.setLastTaskState(Optional.of(state));
    }

    if (!state.isSuccess()) {
      bldr.setNumFailures(bldr.getNumFailures() + 1);
      final List<Long> sequentialFailureTimestamps = Lists.newArrayList(bldr.getSequentialFailureTimestamps());

      if (sequentialFailureTimestamps.size() < configuration.getCooldownAfterFailures()) {
        sequentialFailureTimestamps.add(timestamp);
      } else if (timestamp > sequentialFailureTimestamps.get(0)) {
        sequentialFailureTimestamps.set(0, timestamp);
      }

      Collections.sort(sequentialFailureTimestamps);

      bldr.setSequentialFailureTimestamps(sequentialFailureTimestamps);
    } else {
      bldr.setSequentialFailureTimestamps(Collections.<Long> emptyList());
      bldr.setNumSuccess(bldr.getNumSuccess() + 1);
    }

    if (scheduleResult.isPresent() && scheduleResult.get() == PendingType.RETRY) {
      bldr.setNumSequentialRetries(bldr.getNumSequentialRetries() + 1);
    } else {
      bldr.setNumSequentialRetries(0);
    }

    final SingularityDeployStatistics newStatistics = bldr.build();

    LOG.trace("Saving new deploy statistics {}", newStatistics);

    deployManager.saveDeployStatistics(newStatistics);
  }
View Full Code Here

TOP

Related Classes of com.hubspot.singularity.SingularityDeployStatisticsBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.