Introduce `InstrumentationOutput` and apply it to profile
`InstrumentationOutput` aims at providing a unified way to handle writing and publishing instrumentation outputs.
PiperOrigin-RevId: 663316138
Change-Id: Ie5d80acd1843a94045307442ed00ffd6a9f98105
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BuildSummaryStatsModule.java b/src/main/java/com/google/devtools/build/lib/runtime/BuildSummaryStatsModule.java
index 70fe506..8a865f7 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BuildSummaryStatsModule.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BuildSummaryStatsModule.java
@@ -179,16 +179,13 @@
}
}
}
- if (profileEvent != null && profileEvent.getProfilePath() != null) {
+ if (profileEvent != null && profileEvent.getProfile() != null) {
// This leads to missing the afterCommand profiles of the other modules in the profile.
// Since the BEP currently shuts down at the BuildCompleteEvent, we cannot just move posting
// the BuildToolLogs to afterCommand of this module.
try {
Profiler.instance().stop();
- event
- .getResult()
- .getBuildToolLogCollection()
- .addLocalFile(profileEvent.getName(), profileEvent.getProfilePath());
+ profileEvent.getProfile().publish(event.getResult().getBuildToolLogCollection());
} catch (IOException e) {
reporter.handle(Event.error("Error while writing profile file: " + e.getMessage()));
}