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
diff --git a/libartbase/base/metrics/metrics.h b/libartbase/base/metrics/metrics.h
index 8432be5..ee98c04 100644
--- a/libartbase/base/metrics/metrics.h
+++ b/libartbase/base/metrics/metrics.h
@@ -117,26 +117,27 @@
};
// 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 2732088..6c4aa95 100644
--- a/libartbase/base/metrics/metrics_common.cc
+++ b/libartbase/base/metrics/metrics_common.cc
@@ -321,6 +321,11 @@
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 6c2e045..324d83d 100644
--- a/libartbase/base/metrics/metrics_test.cc
+++ b/libartbase/base/metrics/metrics_test.cc
@@ -741,6 +741,8 @@
CompilationReason::kError);
ASSERT_EQ(CompilationReasonFromName("vdex"),
CompilationReason::kVdex);
+ ASSERT_EQ(CompilationReasonFromName("boot-after-mainline-update"),
+ CompilationReason::kBootAfterMainlineUpdate);
}
TEST(CompilerReason, Name) {
@@ -782,6 +784,8 @@
"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 9a11530..7002f22 100644
--- a/runtime/metrics/statsd.cc
+++ b/runtime/metrics/statsd.cc
@@ -271,6 +271,9 @@
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;
}
}