From bfaae0257da670124d36904db6ead2cf608ff426 Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 24 Jun 2021 11:07:36 -0400 Subject: [PATCH 1/2] Return subtask map --- pom.xml | 2 +- .../metrics/impl/TimeInQueueAction.java | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 42d7043..4755043 100644 --- a/pom.xml +++ b/pom.xml @@ -67,7 +67,7 @@ 8 2.222.1 4.1.6 - 4.0.2.9 + 4.0.2.11 -SNAPSHOT diff --git a/src/main/java/jenkins/metrics/impl/TimeInQueueAction.java b/src/main/java/jenkins/metrics/impl/TimeInQueueAction.java index b8bd183..6656b04 100644 --- a/src/main/java/jenkins/metrics/impl/TimeInQueueAction.java +++ b/src/main/java/jenkins/metrics/impl/TimeInQueueAction.java @@ -30,6 +30,8 @@ import hudson.model.queue.SubTask; import java.io.Serializable; import java.util.List; +import java.util.HashMap; +import java.util.Map; import jenkins.model.RunAction2; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.DoNotUse; @@ -158,6 +160,27 @@ public long getQueuingTimeMillis() { return total; } + /** + * Returns the total time this {@link Run} spent queuing, including the time spent by subtasks. This is the sum + * of {@link #getQueuingDurationMillis()} plus all the {@link SubTaskTimeInQueueAction#getQueuingDurationMillis()}. + * + * @return the total time this {@link Run} spent queuing + */ + @Exported(visibility = 2) + public Map getSubTaskMap() { + + Map subtasks = new HashMap(); + if (run == null) { + return subtasks; + } + int subtask_count = 0; + for (SubTaskTimeInQueueAction t : run.getActions(SubTaskTimeInQueueAction.class)) { + subtasks.put("Subtask_" + subtask_count, t.getQueuingDurationMillis()); + subtask_count = subtask_count + 1; + } + return subtasks; + } + /** * Returns the total time this {@link Run}, and any associated {@link SubTask}s, spent in the queue because they * were blocked. From 8bb24cb84c2126f627e94c1e536cb725ff540c16 Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 24 Jun 2021 13:34:34 -0400 Subject: [PATCH 2/2] PR changes - #1 --- pom.xml | 2 +- src/main/java/jenkins/metrics/impl/TimeInQueueAction.java | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 4755043..42d7043 100644 --- a/pom.xml +++ b/pom.xml @@ -67,7 +67,7 @@ 8 2.222.1 4.1.6 - 4.0.2.11 + 4.0.2.9 -SNAPSHOT diff --git a/src/main/java/jenkins/metrics/impl/TimeInQueueAction.java b/src/main/java/jenkins/metrics/impl/TimeInQueueAction.java index 6656b04..bc3964b 100644 --- a/src/main/java/jenkins/metrics/impl/TimeInQueueAction.java +++ b/src/main/java/jenkins/metrics/impl/TimeInQueueAction.java @@ -161,10 +161,11 @@ public long getQueuingTimeMillis() { } /** - * Returns the total time this {@link Run} spent queuing, including the time spent by subtasks. This is the sum - * of {@link #getQueuingDurationMillis()} plus all the {@link SubTaskTimeInQueueAction#getQueuingDurationMillis()}. + * Returns the a map of all the subtasks in this {@link Run} mapped to the time spent by each {@link SubTask} in queue. + * Subtasks are denoted in the map by chronological order and the subtask time in queue is denoted using + * {@link SubTaskTimeInQueueAction#getQueuingDurationMillis()} * - * @return the total time this {@link Run} spent queuing + * @return a map where each {@link SubTask} in this {@link Run} is mapped to each subtask's time in queue */ @Exported(visibility = 2) public Map getSubTaskMap() {