summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-07 03:23:02 +0000
committerisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-07 03:23:02 +0000
commit40852822956d0f3178dd36974a29e0da63ba535b (patch)
treeb757e1cfd630b490ab66d4434518bcb82f1c48d4 /chrome
parentf0af366ed5b1caf7e65e43c799f103efaafbc23f (diff)
downloadchromium_src-40852822956d0f3178dd36974a29e0da63ba535b.zip
chromium_src-40852822956d0f3178dd36974a29e0da63ba535b.tar.gz
chromium_src-40852822956d0f3178dd36974a29e0da63ba535b.tar.bz2
Unroll Autofill metrics macros, since the metric names can vary over time.
BUG=none TEST=none Review URL: http://codereview.chromium.org/6806021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80745 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/autofill/autofill_metrics.cc31
1 files changed, 25 insertions, 6 deletions
diff --git a/chrome/browser/autofill/autofill_metrics.cc b/chrome/browser/autofill/autofill_metrics.cc
index 4395edc..b365840 100644
--- a/chrome/browser/autofill/autofill_metrics.cc
+++ b/chrome/browser/autofill/autofill_metrics.cc
@@ -7,6 +7,26 @@
#include "base/logging.h"
#include "base/metrics/histogram.h"
+namespace {
+
+void LogUMAHistogramEnumeration(const std::string& name,
+ int sample,
+ int boundary_value) {
+ // We can't use the UMA_HISTOGRAM_ENUMERATION macro here because the histogram
+ // name can vary over the duration of the program.
+ // Note that this leaks memory; that is expected behavior.
+ base::Histogram* counter =
+ base::LinearHistogram::FactoryGet(
+ name,
+ 1,
+ boundary_value,
+ boundary_value + 1,
+ base::Histogram::kUmaTargetedHistogramFlag);
+ counter->Add(sample);
+}
+
+} // namespace
+
AutofillMetrics::AutofillMetrics() {
}
@@ -35,8 +55,8 @@ void AutofillMetrics::Log(PredictedTypeQualityMetric metric,
if (!experiment_id.empty())
histogram_name += "_" + experiment_id;
- UMA_HISTOGRAM_ENUMERATION(histogram_name, metric,
- NUM_PREDICTED_TYPE_QUALITY_METRICS);
+ LogUMAHistogramEnumeration(histogram_name, metric,
+ NUM_PREDICTED_TYPE_QUALITY_METRICS);
}
void AutofillMetrics::Log(QualityMetric metric,
@@ -47,7 +67,7 @@ void AutofillMetrics::Log(QualityMetric metric,
if (!experiment_id.empty())
histogram_name += "_" + experiment_id;
- UMA_HISTOGRAM_ENUMERATION(histogram_name, metric, NUM_QUALITY_METRICS);
+ LogUMAHistogramEnumeration(histogram_name, metric, NUM_QUALITY_METRICS);
}
void AutofillMetrics::Log(ServerQueryMetric metric) const {
@@ -65,8 +85,8 @@ void AutofillMetrics::Log(ServerTypeQualityMetric metric,
if (!experiment_id.empty())
histogram_name += "_" + experiment_id;
- UMA_HISTOGRAM_ENUMERATION(histogram_name, metric,
- NUM_SERVER_TYPE_QUALITY_METRICS);
+ LogUMAHistogramEnumeration(histogram_name, metric,
+ NUM_SERVER_TYPE_QUALITY_METRICS);
}
void AutofillMetrics::LogStoredProfileCount(size_t num_profiles) const {
@@ -76,4 +96,3 @@ void AutofillMetrics::LogStoredProfileCount(size_t num_profiles) const {
void AutofillMetrics::LogAddressSuggestionsCount(size_t num_suggestions) const {
UMA_HISTOGRAM_COUNTS("Autofill.AddressSuggestionsCount", num_suggestions);
}
-