aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/profiler
diff options
context:
space:
mode:
authorGravatar ccalvarin <ccalvarin@google.com>2018-02-22 12:41:44 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-22 12:43:37 -0800
commitaf79eb49df9fb9a4b5a00194e5068a6cfedf12ae (patch)
tree89353d1d02053ba8ef8b763898c52ba0d56b1fa3 /src/main/java/com/google/devtools/build/lib/profiler
parentb3729d8570c6a0c2a8d14dfa393b81862d039a5d (diff)
Accept Durations in the CriticalPathComponent and Profiler.
RELNOTES: None. PiperOrigin-RevId: 186658512
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/profiler')
-rw-r--r--src/main/java/com/google/devtools/build/lib/profiler/AutoProfiler.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/profiler/Profiler.java40
2 files changed, 23 insertions, 23 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/profiler/AutoProfiler.java b/src/main/java/com/google/devtools/build/lib/profiler/AutoProfiler.java
index 97e6147119..555613da83 100644
--- a/src/main/java/com/google/devtools/build/lib/profiler/AutoProfiler.java
+++ b/src/main/java/com/google/devtools/build/lib/profiler/AutoProfiler.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.profiler;
import com.google.common.base.Preconditions;
import com.google.devtools.build.lib.clock.BlazeClock;
import com.google.devtools.build.lib.clock.Clock;
+import java.time.Duration;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
@@ -344,8 +345,9 @@ public class AutoProfiler implements AutoCloseable {
@Override
public void accept(long elapsedTimeNanos) {
if (elapsedTimeNanos > 0) {
- Profiler.instance().logSimpleTaskDuration(startTimeNanos, elapsedTimeNanos,
- profilerTaskType, object);
+ Profiler.instance()
+ .logSimpleTaskDuration(
+ startTimeNanos, Duration.ofNanos(elapsedTimeNanos), profilerTaskType, object);
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java b/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java
index f56afc8f9b..0b126555d3 100644
--- a/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java
+++ b/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java
@@ -30,6 +30,7 @@ import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.ByteBuffer;
+import java.time.Duration;
import java.util.ArrayList;
import java.util.IdentityHashMap;
import java.util.List;
@@ -779,41 +780,38 @@ public final class Profiler {
}
/**
- * Used externally to submit simple task (one that does not have any
- * subtasks). Depending on the minDuration attribute of the task type, task
- * may be just aggregated into the parent task and not stored directly.
+ * Used externally to submit simple task (one that does not have any subtasks). Depending on the
+ * minDuration attribute of the task type, task may be just aggregated into the parent task and
+ * not stored directly.
*
- * <p>Note that start and stop time must both be acquired from the same clock
- * instance.
+ * <p>Note that start and stop time must both be acquired from the same clock instance.
*
- * @param startTime task start time
- * @param stopTime task stop time
+ * @param startTimeNanos task start time
+ * @param stopTimeNanos task stop time
* @param type task type
- * @param object object associated with that task. Can be String object that
- * describes it.
+ * @param object object associated with that task. Can be String object that describes it.
*/
- public void logSimpleTask(long startTime, long stopTime, ProfilerTask type, Object object) {
+ public void logSimpleTask(
+ long startTimeNanos, long stopTimeNanos, ProfilerTask type, Object object) {
if (isActive() && isProfiling(type)) {
- logTask(startTime, stopTime - startTime, type, object);
+ logTask(startTimeNanos, stopTimeNanos - startTimeNanos, type, object);
}
}
/**
- * Used externally to submit simple task (one that does not have any
- * subtasks). Depending on the minDuration attribute of the task type, task
- * may be just aggregated into the parent task and not stored directly.
+ * Used externally to submit simple task (one that does not have any subtasks). Depending on the
+ * minDuration attribute of the task type, task may be just aggregated into the parent task and
+ * not stored directly.
*
- * @param startTime task start time (obtained through {@link
- * Profiler#nanoTimeMaybe()})
+ * @param startTimeNanos task start time (obtained through {@link Profiler#nanoTimeMaybe()})
* @param duration the duration of the task
* @param type task type
- * @param object object associated with that task. Can be String object that
- * describes it.
+ * @param object object associated with that task. Can be String object that describes it.
*/
- public void logSimpleTaskDuration(long startTime, long duration, ProfilerTask type,
- Object object) {
+ public void logSimpleTaskDuration(
+ long startTimeNanos, Duration duration, ProfilerTask type, Object object) {
if (isActive() && isProfiling(type)) {
- logTask(startTime, duration, type, object);
+ logTask(startTimeNanos, duration.toNanos(), type, object);
}
}