diff options
author | 2018-06-19 15:07:26 -0700 | |
---|---|---|
committer | 2018-06-19 15:09:17 -0700 | |
commit | a0e8aae4b30a23d6a3069c343a47cd56b5ed3809 (patch) | |
tree | 255a02dc61f029f3495ca7bbee4f54bc1a6fa40c /src/main/java/com/google/devtools/build/lib/buildtool | |
parent | af545684f4f9c2697951d291d00ae2106ff65041 (diff) |
Add new BuildMetrics event to BEP.
To start we add just a single metric, the number of actions constructed in the current build.
RELNOTES: None
PiperOrigin-RevId: 201248490
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/buildtool')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java | 16 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/buildtool/ExecutionProgressReceiver.java | 3 |
2 files changed, 15 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java index 6eddca5e9c..5b09d81401 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildTool.java @@ -517,9 +517,14 @@ public class BuildTool { env.getEventBus()); // TODO(bazel-team): Merge these into one event. - env.getEventBus().post(new AnalysisPhaseCompleteEvent(analysisResult.getTargetsToBuild(), - view.getTargetsVisited(), timer.stop().elapsed(TimeUnit.MILLISECONDS), - view.getAndClearPkgManagerStatistics())); + env.getEventBus() + .post( + new AnalysisPhaseCompleteEvent( + analysisResult.getTargetsToBuild(), + view.getTargetsVisited(), + timer.stop().elapsed(TimeUnit.MILLISECONDS), + view.getAndClearPkgManagerStatistics(), + view.getActionsConstructed())); ImmutableSet<BuildConfigurationValue.Key> configurationKeys = Stream.concat( analysisResult @@ -575,7 +580,10 @@ public class BuildTool { // The stop time has to be captured before we send the BuildCompleteEvent. result.setStopTime(runtime.getClock().currentTimeMillis()); env.getEventBus() - .post(new BuildCompleteEvent(result, ImmutableList.of(BuildEventId.buildToolLogs()))); + .post( + new BuildCompleteEvent( + result, + ImmutableList.of(BuildEventId.buildToolLogs(), BuildEventId.buildMetrics()))); if (ie != null) { if (exitCondition.equals(ExitCode.SUCCESS)) { result.setExitCondition(ExitCode.INTERRUPTED); diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionProgressReceiver.java b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionProgressReceiver.java index b0447fd945..2b614b0630 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionProgressReceiver.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionProgressReceiver.java @@ -29,12 +29,14 @@ import com.google.devtools.build.lib.skyframe.TargetCompletionValue; import com.google.devtools.build.skyframe.EvaluationProgressReceiver; import com.google.devtools.build.skyframe.SkyFunctionName; import com.google.devtools.build.skyframe.SkyKey; +import com.google.devtools.build.skyframe.SkyValue; import java.text.NumberFormat; import java.util.Collections; import java.util.Locale; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; +import javax.annotation.Nullable; /** * Listener for executed actions and built artifacts. We use a listener so that we have an @@ -100,6 +102,7 @@ public final class ExecutionProgressReceiver @Override public void evaluated( SkyKey skyKey, + @Nullable SkyValue value, Supplier<EvaluationSuccessState> evaluationSuccessState, EvaluationState state) { SkyFunctionName type = skyKey.functionName(); |