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;
   }
 }
 
