Index: chrome/browser/policy/enterprise_metrics.h |
diff --git a/chrome/browser/policy/enterprise_metrics.h b/chrome/browser/policy/enterprise_metrics.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..599b1dc7c7da84bd6377d47d7102c86bb94d8fb6 |
--- /dev/null |
+++ b/chrome/browser/policy/enterprise_metrics.h |
@@ -0,0 +1,133 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_POLICY_ENTERPRISE_METRICS_H_ |
+#define CHROME_BROWSER_POLICY_ENTERPRISE_METRICS_H_ |
+#pragma once |
+ |
+namespace policy { |
+ |
+// Metrics collected for enterprise events. |
+ |
+// Events related to fetching, saving and loading DM server tokens. |
+// These metrics are collected both for device and user tokens. |
+enum MetricToken { |
+ // An attempt was made to load a locally cached token. |
+ kMetricTokenLoadRequested = 0, |
kmixter1
2011/06/30 23:28:59
Do you want to instead have loadsuccess? Otherwis
Joao da Silva
2011/07/07 15:30:13
Agree. The last CL is now logging successful loads
|
+ // Reading a cached token from disk failed. |
+ kMetricTokenLoadFailed, |
+ |
+ // A token fetch request was sent to the DM server. |
+ kMetricTokenFetchRequested, |
+ // The request was invalid, or the HTTP request failed. |
+ kMetricTokenFetchRequestFailed, |
+ // Error HTTP status received, or the DM server failed in another way. |
+ kMetricTokenFetchServerFailed, |
+ // A response to the fetch request was received. |
+ kMetricTokenFetchResponseReceived, |
+ // The response received was invalid. This happens when some expected data |
+ // was not present in the response. |
+ kMetricTokenFetchBadResponse, |
+ // DM server reported that management is not supported. |
+ kMetricTokenFetchManagementNotSupported, |
+ // DM server reported that the given device ID was not found. |
+ kMetricTokenFetchDeviceNotFound, |
+ // DM token successfully retrieved. |
+ kMetricTokenFetchOK, |
+ |
+ // An attempt was made to cache a token to disk. |
+ kMetricTokenStoreRequested, |
+ // Caching a token to disk failed. |
+ kMetricTokenStoreFailed, |
+ |
+ kMetricTokenSize // Must be the last. |
+}; |
+ |
+// Events related to fetching, saving and loading user and device policies. |
+enum MetricPolicy { |
+ // An attempt was made to load a locally cached policy. |
+ kMetricPolicyLoadRequested = 0, |
+ // Reading a cached policy from disk failed. |
+ kMetricPolicyLoadFailed, |
+ |
+ // A policy fetch request was sent to the DM server. |
+ kMetricPolicyFetchRequested, |
+ // The request was invalid, or the HTTP request failed. |
+ kMetricPolicyFetchRequestFailed, |
+ // Error HTTP status received, or the DM server failed in another way. |
+ kMetricPolicyFetchServerFailed, |
+ // Policy not found for the given user or device. |
+ kMetricPolicyFetchNotFound, |
+ // DM server didn't accept the token used in the request. |
+ kMetricPolicyFetchInvalidToken, |
+ // A response to the policy fetch request was received. |
+ kMetricPolicyFetchResponseReceived, |
+ // The policy response message didn't contain a policy, or other data was |
+ // missing. |
+ kMetricPolicyFetchBadResponse, |
+ // Failed to decode the policy. |
+ kMetricPolicyFetchInvalidPolicy, |
+ // The device policy was rejected because its signature was invalid. |
+ kMetricPolicyFetchBadSignature, |
+ // Rejected policy because its timestamp is in the future. |
+ kMetricPolicyFetchTimestampInFuture, |
+ // Device policy rejected because the device is not managed. |
+ kMetricPolicyFetchNonEnterpriseDevice, |
+ // The policy was provided for a username that is different from the device |
+ // owner, and the policy was rejected. |
+ kMetricPolicyFetchUserMismatch, |
+ // The policy was rejected for another reason. Currently this can happen |
+ // only for device policies, when the SignedSettings fail to store or retrieve |
+ // a stored policy. |
+ kMetricPolicyFetchOtherFailed, |
+ // The fetched policy was accepted. |
+ kMetricPolicyFetchOK, |
+ // The policy just fetched didn't have any changes compared to the cached |
+ // policy. |
+ kMetricPolicyFetchNotModified, |
+ |
+ // An attempt was made to cache a policy to disk. |
+ kMetricPolicyStoreRequested, |
+ // Caching a policy to disk failed. |
+ kMetricPolicyStoreFailed, |
+ |
+ kMetricPolicySize // Must be the last. |
+}; |
+ |
+// Events related to device enrollment. |
+enum MetricEnrollment { |
+ // The enrollment screen was closed without completing the enrollment |
+ // process. |
+ kMetricEnrollmentCancelled = 0, |
+ // The user submitted credentials and started the enrollment process. |
+ kMetricEnrollmentStarted, |
+ // Enrollment failed due to a network error. |
+ kMetricEnrollmentNetworkFailed, |
+ // Enrollment failed because logging in to Gaia failed. |
+ kMetricEnrollmentLoginFailed, |
+ // Enrollment failed because it is not supported for the account used. |
+ kMetricEnrollmentNotSupported, |
+ // Enrollment failed because it failed to apply device policy. |
+ kMetricEnrollmentPolicyFailed, |
+ // Enrollment failed due to an unexpected error. This currently happens when |
+ // the Gaia auth token is not issued for the DM service, the device cloud |
+ // policy subsystem isn't initialized, or when fetching Gaia tokens fails |
+ // for an unknown reason. |
+ kMetricEnrollmentOtherFailed, |
+ // Enrollment was successful. |
+ kMetricEnrollmentOK, |
+ |
+ kMetricEnrollmentSize // Must be the last. |
+}; |
+ |
+// Names for the UMA counters. They are shared from here since the events |
+// from the same enum above can be triggered in different files, and must use |
+// the same UMA histogram name. |
+extern const char kMetricToken[]; |
+extern const char kMetricPolicy[]; |
+extern const char kMetricEnrollment[]; |
+ |
+} // namespace policy |
+ |
+#endif // CHROME_BROWSER_POLICY_ENTERPRISE_METRICS_H_ |