[metrics] Dump ArtMetrics on SIGQUIT
ART now writes a current snapshot of its internal metrics in response to
a SIGQUIT.
Example output:
```
*** ART internal metrics ***
ClassVerificationTotalTime: count = 863833
JitMethodCompileTime: range = 0...1000000, buckets: 244,5,1,0,1,0,0,0,0,1,0,0,0,0,0
*** Done dumping ART internal metrics ***
```
This includes a new StreamBackend, which is used to write ART metrics to
an output stream in a human readable format.
Bug: 170149255
Test: m test-art-host-gtest-art_libartbase_tests
Change-Id: Iaf8bcee5a4993e70ac4e36940591a734fe1a6697
diff --git a/runtime/runtime.cc b/runtime/runtime.cc
index 70e3ae3..9c0b4df 100644
--- a/runtime/runtime.cc
+++ b/runtime/runtime.cc
@@ -2020,6 +2020,7 @@
}
DumpDeoptimizations(os);
TrackedAllocators::Dump(os);
+ GetMetrics()->DumpForSigQuit(os);
os << "\n";
thread_list_->DumpForSigQuit(os);