| 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_
|
|
|