diff --git a/metrics_reporter_android.cc b/metrics_reporter_android.cc
index 4a57918..bdc245e 100644
--- a/metrics_reporter_android.cc
+++ b/metrics_reporter_android.cc
@@ -17,31 +17,120 @@
 #include "update_engine/metrics_reporter_android.h"
 
 #ifndef _UE_SIDELOAD
+#include <string>
+
 #include <metricslogger/metrics_logger.h>
+
+#include "update_engine/common/constants.h"
 #endif  // _UE_SIDELOAD
 
+namespace {
+#ifndef _UE_SIDELOAD
+void LogHistogram(const std::string& metrics, int value) {
+  android::metricslogger::LogHistogram(metrics, value);
+  LOG(INFO) << "uploading " << value << "to histogram for metric " << metrics;
+}
+#endif
+}  // namespace
+
 namespace chromeos_update_engine {
 
 namespace metrics {
 
 #ifndef _UE_SIDELOAD
-const char kMetricsUpdateEngineErrorCode[] = "ota_update_engine_error_code";
+// The histograms are defined in:
+// depot/google3/analysis/uma/configs/clearcut/TRON/histograms.xml
+constexpr char kMetricsUpdateEngineAttemptNumber[] =
+    "ota_update_engine_attempt_count";
+constexpr char kMetricsUpdateEngineAttemptResult[] =
+    "ota_update_engine_attempt_result";
+constexpr char kMetricsUpdateEngineAttemptDurationInMinutes[] =
+    "ota_update_engine_attempt_duration_in_minutes";
+constexpr char kMetricsUpdateEngineAttemptDurationUptimeInMinutes[] =
+    "ota_update_engine_attempt_duration_uptime_in_minutes";
+constexpr char kMetricsUpdateEngineAttemptErrorCode[] =
+    "ota_update_engine_attempt_error_code";
+constexpr char kMetricsUpdateEngineAttemptPayloadSizeMiB[] =
+    "ota_update_engine_attempt_payload_size_mib";
+constexpr char kMetricsUpdateEngineAttemptPayloadType[] =
+    "ota_update_engine_attempt_payload_type";
+
+constexpr char kMetricsUpdateEngineSuccessfulUpdateAttemptCount[] =
+    "ota_update_engine_successful_update_attempt_count";
+constexpr char kMetricsUpdateEngineSuccessfulUpdateTotalDurationInMinutes[] =
+    "ota_update_engine_successful_update_total_duration_in_minutes";
+constexpr char kMetricsUpdateEngineSuccessfulUpdatePayloadSizeMiB[] =
+    "ota_update_engine_successful_update_payload_size_mib";
+constexpr char kMetricsUpdateEngineSuccessfulUpdatePayloadType[] =
+    "ota_update_engine_successful_update_payload_type";
+constexpr char kMetricsUpdateEngineSuccessfulUpdateRebootCount[] =
+    "ota_update_engine_successful_update_reboot_count";
 #endif
 }  // namespace metrics
 
 void MetricsReporterAndroid::ReportUpdateAttemptMetrics(
     SystemState* /* system_state */,
-    int /* attempt_number */,
-    PayloadType /* payload_type */,
-    base::TimeDelta /* duration */,
-    base::TimeDelta /* duration_uptime */,
-    int64_t /* payload_size */,
-    metrics::AttemptResult /* attempt_result */,
+    int attempt_number,
+    PayloadType payload_type,
+    base::TimeDelta duration,
+    base::TimeDelta duration_uptime,
+    int64_t payload_size,
+    metrics::AttemptResult attempt_result,
     ErrorCode error_code) {
 // No need to log histogram under sideload mode.
 #ifndef _UE_SIDELOAD
-  android::metricslogger::LogHistogram(metrics::kMetricsUpdateEngineErrorCode,
-                                       static_cast<int>(error_code));
+  LogHistogram(metrics::kMetricsUpdateEngineAttemptNumber, attempt_number);
+  LogHistogram(metrics::kMetricsUpdateEngineAttemptPayloadType,
+               static_cast<int>(payload_type));
+  LogHistogram(metrics::kMetricsUpdateEngineAttemptDurationInMinutes,
+               duration.InMinutes());
+  LogHistogram(metrics::kMetricsUpdateEngineAttemptDurationUptimeInMinutes,
+               duration_uptime.InMinutes());
+
+  int64_t payload_size_mib = payload_size / kNumBytesInOneMiB;
+  LogHistogram(metrics::kMetricsUpdateEngineAttemptPayloadSizeMiB,
+               payload_size_mib);
+
+  LogHistogram(metrics::kMetricsUpdateEngineAttemptResult,
+               static_cast<int>(attempt_result));
+  LogHistogram(metrics::kMetricsUpdateEngineAttemptErrorCode,
+               static_cast<int>(error_code));
+#endif
+}
+
+void MetricsReporterAndroid::ReportSuccessfulUpdateMetrics(
+    int attempt_count,
+    int /* updates_abandoned_count */,
+    PayloadType payload_type,
+    int64_t payload_size,
+    int64_t* /* num_bytes_downloaded */,
+    int /* download_overhead_percentage */,
+    base::TimeDelta total_duration,
+    int reboot_count,
+    int /* url_switch_count */) {
+#ifndef _UE_SIDELOAD
+  LogHistogram(metrics::kMetricsUpdateEngineSuccessfulUpdateAttemptCount,
+               attempt_count);
+  LogHistogram(metrics::kMetricsUpdateEngineSuccessfulUpdatePayloadType,
+               static_cast<int>(payload_type));
+
+  int64_t payload_size_mib = payload_size / kNumBytesInOneMiB;
+  LogHistogram(metrics::kMetricsUpdateEngineSuccessfulUpdatePayloadSizeMiB,
+               payload_size_mib);
+
+  LogHistogram(
+      metrics::kMetricsUpdateEngineSuccessfulUpdateTotalDurationInMinutes,
+      total_duration.InMinutes());
+  LogHistogram(metrics::kMetricsUpdateEngineSuccessfulUpdateRebootCount,
+               reboot_count);
+#endif
+}
+
+void MetricsReporterAndroid::ReportAbnormallyTerminatedUpdateAttemptMetrics() {
+#ifndef _UE_SIDELOAD
+  int attempt_result =
+      static_cast<int>(metrics::AttemptResult::kAbnormalTermination);
+  LogHistogram(metrics::kMetricsUpdateEngineAttemptResult, attempt_result);
 #endif
 }
 
diff --git a/metrics_reporter_android.h b/metrics_reporter_android.h
index b83e651..373730b 100644
--- a/metrics_reporter_android.h
+++ b/metrics_reporter_android.h
@@ -57,7 +57,7 @@
       metrics::DownloadErrorCode payload_download_error_code,
       metrics::ConnectionType connection_type) override {}
 
-  void ReportAbnormallyTerminatedUpdateAttemptMetrics() override {}
+  void ReportAbnormallyTerminatedUpdateAttemptMetrics() override;
 
   void ReportSuccessfulUpdateMetrics(
       int attempt_count,
@@ -68,7 +68,7 @@
       int download_overhead_percentage,
       base::TimeDelta total_duration,
       int reboot_count,
-      int url_switch_count) override {}
+      int url_switch_count) override;
 
   void ReportCertificateCheckMetrics(ServerToCheck server_to_check,
                                      CertificateCheckResult result) override {}
diff --git a/update_attempter_android.cc b/update_attempter_android.cc
index 22bb4c2..dbddfe3 100644
--- a/update_attempter_android.cc
+++ b/update_attempter_android.cc
@@ -557,13 +557,14 @@
       metrics_utils::GetAttemptResult(error_code);
   Time attempt_start_time = Time::FromInternalValue(
       metrics_utils::GetPersistedValue(kPrefsUpdateTimestampStart, prefs_));
+  TimeDelta duration = clock_->GetBootTime() - attempt_start_time;
   TimeDelta duration_uptime = clock_->GetMonotonicTime() - attempt_start_time;
 
   metrics_reporter_->ReportUpdateAttemptMetrics(
       nullptr,  // system_state
       static_cast<int>(attempt_number),
       payload_type,
-      TimeDelta(),
+      duration,
       duration_uptime,
       payload_size,
       attempt_result,
@@ -581,7 +582,7 @@
         payload_size,
         nullptr,  // num bytes downloaded
         0,        // download overhead percentage
-        duration_uptime,
+        duration,
         static_cast<int>(reboot_count),
         0);  // url_switch_count
   }
diff --git a/update_attempter_android_unittest.cc b/update_attempter_android_unittest.cc
index 6c0718a..ac6cec2 100644
--- a/update_attempter_android_unittest.cc
+++ b/update_attempter_android_unittest.cc
@@ -120,16 +120,19 @@
   prefs_.SetString(kPrefsPreviousVersion, "56789");
   prefs_.SetInt64(kPrefsUpdateTimestampStart, 12345);
 
-  Time now = Time::FromInternalValue(22345);
-  clock_->SetMonotonicTime(now);
-  TimeDelta duration = now - Time::FromInternalValue(12345);
+  Time boot_time = Time::FromInternalValue(22345);
+  Time up_time = Time::FromInternalValue(21345);
+  clock_->SetBootTime(boot_time);
+  clock_->SetMonotonicTime(up_time);
+  TimeDelta duration = boot_time - Time::FromInternalValue(12345);
+  TimeDelta duration_uptime = up_time - Time::FromInternalValue(12345);
   EXPECT_CALL(
       *metrics_reporter_,
       ReportUpdateAttemptMetrics(_,
                                  2,
                                  _,
-                                 _,
                                  duration,
+                                 duration_uptime,
                                  _,
                                  metrics::AttemptResult::kUpdateSucceeded,
                                  ErrorCode::kSuccess))
