OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "chrome/browser/engagement/site_engagement_metrics.h" |
| 6 |
| 7 #include "base/metrics/histogram_macros.h" |
| 8 #include "base/metrics/sparse_histogram.h" |
| 9 |
| 10 namespace { |
| 11 |
| 12 const char kTotalEngagementHistogram[] = |
| 13 "SiteEngagementService.TotalEngagement"; |
| 14 |
| 15 const char kTotalOriginsHistogram[] = "SiteEngagementService.OriginsEngaged"; |
| 16 |
| 17 const char kEngagementByOriginHistogram[] = |
| 18 "SiteEngagementService.EngagementByOrigin"; |
| 19 |
| 20 const char kOriginsWithMaxEngagementHistogram[] = |
| 21 "SiteEngagementService.OriginsWithMaxEngagement"; |
| 22 |
| 23 const char kOriginsWithMaxDailyEngagementHistogram[] = |
| 24 "SiteEngagementService.OriginsWithMaxDailyEngagement"; |
| 25 |
| 26 const char kEngagementTypeHistogram[] = "SiteEngagementService.EngagementType"; |
| 27 |
| 28 } // anonymous namespace |
| 29 |
| 30 void SiteEngagementMetrics::RecordTotalSiteEngagement( |
| 31 double total_engagement) { |
| 32 UMA_HISTOGRAM_COUNTS_100(kTotalEngagementHistogram, total_engagement); |
| 33 } |
| 34 |
| 35 void SiteEngagementMetrics::RecordTotalOriginsEngaged(int num_origins) { |
| 36 UMA_HISTOGRAM_COUNTS_100(kTotalOriginsHistogram, num_origins); |
| 37 } |
| 38 |
| 39 void SiteEngagementMetrics::RecordEngagementByOrigin( |
| 40 std::map<GURL, double> score_map) { |
| 41 for (const auto& value: score_map) |
| 42 UMA_HISTOGRAM_COUNTS_100(kEngagementByOriginHistogram, value.second); |
| 43 } |
| 44 |
| 45 void SiteEngagementMetrics::RecordOriginsWithMaxEngagement(int total_origins) { |
| 46 UMA_HISTOGRAM_COUNTS_100(kOriginsWithMaxEngagementHistogram, total_origins); |
| 47 } |
| 48 |
| 49 void SiteEngagementMetrics::RecordOriginsWithMaxDailyEngagement( |
| 50 int total_origins) { |
| 51 UMA_HISTOGRAM_COUNTS_100(kOriginsWithMaxDailyEngagementHistogram, |
| 52 total_origins); |
| 53 } |
| 54 |
| 55 void SiteEngagementMetrics::RecordEngagement(EngagementType type) { |
| 56 switch (type) { |
| 57 case ENGAGEMENT_NAVIGATION: |
| 58 UMA_HISTOGRAM_SPARSE_SLOWLY(kEngagementTypeHistogram, |
| 59 ENGAGEMENT_NAVIGATION); |
| 60 break; |
| 61 case ENGAGEMENT_KEYPRESS: |
| 62 UMA_HISTOGRAM_SPARSE_SLOWLY(kEngagementTypeHistogram, |
| 63 ENGAGEMENT_KEYPRESS); |
| 64 break; |
| 65 case ENGAGEMENT_MOUSE: |
| 66 UMA_HISTOGRAM_SPARSE_SLOWLY(kEngagementTypeHistogram, ENGAGEMENT_MOUSE); |
| 67 break; |
| 68 default: |
| 69 NOTREACHED() << "Invalid type passed to RecordUserInput()."; |
| 70 break; |
| 71 } |
| 72 } |
OLD | NEW |