Index: chrome/browser/autofill/autofill_metrics.h |
diff --git a/chrome/browser/autofill/autofill_metrics.h b/chrome/browser/autofill/autofill_metrics.h |
index d461668880b9be136c9804799b85e5200d15522b..6318274f4dcee7f6cb7c1322de6a9dba0111add5 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_ |