Add cumulative SpawnMetrics to the blaze.actions table
@@ -164,6 +164,106 @@ public abstract class ActionResult {
return getCumulativeLong(SpawnResult::getMemoryInKb);
}
+ /**
+ * Returns the cumulative spawns total time for the {@link Action}.
+ *
+ * @return the cumulative measurement, or empty in case of execution errors or when the
+ * measurement is not implemented for the current platform
+ */
+ public Optional<Duration> cumulativeSpawnsTotalTime() {
+ return getCumulativeTime(s -> Optional.of(s.getMetrics().totalTime()));
+ }
+
+ /**
+ * Returns the cumulative spawns parse time for the {@link Action}.
+ *
+ * @return the cumulative measurement, or empty in case of execution errors or when the
+ * measurement is not implemented for the current platform
+ */
+ public Optional<Duration> cumulativeSpawnsParseTime() {
+ return getCumulativeTime(s -> Optional.of(s.getMetrics().parseTime()));
+ }
+
+ /**
+ * Returns the cumulative spawns network time for the {@link Action}.
+ *
+ * @return the cumulative measurement, or empty in case of execution errors or when the
+ * measurement is not implemented for the current platform
+ */
+ public Optional<Duration> cumulativeSpawnsNetworkTime() {
+ return getCumulativeTime(s -> Optional.of(s.getMetrics().networkTime()));
+ }
+
+ /**
+ * Returns the cumulative spawns fetch time for the {@link Action}.
+ *
+ * @return the cumulative measurement, or empty in case of execution errors or when the
+ * measurement is not implemented for the current platform
+ */
+ public Optional<Duration> cumulativeSpawnsFetchTime() {
+ return getCumulativeTime(s -> Optional.of(s.getMetrics().fetchTime()));
+ }
+
+ /**
+ * Returns the cumulative spawns queue time for the {@link Action}.
+ *
+ * @return the cumulative measurement, or empty in case of execution errors or when the
+ * measurement is not implemented for the current platform
+ */
+ public Optional<Duration> cumulativeSpawnsQueueTime() {
+ return getCumulativeTime(s -> Optional.of(s.getMetrics().queueTime()));
+ }
+
+ /**
+ * Returns the cumulative spawns setup time for the {@link Action}.
+ *
+ * @return the cumulative measurement, or empty in case of execution errors or when the
+ * measurement is not implemented for the current platform
+ */
+ public Optional<Duration> cumulativeSpawnsSetupTime() {
+ return getCumulativeTime(s -> Optional.of(s.getMetrics().setupTime()));
+ }
+
+ /**
+ * Returns the cumulative spawns upload time for the {@link Action}.
+ *
+ * @return the cumulative measurement, or empty in case of execution errors or when the
+ * measurement is not implemented for the current platform
+ */
+ public Optional<Duration> cumulativeSpawnsUploadTime() {
+ return getCumulativeTime(s -> Optional.of(s.getMetrics().uploadTime()));
+ }
+
+ /**
+ * Returns the cumulative spawns execution wall time for the {@link Action}.
+ *
+ * @return the cumulative measurement, or empty in case of execution errors or when the
+ * measurement is not implemented for the current platform
+ */
+ public Optional<Duration> cumulativeExecutionWallTime() {
+ return getCumulativeTime(s -> Optional.of(s.getMetrics().executionWallTime()));
+ }
+
+ /**
+ * Returns the cumulative spawns process output time for the {@link Action}.
+ *
+ * @return the cumulative measurement, or empty in case of execution errors or when the
+ * measurement is not implemented for the current platform
+ */
+ public Optional<Duration> cumulativeProcessOutputTime() {
+ return getCumulativeTime(s -> Optional.of(s.getMetrics().processOutputsTime()));
+ }
+
+ /**
+ * Returns the cumulative spawns retry time for the {@link Action}.
+ *
+ * @return the cumulative measurement, or empty in case of execution errors or when the
+ * measurement is not implemented for the current platform
+ */
+ public Optional<Duration> cumulativeRetryTime() {
+ return getCumulativeTime(s -> Optional.of(s.getMetrics().retryTime()));
+ }
+
/**
* Indicates whether all {@link Spawn}s executed locally or not.
*
