Skip to content

Commit 1c3bc90

Browse files
janakdrcopybara-github
authored andcommitted
Make --bep_publish_used_heap_size_post_build work for query and other non-build commands. Since we want BEP to support query anyway, enabling this flag on query allows it to be a drop-in replacement for --experimental_force_gc_after_build.
PiperOrigin-RevId: 380256260
1 parent 23fb04d commit 1c3bc90

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

src/main/java/com/google/devtools/build/lib/metrics/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ java_library(
3737
"//src/main/java/com/google/devtools/build/lib/actions:analysis_graph_stats_event",
3838
"//src/main/java/com/google/devtools/build/lib/analysis:analysis_phase_complete_event",
3939
"//src/main/java/com/google/devtools/build/lib/analysis:analysis_phase_started_event",
40+
"//src/main/java/com/google/devtools/build/lib/analysis:no_build_request_finished_event",
4041
"//src/main/java/com/google/devtools/build/lib/bugreport",
4142
"//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:build_event_stream_java_proto",
4243
"//src/main/java/com/google/devtools/build/lib/clock",

src/main/java/com/google/devtools/build/lib/metrics/MetricsCollector.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.google.devtools.build.lib.actions.TotalAndConfiguredTargetOnlyMetric;
2323
import com.google.devtools.build.lib.analysis.AnalysisPhaseCompleteEvent;
2424
import com.google.devtools.build.lib.analysis.AnalysisPhaseStartedEvent;
25+
import com.google.devtools.build.lib.analysis.NoBuildRequestFinishedEvent;
2526
import com.google.devtools.build.lib.bugreport.BugReport;
2627
import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos.BuildMetrics;
2728
import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos.BuildMetrics.ActionSummary;
@@ -183,6 +184,16 @@ public void onSkyframeGraphStats(SkyframeGraphStatsEvent event) {
183184
@SuppressWarnings("unused")
184185
@Subscribe
185186
public void onBuildComplete(BuildPrecompleteEvent event) {
187+
postBuildMetricsEvent();
188+
}
189+
190+
@SuppressWarnings("unused") // Used reflectively
191+
@Subscribe
192+
public void onNoBuildRequestFinishedEvent(NoBuildRequestFinishedEvent event) {
193+
postBuildMetricsEvent();
194+
}
195+
196+
private void postBuildMetricsEvent() {
186197
env.getEventBus().post(new BuildMetricsEvent(createBuildMetrics()));
187198
}
188199

src/main/java/com/google/devtools/build/lib/metrics/MetricsModule.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public static final class Options extends OptionsBase {
5858

5959
@Override
6060
public Iterable<Class<? extends OptionsBase>> getCommandOptions(Command command) {
61-
return "build".equals(command.name()) ? ImmutableList.of(Options.class) : ImmutableList.of();
61+
return ImmutableList.of(Options.class);
6262
}
6363

6464
/**
@@ -74,7 +74,4 @@ public boolean postsBuildMetricsEvent() {
7474
public void beforeCommand(CommandEnvironment env) {
7575
MetricsCollector.installInEnv(env, numAnalyses, numBuilds);
7676
}
77-
78-
@Override
79-
public void afterCommand() {}
8077
}

0 commit comments

Comments
 (0)