[metrics] Add prebuilt and cmdline compilation reason

Test: manual
Bug: 188104237
Change-Id: I91cb31ddd178230bc435672b6a657cd9eb572c31
diff --git a/libartbase/base/metrics/metrics.h b/libartbase/base/metrics/metrics.h
index 316eb7a..72d8365 100644
--- a/libartbase/base/metrics/metrics.h
+++ b/libartbase/base/metrics/metrics.h
@@ -96,6 +96,8 @@
   kInactive,
   kShared,
   kInstallWithDexMetadata,
+  kPrebuilt,
+  kCmdLine
 };
 
 constexpr const char* CompilationReasonName(CompilationReason reason) {
@@ -132,6 +134,10 @@
       return "shared";
     case CompilationReason::kInstallWithDexMetadata:
       return "install-with-dex-metadata";
+    case CompilationReason::kPrebuilt:
+      return "prebuilt";
+    case CompilationReason::kCmdLine:
+      return "cmdline";
   }
 }
 
@@ -182,6 +188,12 @@
   if (name == "install-with-dex-metadata") {
     return CompilationReason::kInstallWithDexMetadata;
   }
+  if (name == "prebuilt") {
+    return CompilationReason::kPrebuilt;
+  }
+  if (name == "cmdline") {
+    return CompilationReason::kCmdLine;
+  }
   return CompilationReason::kError;
 }
 
diff --git a/libartbase/base/metrics/metrics_common.cc b/libartbase/base/metrics/metrics_common.cc
index 7805f51..c8c8701 100644
--- a/libartbase/base/metrics/metrics_common.cc
+++ b/libartbase/base/metrics/metrics_common.cc
@@ -216,6 +216,10 @@
 static_assert(
     CompilationReasonFromName(CompilationReasonName(CompilationReason::kInstallWithDexMetadata)) ==
     CompilationReason::kInstallWithDexMetadata);
+static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kPrebuilt)) ==
+              CompilationReason::kPrebuilt);
+static_assert(CompilationReasonFromName(CompilationReasonName(CompilationReason::kCmdLine)) ==
+              CompilationReason::kCmdLine);
 
 }  // namespace metrics
 }  // namespace art
diff --git a/runtime/metrics/statsd.cc b/runtime/metrics/statsd.cc
index 7dc2300..16aac9b 100644
--- a/runtime/metrics/statsd.cc
+++ b/runtime/metrics/statsd.cc
@@ -147,6 +147,10 @@
       return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_BOOT_AFTER_OTA;
     case CompilationReason::kInstallFast:
       return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_INSTALL_FAST;
+    case CompilationReason::kPrebuilt:
+      return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_PREBUILT;
+    case CompilationReason::kCmdLine:
+      return statsd::ART_DATUM_REPORTED__COMPILATION_REASON__ART_COMPILATION_REASON_CMDLINE;
   }
 }