aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/skyframe
diff options
context:
space:
mode:
authorGravatar mschaller <mschaller@google.com>2018-06-29 12:13:39 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-29 12:14:50 -0700
commit677a614d5d55c5d3df0fe23c21ff48525ef2e179 (patch)
treebe0aff40c5081558a566816d47a43b20a31c522b /src/main/java/com/google/devtools/build/skyframe
parent2d5ae23797de6b6c449b0fe092f4d67ca0b081c5 (diff)
Fix asymmetric progress receiver state tracking
The "elapsedTimeNanos > 0" conditional is highly likely to always be true, but if not, the progress receiver won't receive an "ending" event for the "compute" state. RELNOTES: None PiperOrigin-RevId: 202687683
Diffstat (limited to 'src/main/java/com/google/devtools/build/skyframe')
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java5
1 files changed, 3 insertions, 2 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 8267fa27e1..793b206b65 100644
--- a/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java
+++ b/src/main/java/com/google/devtools/build/skyframe/AbstractParallelEvaluator.java
@@ -382,9 +382,10 @@ public abstract class AbstractParallelEvaluator {
value = factory.compute(skyKey, env);
} finally {
long elapsedTimeNanos = BlazeClock.instance().nanoTime() - startTimeNanos;
+ evaluatorContext
+ .getProgressReceiver()
+ .stateEnding(skyKey, NodeState.COMPUTE, elapsedTimeNanos);
if (elapsedTimeNanos > 0) {
- evaluatorContext.getProgressReceiver().stateEnding(skyKey, NodeState.COMPUTE,
- elapsedTimeNanos);
Profiler.instance()
.logSimpleTaskDuration(
startTimeNanos,