Index: update_attempter.cc |
diff --git a/update_attempter.cc b/update_attempter.cc |
index b5d9644970e94abc67efd75a35cca9247f839654..76a0d6349a10fd9e2ef63c0af9c8079deb13c88d 100644 |
--- a/update_attempter.cc |
+++ b/update_attempter.cc |
@@ -13,7 +13,10 @@ |
#include <tr1/memory> |
#include <string> |
#include <vector> |
+ |
#include <glib.h> |
+ |
+#include "metrics/metrics_library.h" |
#include "update_engine/dbus_service.h" |
#include "update_engine/download_action.h" |
#include "update_engine/filesystem_copier_action.h" |
@@ -205,6 +208,14 @@ void UpdateAttempter::ProcessingDone(const ActionProcessor* processor, |
if (code == kActionCodeSuccess) { |
SetStatusAndNotify(UPDATE_STATUS_UPDATED_NEED_REBOOT); |
utils::WriteFile(kUpdateCompletedMarker, "", 0); |
+ |
+ // Report the time it took to update the system. |
+ int64_t update_time = time(NULL) - last_checked_time_; |
+ metrics_lib_->SendToUMA("Installer.UpdateTime", |
adlr
2010/07/20 00:08:57
s/Installer/UpdateEngine/?
petkov
2010/07/20 00:19:44
The convention we've been trying to follow is to k
|
+ static_cast<int>(update_time), // sample |
+ 1, // min = 1 second |
+ 20 * 60, // max = 20 minutes |
adlr
2010/07/20 00:08:57
i could definitely see the long tail of updates ta
petkov
2010/07/20 00:19:44
The default histogram layout is exponential -- sma
|
+ 50); // buckets |
} else { |
LOG(INFO) << "Update failed."; |
SetStatusAndNotify(UPDATE_STATUS_IDLE); |