Chromium Code Reviews| 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..0999b2f608c1e0162c7c0e27c1a75ba2f4883002 100644 |
| --- a/chrome/browser/autofill/autofill_metrics.h |
| +++ b/chrome/browser/autofill/autofill_metrics.h |
| @@ -6,32 +6,51 @@ |
| #define CHROME_BROWSER_AUTOFILL_AUTOFILL_METRICS_H_ |
| #pragma once |
| -namespace autofill_metrics { |
| +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 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 |
| -}; |
| + // 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; |
| +}; |
|
dhollowa
2010/12/14 00:01:55
nit: DISALLOW_COPY_AND_ASSIGN(AutoFillMetrics);
|
| #endif // CHROME_BROWSER_AUTOFILL_AUTOFILL_METRICS_H_ |