aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2018-06-12 12:21:25 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-12 12:23:15 -0700
commit400fffe8b2df50c5b57ced5d9a8b46e40d529d4e (patch)
treea9a1291a0a05d4dee5c8e2ea9da092135c91a42f /src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java
parentc958649131ab8cf48a881aaddc50390cb7d79bfb (diff)
Add support for the Json trace file format
Add a --experimental_generate_json_trace_profile option that puts a file into the output base (or uses --profile if set). There are still a lot of problems with this. - unexplained holes - way too many threads - nonsensical event titles - too many detail events, too little overview - it may also cause unnecessary load - it silently overwrites the existing file on subsequent invocations The format is documented here: goo.gl/oMZPLh PiperOrigin-RevId: 200259431
Diffstat (limited to 'src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java')
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java b/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java
index 2373959857..0c94277a4b 100644
--- a/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java
+++ b/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java
@@ -375,19 +375,19 @@ public abstract class AbstractParallelEvaluator {
state);
SkyValue value = null;
- long startTime = BlazeClock.instance().nanoTime();
+ long startTimeNanos = BlazeClock.instance().nanoTime();
try {
try {
evaluatorContext.getProgressReceiver().stateStarting(skyKey, NodeState.COMPUTE);
value = factory.compute(skyKey, env);
} finally {
- long elapsedTimeNanos = BlazeClock.instance().nanoTime() - startTime;
+ long elapsedTimeNanos = BlazeClock.instance().nanoTime() - startTimeNanos;
if (elapsedTimeNanos > 0) {
evaluatorContext.getProgressReceiver().stateEnding(skyKey, NodeState.COMPUTE,
elapsedTimeNanos);
Profiler.instance()
.logSimpleTaskDuration(
- startTime,
+ startTimeNanos,
Duration.ofNanos(elapsedTimeNanos),
ProfilerTask.SKYFUNCTION,
skyKey.functionName().getName());