Chromium Code Reviews| Index: chrome/browser/media/router/media_router_metrics.cc |
| diff --git a/chrome/browser/media/router/media_router_metrics.cc b/chrome/browser/media/router/media_router_metrics.cc |
| index 3da4c634908d4ac17a1f8b82f1630b71f3d38a79..a64b98a813f488d074580d490e4188ca4ef9b2eb 100644 |
| --- a/chrome/browser/media/router/media_router_metrics.cc |
| +++ b/chrome/browser/media/router/media_router_metrics.cc |
| @@ -6,10 +6,23 @@ |
| #include "base/macros.h" |
| #include "base/metrics/histogram_macros.h" |
| +#include "base/time/default_clock.h" |
| + |
| +namespace { |
| +// How long to wait between device counts metrics are recorded. Set to 1 hour. |
| +const int kDeviceCountMetricThresholdMins = 60; |
|
Ilya Sherman
2017/06/07 04:57:03
What's the reason for this? What's the motivation
zhaobin
2017/06/07 20:45:56
To keep device count recording mechanism in browse
|
| +} // namespace |
| namespace media_router { |
| +MediaRouterMetrics::MediaRouterMetrics() : clock_(new base::DefaultClock()) {} |
| +MediaRouterMetrics::~MediaRouterMetrics() = default; |
| + |
| // static |
| +const char MediaRouterMetrics::kHistogramDialAvailableDeviceCount[] = |
| + "MediaRouter.Dial.AvailableDevicesCount"; |
| +const char MediaRouterMetrics::kHistogramDialKnownDeviceCount[] = |
| + "MediaRouter.Dial.KnownDevicesCount"; |
| const char MediaRouterMetrics::kHistogramIconClickLocation[] = |
| "MediaRouter.Icon.Click.Location"; |
| const char MediaRouterMetrics::kHistogramUiDialogPaint[] = |
| @@ -63,4 +76,20 @@ void MediaRouterMetrics::RecordRouteCreationOutcome( |
| static_cast<int>(MediaRouterRouteCreationOutcome::TOTAL_COUNT)); |
| } |
| +void MediaRouterMetrics::RecordDialDeviceCounts(size_t available_device_count, |
| + size_t known_device_count) { |
| + if (clock_->Now() - device_count_metrics_record_time_ < |
| + base::TimeDelta::FromMinutes(kDeviceCountMetricThresholdMins)) { |
| + return; |
| + } |
| + UMA_HISTOGRAM_COUNTS_100(kHistogramDialAvailableDeviceCount, |
| + available_device_count); |
| + UMA_HISTOGRAM_COUNTS_100(kHistogramDialKnownDeviceCount, known_device_count); |
| + device_count_metrics_record_time_ = clock_->Now(); |
| +} |
| + |
| +void MediaRouterMetrics::SetClockForTest(std::unique_ptr<base::Clock> clock) { |
| + clock_ = std::move(clock); |
| +} |
| + |
| } // namespace media_router |