[metrics] Add ClassLoadingTotalTime counter
This keeps track of how much time we spend in the class loading
process.
Testing instructions:
adb shell setprop dalvik.vm.metrics.write-to-log true
adb shell stop && adb shell start
adb logcat -e "ART internal metrics"
Observer ClassLoadingTotalTime in internal metrics report. Example:
*** ART internal metrics ***
Metadata:
timestamp_since_start_ms: 34555
session_id: 2710488913234081424
uid: 10065
compilation_reason: Unknown
compiler_filter: (unspecified)
Metrics:
ClassLoadingTotalTime: count = 120959
ClassVerificationTotalTime: count = 216121
JitMethodCompileTime: range = 0...1000000, buckets: 4482,10,2,3
*** Done dumping ART internal metrics ***
Bug: 177591870
Test: Manual, see above
Change-Id: I24f0c94ab6af5e6cd9b0dc32122f2905c36cf3b7
diff --git a/libartbase/base/metrics/metrics_test.cc b/libartbase/base/metrics/metrics_test.cc
index 4643f14..44a3b60 100644
--- a/libartbase/base/metrics/metrics_test.cc
+++ b/libartbase/base/metrics/metrics_test.cc
@@ -215,13 +215,13 @@
// Make sure the resulting string lists all the counters.
const std::string result = backend.GetAndResetBuffer();
#define COUNTER(name) \
- EXPECT_NE(result.find(DatumName(DatumId::k##name)), std::string::npos)
+ EXPECT_NE(result.find(DatumName(DatumId::k##name)), std::string::npos);
ART_COUNTERS(COUNTER);
#undef COUNTER
// Make sure the resulting string lists all the histograms.
#define HISTOGRAM(name, num_buckets, minimum_value, maximum_value) \
- EXPECT_NE(result.find(DatumName(DatumId::k##name)), std::string::npos)
+ EXPECT_NE(result.find(DatumName(DatumId::k##name)), std::string::npos);
ART_HISTOGRAMS(HISTOGRAM);
#undef HISTOGRAM
}