Allow recording of Package metrics for all packages when requested.
Refactor PackageMetricsPackageLoadingListener to allow for multiple
implemenations and provide two implementations of the new PackageMetricRecorder
interface.
1) Keeps intact the existing INFO logging for Top-N and honoring the flag to configure
the number of extreme packages to track.
2) A PackageRecorder, controlled by a new flag which allows bazel to record
metrics for all packages. These are currently unused in bazel.
RELNOTES: None.
PiperOrigin-RevId: 326486325
diff --git a/src/BUILD b/src/BUILD
index 22e7472..296cbf1 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -489,6 +489,7 @@
"//src/main/protobuf:dist_jars",
"//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:dist_jars",
"//src/main/java/com/google/devtools/build/lib/bazel/debug:dist_jars",
+ "//src/main/java/com/google/devtools/build/lib/packages/metrics:dist_jars",
"//src/main/java/com/google/devtools/build/lib/skyframe/proto:dist_jars",
"//src/main/java/com/google/devtools/build/lib/starlarkdebug/proto:dist_jars",
"//src/main/java/com/google/devtools/build/skydoc/rendering/proto:dist_jars",