[metrics] Add JitMethodCompileCount
This tracks how many methods have been compiled by the JIT.
Bug: 170149255
Test: manual
Change-Id: Id7943818318dae26afdac7f9903cd32b7e2c4e89
diff --git a/compiler/jit/jit_compiler.cc b/compiler/jit/jit_compiler.cc
index 10aa306..c5095cf 100644
--- a/compiler/jit/jit_compiler.cc
+++ b/compiler/jit/jit_compiler.cc
@@ -194,6 +194,7 @@
uint64_t duration_us = timer.Stop();
VLOG(jit) << "Compilation of " << method->PrettyMethod() << " took "
<< PrettyDuration(UsToNs(duration_us));
+ runtime->GetMetrics()->JitMethodCompileCount()->AddOne();
}
// Trim maps to reduce memory usage.
diff --git a/libartbase/base/metrics/metrics.h b/libartbase/base/metrics/metrics.h
index acfd20c..4e3346a 100644
--- a/libartbase/base/metrics/metrics.h
+++ b/libartbase/base/metrics/metrics.h
@@ -46,6 +46,7 @@
METRIC(TotalBytesAllocated, MetricsCounter) \
METRIC(TotalGcMetaDataSize, MetricsCounter) \
METRIC(JitMethodCompileTime, MetricsHistogram, 15, 0, 1'000'000) \
+ METRIC(JitMethodCompileCount, MetricsCounter) \
METRIC(YoungGcCollectionTime, MetricsHistogram, 15, 0, 60'000) \
METRIC(FullGcCollectionTime, MetricsHistogram, 15, 0, 60'000) \
METRIC(YoungGcThroughput, MetricsHistogram, 15, 0, 1'000) \
diff --git a/runtime/metrics/statsd.cc b/runtime/metrics/statsd.cc
index ef11e3d..39836e2 100644
--- a/runtime/metrics/statsd.cc
+++ b/runtime/metrics/statsd.cc
@@ -75,6 +75,9 @@
case DatumId::kFullGcThroughput:
return std::make_optional(
statsd::ART_DATUM_REPORTED__KIND__ART_DATUM_GC_FULL_HEAP_COLLECTION_THROUGHPUT);
+ case DatumId::kJitMethodCompileCount:
+ return std::make_optional(
+ statsd::ART_DATUM_REPORTED__KIND__ART_DATUM_JIT_METHOD_COMPILE_COUNT);
}
}