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..5601da925d95665c4a11ad409f261d33bf78cbcc 100644 |
| --- a/chrome/browser/autofill/autofill_metrics.h |
| +++ b/chrome/browser/autofill/autofill_metrics.h |
| @@ -6,32 +6,54 @@ |
| #define CHROME_BROWSER_AUTOFILL_AUTOFILL_METRICS_H_ |
| #pragma once |
| -namespace autofill_metrics { |
| +class AutoFillServerQueryMetricLogger { |
|
dhollowa
2010/12/12 07:07:51
I'd prefer to combine these two classes into a sin
Ilya Sherman
2010/12/13 22:13:51
Done.
|
| + 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 Metric { |
| + // 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 |
| + virtual ~AutoFillServerQueryMetricLogger(); |
| + virtual void Log(Metric metric) const; |
| }; |
| -void LogServerQueryMetric(ServerQueryMetricType type); |
| +class AutoFillQualityMetricLogger { |
| + public: |
| + // Each of these is logged at most once per form submission. |
| + enum Metric { |
| + // 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 |
| + }; |
| -} // namespace autofill_metrics |
| + virtual ~AutoFillQualityMetricLogger(); |
| + virtual void Log(Metric metric) const; |
| +}; |
| #endif // CHROME_BROWSER_AUTOFILL_AUTOFILL_METRICS_H_ |