Long startTime = pipeline.getStartTime(); if (startTime != null) { canaryExecutionStatusResponseBuilder
map.put("limitConcurrent", String.valueOf(execution.isLimitConcurrent())); map.put("buildTime", String.valueOf(execution.getBuildTime() != null ? execution.getBuildTime() : 0L)); map.put("startTime", execution.getStartTime() != null ? execution.getStartTime().toString() : null); map.put("endTime", execution.getEndTime() != null ? execution.getEndTime().toString() : null); map.put("startTimeExpiry", execution.getStartTimeExpiry() != null ? String.valueOf(execution.getStartTimeExpiry()) : null);
Long startTime = pipeline.getStartTime(); if (startTime != null) { responseBuilder
@Override public int compare(Execution a, Execution b) { Long aStartTime = a.getStartTime(); Long bStartTime = b.getStartTime(); if (aStartTime == null) { return -1; } if (bStartTime == null) { return 0; } int startCompare = bStartTime.compareTo(aStartTime); if (startCompare == 0) { return b.getId().compareTo(a.getId()); } return startCompare; } },
@Override public Boolean call(Execution execution) { if (!COMPLETED_STATUSES.contains(execution.getStatus().toString())) { return false; } long startTime = execution.getStartTime() == null ? execution.getBuildTime() : execution.getStartTime(); return startTime <= (Instant.ofEpochMilli(clock.millis()).minus(thresholdDays, ChronoUnit.DAYS).toEpochMilli()); } };
@Nonnull @Override public List<Execution> retrieveOrchestrationsForApplication(@Nonnull String application, @Nonnull ExecutionCriteria criteria, @Nullable ExecutionComparator sorter) { List<Execution> executions = retrieveOrchestrationsForApplication(application, criteria) .filter((orchestration) -> { if (criteria.getStartTimeCutoff() != null) { long startTime = Optional.ofNullable(orchestration.getStartTime()).orElse(0L); return startTime == 0 || (startTime > criteria.getStartTimeCutoff().toEpochMilli()); } return true; }) .subscribeOn(Schedulers.io()) .toList() .toBlocking() .single(); if (sorter != null) { executions.sort(sorter); } return executions.subList(0, Math.min(executions.size(), criteria.getPageSize())); }
@Override public void afterExecution(Persister persister, Execution execution, ExecutionStatus executionStatus, boolean wasSuccessful) { if (execution.getType() != ORCHESTRATION) { // not concerned with pipelines right now (pipelines can have wait stages / manual judgments which skew execution time) return; } if (execution.getApplication() == null || execution.getStartTime() == null || execution.getEndTime() == null) { // should normally have all attributes but a guard just in case return; } Id id = registry .createId("executions.totalTime") .withTag("executionType", "orchestration") .withTag("successful", Boolean.valueOf(wasSuccessful).toString()) .withTag("application", execution.getApplication().toLowerCase()); registry.timer(id).record(execution.getEndTime() - execution.getStartTime(), TimeUnit.MILLISECONDS); } }
Long startTime = pipeline.getStartTime(); if (startTime != null) { canaryExecutionStatusResponseBuilder
Long startTime = pipeline.getStartTime(); if (startTime != null) { responseBuilder