summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autofill/autofill_metrics.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/autofill/autofill_metrics.h')
-rw-r--r--chrome/browser/autofill/autofill_metrics.h74
1 files changed, 49 insertions, 25 deletions
diff --git a/chrome/browser/autofill/autofill_metrics.h b/chrome/browser/autofill/autofill_metrics.h
index d461668..6318274 100644
--- a/chrome/browser/autofill/autofill_metrics.h
+++ b/chrome/browser/autofill/autofill_metrics.h
@@ -6,32 +6,56 @@
#define CHROME_BROWSER_AUTOFILL_AUTOFILL_METRICS_H_
#pragma once
-namespace autofill_metrics {
-
-// Each of these should be logged at most once per query to the server, which in
-// turn should occur at most once per page load.
-enum ServerQueryMetricType {
- // Logged for each query sent to the server
- QUERY_SENT = 0,
- // Logged for each query response received from the server
- QUERY_RESPONSE_RECEIVED,
- // Logged for each parsable response received from the server
- QUERY_RESPONSE_PARSED,
- // Logged for each parsable response that provided no improvements relative to
- // our heuristics.
- QUERY_RESPONSE_MATCHED_LOCAL_HEURISTICS,
- // Logged for each page for which our heuristics detected at least one
- // auto-fillable field, but the server response overrode the type of at least
- // one field
- QUERY_RESPONSE_OVERRODE_LOCAL_HEURISTICS,
- // Logged for each page for which our heuristics did not detect any
- // auto-fillable fields, but the server response did detect some.
- QUERY_RESPONSE_WITH_NO_LOCAL_HEURISTICS,
- NUM_SERVER_QUERY_METRICS
-};
+#include "base/basictypes.h"
+
+class AutoFillMetrics {
+ public:
+ // Each of these is logged at most once per query to the server, which in turn
+ // occurs at most once per page load.
+ enum ServerQueryMetric {
+ // Logged for each query sent to the server.
+ QUERY_SENT = 0,
+ // Logged for each query response received from the server.
+ QUERY_RESPONSE_RECEIVED,
+ // Logged for each parsable response received from the server.
+ QUERY_RESPONSE_PARSED,
+ // Logged for each parsable response that provided no improvements relative
+ // to our heuristics.
+ QUERY_RESPONSE_MATCHED_LOCAL_HEURISTICS,
+ // Logged for each page for which our heuristics detected at least one
+ // auto-fillable field, but the server response overrode the type of at
+ // least one field.
+ QUERY_RESPONSE_OVERRODE_LOCAL_HEURISTICS,
+ // Logged for each page for which our heuristics did not detect any
+ // auto-fillable fields, but the server response did detect some.
+ QUERY_RESPONSE_WITH_NO_LOCAL_HEURISTICS,
+ NUM_SERVER_QUERY_METRICS
+ };
+
+ // Each of these is logged at most once per form submission.
+ enum QualityMetric {
+ // Logged for each field in a submitted form.
+ FIELD_SUBMITTED = 0,
+ // A simple successs metric, logged for each field that returns true for
+ // |is_autofilled()| and has a value that is present in the personal data
+ // manager. There is a small chance of false positives from filling via
+ // autocomplete rather than autofill.
+ FIELD_AUTOFILLED,
+ // A simple failure metric, logged for each field that returns false for
+ // |is_autofilled()| but as a value that is present in the personal data
+ // manager.
+ FIELD_AUTOFILL_FAILED,
+ NUM_QUALITY_METRICS
+ };
-void LogServerQueryMetric(ServerQueryMetricType type);
+ AutoFillMetrics();
+ virtual ~AutoFillMetrics();
-} // namespace autofill_metrics
+ virtual void Log(ServerQueryMetric metric) const;
+ virtual void Log(QualityMetric metric) const;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(AutoFillMetrics);
+};
#endif // CHROME_BROWSER_AUTOFILL_AUTOFILL_METRICS_H_