summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Martin Stjernholm <mast@google.com> 2023-01-16 17:16:29 +0000
committer Treehugger Robot <treehugger-gerrit@google.com> 2023-02-21 11:34:22 +0000
commit5e8ca6af1ef27c4d3e504052c3edec079433e7eb (patch)
tree42747d7b6a59769faa2cccc6ee0f93b7f12ad2b7
parentfa1550e490c56e07724538c4fbf35f570ed89789 (diff)
Add metrics support for the new boot-after-mainline-update compilation
reason. Cherry-picked from internal. Test: atest art_standalone_libartbase_tests Bug: 265685704 Change-Id: I7af57011cdeba584c35941362565a16531553e8a Merged-In: I7af57011cdeba584c35941362565a16531553e8a
-rw-r--r--libartbase/base/metrics/metrics.h39
-rw-r--r--libartbase/base/metrics/metrics_common.cc5
-rw-r--r--libartbase/base/metrics/metrics_test.cc4
-rw-r--r--runtime/metrics/statsd.cc3
4 files changed, 32 insertions, 19 deletions
diff --git a/libartbase/base/metrics/metrics.h b/libartbase/base/metrics/metrics.h
index 8432be50a4..ee98c0459f 100644
--- a/libartbase/base/metrics/metrics.h
+++ b/libartbase/base/metrics/metrics.h
@@ -117,26 +117,27 @@ enum class DatumId {
};
// Names come from PackageManagerServiceCompilerMapping.java
-#define REASON_NAME_LIST(V) \
- V(kError, "error") \
- V(kUnknown, "unknown") \
- V(kFirstBoot, "first-boot") \
- V(kBootAfterOTA, "boot-after-ota") \
- V(kPostBoot, "post-boot") \
- V(kInstall, "install") \
- V(kInstallFast, "install-fast") \
- V(kInstallBulk, "install-bulk") \
- V(kInstallBulkSecondary, "install-bulk-secondary") \
- V(kInstallBulkDowngraded, "install-bulk-downgraded") \
+#define REASON_NAME_LIST(V) \
+ V(kError, "error") \
+ V(kUnknown, "unknown") \
+ V(kFirstBoot, "first-boot") \
+ V(kBootAfterOTA, "boot-after-ota") \
+ V(kPostBoot, "post-boot") \
+ V(kInstall, "install") \
+ V(kInstallFast, "install-fast") \
+ V(kInstallBulk, "install-bulk") \
+ V(kInstallBulkSecondary, "install-bulk-secondary") \
+ V(kInstallBulkDowngraded, "install-bulk-downgraded") \
V(kInstallBulkSecondaryDowngraded, "install-bulk-secondary-downgraded") \
- V(kBgDexopt, "bg-dexopt") \
- V(kABOTA, "ab-ota") \
- V(kInactive, "inactive") \
- V(kShared, "shared") \
- V(kInstallWithDexMetadata, "install-with-dex-metadata") \
- V(kPrebuilt, "prebuilt") \
- V(kCmdLine, "cmdline") \
- V(kVdex, "vdex")
+ V(kBgDexopt, "bg-dexopt") \
+ V(kABOTA, "ab-ota") \
+ V(kInactive, "inactive") \
+ V(kShared, "shared") \
+ V(kInstallWithDexMetadata, "install-with-dex-metadata") \
+ V(kPrebuilt, "prebuilt") \
+ V(kCmdLine, "cmdline") \
+ V(kVdex, "vdex") \
+ V(kBootAfterMainlineUpdate, "boot-after-mainline-update")
// We log compilation reasons as part of the metadata we report. Since elsewhere compilation reasons
// are specified as a string, we define them as an enum here which indicates the reasons that we
diff --git a/libartbase/base/metrics/metrics_common.cc b/libartbase/base/metrics/metrics_common.cc
index 2732088e85..6c4aa952b4 100644
--- a/libartbase/base/metrics/metrics_common.cc
+++ b/libartbase/base/metrics/metrics_common.cc
@@ -321,6 +321,11 @@ static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason:
CompilationReason::kPrebuilt);
static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kCmdLine)) ==
CompilationReason::kCmdLine);
+static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kVdex)) ==
+ CompilationReason::kVdex);
+static_assert(
+ CompilationReasonFromName(CompilationReasonName(CompilationReason::kBootAfterMainlineUpdate)) ==
+ CompilationReason::kBootAfterMainlineUpdate);
} // namespace metrics
} // namespace art
diff --git a/libartbase/base/metrics/metrics_test.cc b/libartbase/base/metrics/metrics_test.cc
index 6c2e0451f4..324d83d8ac 100644
--- a/libartbase/base/metrics/metrics_test.cc
+++ b/libartbase/base/metrics/metrics_test.cc
@@ -741,6 +741,8 @@ TEST(CompilerReason, FromName) {
CompilationReason::kError);
ASSERT_EQ(CompilationReasonFromName("vdex"),
CompilationReason::kVdex);
+ ASSERT_EQ(CompilationReasonFromName("boot-after-mainline-update"),
+ CompilationReason::kBootAfterMainlineUpdate);
}
TEST(CompilerReason, Name) {
@@ -782,6 +784,8 @@ TEST(CompilerReason, Name) {
"error");
ASSERT_EQ(CompilationReasonName(CompilationReason::kVdex),
"vdex");
+ ASSERT_EQ(CompilationReasonName(CompilationReason::kBootAfterMainlineUpdate),
+ "boot-after-mainline-update");
}
} // namespace metrics
} // namespace art
diff --git a/runtime/metrics/statsd.cc b/runtime/metrics/statsd.cc
index 9a115309fe..7002f22fae 100644
--- a/runtime/metrics/statsd.cc
+++ b/runtime/metrics/statsd.cc
@@ -271,6 +271,9 @@ constexpr int32_t EncodeCompilationReason(CompilationReason reason) {
return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_CMDLINE;
case CompilationReason::kVdex:
return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_VDEX;
+ case CompilationReason::kBootAfterMainlineUpdate:
+ return statsd::
+ ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT_AFTER_MAINLINE_UPDATE;
}
}