Skip to content

Commit

Permalink
Merge pull request #1516 from HubSpot/oldest_deploys
Browse files Browse the repository at this point in the history
Include deploy marker and oldest deploy step in state
  • Loading branch information
ssalinas committed Apr 28, 2017
2 parents 5dab0fa + 39371d5 commit 20796b3
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 1 deletion.
Expand Up @@ -38,6 +38,8 @@ public class SingularityState {

private final long oldestDeploy;
private final int numDeploys;
private final long oldestDeployStep;
private final List<SingularityDeployMarker> activeDeploys;

private final long generatedAt;

Expand All @@ -61,6 +63,7 @@ public SingularityState(@JsonProperty("activeTasks") int activeTasks, @JsonPrope
@JsonProperty("lbCleanupRequests") int lbCleanupRequests, @JsonProperty("cleaningRequests") int cleaningRequests, @JsonProperty("activeSlaves") int activeSlaves, @JsonProperty("deadSlaves") int deadSlaves,
@JsonProperty("decommissioningSlaves") int decommissioningSlaves, @JsonProperty("activeRacks") int activeRacks, @JsonProperty("deadRacks") int deadRacks, @JsonProperty("decommissioningRacks") int decommissioningRacks,
@JsonProperty("cleaningTasks") int cleaningTasks, @JsonProperty("hostStates") List<SingularityHostState> hostStates, @JsonProperty("oldestDeploy") long oldestDeploy, @JsonProperty("numDeploys") int numDeploys,
@JsonProperty("oldestDeployStep") long oldestDeployStep, @JsonProperty("activeDeploys") List<SingularityDeployMarker> activeDeploys,
@JsonProperty("lateTasks") int lateTasks, @JsonProperty("futureTasks") int futureTasks, @JsonProperty("maxTaskLag") long maxTaskLag, @JsonProperty("generatedAt") long generatedAt,
@JsonProperty("overProvisionedRequestIds") List<String> overProvisionedRequestIds, @JsonProperty("underProvisionedRequestIds") List<String> underProvisionedRequestIds,
@JsonProperty("overProvisionedRequests") int overProvisionedRequests, @JsonProperty("underProvisionedRequests") int underProvisionedRequests, @JsonProperty("finishedRequests") int finishedRequests,
Expand Down Expand Up @@ -91,6 +94,8 @@ public SingularityState(@JsonProperty("activeTasks") int activeTasks, @JsonPrope
this.maxTaskLag = maxTaskLag;
this.oldestDeploy = oldestDeploy;
this.numDeploys = numDeploys;
this.oldestDeployStep = oldestDeployStep;
this.activeDeploys = activeDeploys;
this.lbCleanupTasks = lbCleanupTasks;
this.lbCleanupRequests = lbCleanupRequests;
this.underProvisionedRequests = underProvisionedRequests;
Expand Down Expand Up @@ -118,6 +123,14 @@ public int getNumDeploys() {
return numDeploys;
}

public long getOldestDeployStep() {
return oldestDeployStep;
}

public List<SingularityDeployMarker> getActiveDeploys() {
return activeDeploys;
}

public int getPausedRequests() {
return pausedRequests;
}
Expand Down Expand Up @@ -280,6 +293,8 @@ public String toString() {
", unknownRacks=" + unknownRacks +
", oldestDeploy=" + oldestDeploy +
", numDeploys=" + numDeploys +
", oldestDeployStep=" + oldestDeployStep +
", activeDeploys=" + activeDeploys +
", generatedAt=" + generatedAt +
", hostStates=" + hostStates +
", overProvisionedRequestIds=" + overProvisionedRequestIds +
Expand Down
Expand Up @@ -24,6 +24,7 @@
import com.hubspot.mesos.CounterMap;
import com.hubspot.mesos.JavaUtils;
import com.hubspot.singularity.SingularityCreateResult;
import com.hubspot.singularity.SingularityDeployMarker;
import com.hubspot.singularity.SingularityHostState;
import com.hubspot.singularity.SingularityMainModule;
import com.hubspot.singularity.SingularityPendingDeploy;
Expand Down Expand Up @@ -302,9 +303,18 @@ public SingularityState generateState(boolean includeRequestIds) {

int numDeploys = 0;
long oldestDeploy = 0;
long oldestDeployStep = 0;
List<SingularityDeployMarker> activeDeploys = new ArrayList<>();
final long now = System.currentTimeMillis();

for (SingularityPendingDeploy pendingDeploy : deployManager.getPendingDeploys()) {
activeDeploys.add(pendingDeploy.getDeployMarker());
if (pendingDeploy.getDeployProgress().isPresent() && !pendingDeploy.getDeployProgress().get().isStepComplete()) {
long deployStepDelta = now - pendingDeploy.getDeployProgress().get().getTimestamp();
if (deployStepDelta > oldestDeployStep) {
oldestDeployStep = deployStepDelta;
}
}
long delta = now - pendingDeploy.getDeployMarker().getTimestamp();
if (delta > oldestDeploy) {
oldestDeploy = delta;
Expand All @@ -324,7 +334,7 @@ public SingularityState generateState(boolean includeRequestIds) {
}

return new SingularityState(activeTasks, launchingTasks, numActiveRequests, cooldownRequests, numPausedRequests, scheduledTasks, pendingRequests, lbCleanupTasks, lbCleanupRequests, cleaningRequests, activeSlaves,
deadSlaves, decommissioningSlaves, activeRacks, deadRacks, decommissioningRacks, cleaningTasks, states, oldestDeploy, numDeploys, scheduledTasksInfo.getNumLateTasks(),
deadSlaves, decommissioningSlaves, activeRacks, deadRacks, decommissioningRacks, cleaningTasks, states, oldestDeploy, numDeploys, oldestDeployStep, activeDeploys, scheduledTasksInfo.getNumLateTasks(),
scheduledTasksInfo.getNumFutureTasks(), scheduledTasksInfo.getMaxTaskLag(), System.currentTimeMillis(), includeRequestIds ? overProvisionedRequestIds : null,
includeRequestIds ? underProvisionedRequestIds : null, overProvisionedRequestIds.size(), underProvisionedRequestIds.size(), numFinishedRequests, unknownRacks, unknownSlaves, authDatastoreHealthy, minimumPriorityLevel,
statusUpdateDeltaAvg.get());
Expand Down

0 comments on commit 20796b3

Please sign in to comment.