OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CHROME_BROWSER_POLICY_CLOUD_ENTERPRISE_METRICS_H_ | |
6 #define CHROME_BROWSER_POLICY_CLOUD_ENTERPRISE_METRICS_H_ | |
7 | |
8 namespace policy { | |
9 | |
10 // Metrics collected for enterprise events. | |
11 | |
12 // Events related to fetching, saving and loading DM server tokens. | |
13 // These metrics are collected both for device and user tokens. | |
14 enum MetricToken { | |
15 // A cached token was successfully loaded from disk. | |
16 kMetricTokenLoadSucceeded, | |
17 // Reading a cached token from disk failed. | |
18 kMetricTokenLoadFailed, | |
19 | |
20 // A token fetch request was sent to the DM server. | |
21 kMetricTokenFetchRequested, | |
22 // The request was invalid, or the HTTP request failed. | |
23 kMetricTokenFetchRequestFailed, | |
24 // Error HTTP status received, or the DM server failed in another way. | |
25 kMetricTokenFetchServerFailed, | |
26 // A response to the fetch request was received. | |
27 kMetricTokenFetchResponseReceived, | |
28 // The response received was invalid. This happens when some expected data | |
29 // was not present in the response. | |
30 kMetricTokenFetchBadResponse, | |
31 // DM server reported that management is not supported. | |
32 kMetricTokenFetchManagementNotSupported, | |
33 // DM server reported that the given device ID was not found. | |
34 kMetricTokenFetchDeviceNotFound, | |
35 // DM token successfully retrieved. | |
36 kMetricTokenFetchOK, | |
37 | |
38 // Successfully cached a token to disk. | |
39 kMetricTokenStoreSucceeded, | |
40 // Caching a token to disk failed. | |
41 kMetricTokenStoreFailed, | |
42 | |
43 // DM server reported that the device-id generated is not unique. | |
44 kMetricTokenFetchDeviceIdConflict, | |
45 // DM server reported that the serial number we try to register is invalid. | |
46 kMetricTokenFetchInvalidSerialNumber, | |
47 // DM server reported that the licenses for the domain have expired or been | |
48 // exhausted. | |
49 kMetricMissingLicenses, | |
50 | |
51 kMetricTokenSize // Must be the last. | |
52 }; | |
53 | |
54 // Events related to fetching, saving and loading user and device policies. | |
55 enum MetricPolicy { | |
56 // A cached policy was successfully loaded from disk. | |
57 kMetricPolicyLoadSucceeded, | |
58 // Reading a cached policy from disk failed. | |
59 kMetricPolicyLoadFailed, | |
60 | |
61 // A policy fetch request was sent to the DM server. | |
62 kMetricPolicyFetchRequested, | |
63 // The request was invalid, or the HTTP request failed. | |
64 kMetricPolicyFetchRequestFailed, | |
65 // Error HTTP status received, or the DM server failed in another way. | |
66 kMetricPolicyFetchServerFailed, | |
67 // Policy not found for the given user or device. | |
68 kMetricPolicyFetchNotFound, | |
69 // DM server didn't accept the token used in the request. | |
70 kMetricPolicyFetchInvalidToken, | |
71 // A response to the policy fetch request was received. | |
72 kMetricPolicyFetchResponseReceived, | |
73 // The policy response message didn't contain a policy, or other data was | |
74 // missing. | |
75 kMetricPolicyFetchBadResponse, | |
76 // Failed to decode the policy. | |
77 kMetricPolicyFetchInvalidPolicy, | |
78 // The device policy was rejected because its signature was invalid. | |
79 kMetricPolicyFetchBadSignature, | |
80 // Rejected policy because its timestamp is in the future. | |
81 kMetricPolicyFetchTimestampInFuture, | |
82 // Device policy rejected because the device is not managed. | |
83 kMetricPolicyFetchNonEnterpriseDevice, | |
84 // The policy was provided for a username that is different from the device | |
85 // owner, and the policy was rejected. | |
86 kMetricPolicyFetchUserMismatch, | |
87 // The policy was rejected for another reason. Currently this can happen | |
88 // only for device policies, when the SignedSettings fail to store or retrieve | |
89 // a stored policy. | |
90 kMetricPolicyFetchOtherFailed, | |
91 // The fetched policy was accepted. | |
92 kMetricPolicyFetchOK, | |
93 // The policy just fetched didn't have any changes compared to the cached | |
94 // policy. | |
95 kMetricPolicyFetchNotModified, | |
96 | |
97 // Successfully cached a policy to disk. | |
98 kMetricPolicyStoreSucceeded, | |
99 // Caching a policy to disk failed. | |
100 kMetricPolicyStoreFailed, | |
101 | |
102 kMetricPolicySize // Must be the last. | |
103 }; | |
104 | |
105 // Events related to device enrollment. | |
106 enum MetricEnrollment { | |
107 // The enrollment screen was closed without completing the enrollment | |
108 // process. | |
109 kMetricEnrollmentCancelled, | |
110 // The user submitted credentials and started the enrollment process. | |
111 kMetricEnrollmentStarted, | |
112 // Enrollment failed due to a network error. | |
113 kMetricEnrollmentNetworkFailed, | |
114 // Enrollment failed because logging in to Gaia failed. | |
115 kMetricEnrollmentLoginFailed, | |
116 // Enrollment failed because it is not supported for the account used. | |
117 kMetricEnrollmentNotSupported, | |
118 // Enrollment failed because it failed to apply device policy. | |
119 kMetricEnrollmentPolicyFailed, | |
120 // Enrollment failed due to an unexpected error. This currently happens when | |
121 // the Gaia auth token is not issued for the DM service, the device cloud | |
122 // policy subsystem isn't initialized, or when fetching Gaia tokens fails | |
123 // for an unknown reason. | |
124 kMetricEnrollmentOtherFailed, | |
125 // Enrollment was successful. | |
126 kMetricEnrollmentOK, | |
127 // Enrollment failed because the serial number we try to register is not | |
128 // assigned to the domain used. | |
129 kMetricEnrollmentInvalidSerialNumber, | |
130 // Auto-enrollment started automatically after the user signed in. | |
131 kMetricEnrollmentAutoStarted, | |
132 // Auto-enrollment failed. | |
133 kMetricEnrollmentAutoFailed, | |
134 // Auto-enrollment was retried after having failed before. | |
135 kMetricEnrollmentAutoRetried, | |
136 // Auto-enrollment was canceled through the opt-out dialog. | |
137 kMetricEnrollmentAutoCancelled, | |
138 // Auto-enrollment succeeded. | |
139 kMetricEnrollmentAutoOK, | |
140 // Enrollment failed because the enrollment mode was not supplied by the | |
141 // DMServer or the mode is not known to the client. | |
142 kMetricEnrollmentInvalidEnrollmentMode, | |
143 // Auto-enrollment is not supported for the mode supplied by the server. | |
144 // This presently means trying to auto-enroll in kiosk mode. | |
145 kMetricEnrollmentAutoEnrollmentNotSupported, | |
146 // The lockbox initialization has taken too long to complete and the | |
147 // enrollment has been canceled because of that. | |
148 kMetricLockboxTimeoutError, | |
149 // The username used to re-enroll the device does not belong to the domain | |
150 // that the device was initially enrolled to. | |
151 kMetricEnrollmentWrongUserError, | |
152 // DM server reported that the licenses for the domain has expired or been | |
153 // exhausted. | |
154 kMetricMissingLicensesError, | |
155 // Enrollment failed because the robot account auth code couldn't be | |
156 // fetched from the DM Server. | |
157 kMetricEnrollmentRobotAuthCodeFetchFailed, | |
158 // Enrollment failed because the robot account auth code couldn't be | |
159 // exchanged for a refresh token. | |
160 kMetricEnrollmentRobotRefreshTokenFetchFailed, | |
161 // Enrollment failed because the robot account refresh token couldn't be | |
162 // persisted on the device. | |
163 kMetricEnrollmentRobotRefreshTokenStoreFailed, | |
164 | |
165 kMetricEnrollmentSize // Must be the last. | |
166 }; | |
167 | |
168 // Events related to policy refresh. | |
169 enum MetricPolicyRefresh { | |
170 // A refresh occurred while the policy was not invalidated and the policy was | |
171 // changed. Invalidations were enabled. | |
172 METRIC_POLICY_REFRESH_CHANGED, | |
173 // A refresh occurred while the policy was not invalidated and the policy was | |
174 // changed. Invalidations were disabled. | |
175 METRIC_POLICY_REFRESH_CHANGED_NO_INVALIDATIONS, | |
176 // A refresh occurred while the policy was not invalidated and the policy was | |
177 // unchanged. | |
178 METRIC_POLICY_REFRESH_UNCHANGED, | |
179 // A refresh occurred while the policy was invalidated and the policy was | |
180 // changed. | |
181 METRIC_POLICY_REFRESH_INVALIDATED_CHANGED, | |
182 // A refresh occurred while the policy was invalidated and the policy was | |
183 // unchanged. | |
184 METRIC_POLICY_REFRESH_INVALIDATED_UNCHANGED, | |
185 | |
186 METRIC_POLICY_REFRESH_SIZE // Must be the last. | |
187 }; | |
188 | |
189 // Names for the UMA counters. They are shared from here since the events | |
190 // from the same enum above can be triggered in different files, and must use | |
191 // the same UMA histogram name. | |
192 extern const char kMetricToken[]; | |
193 extern const char kMetricPolicy[]; | |
194 extern const char kMetricEnrollment[]; | |
195 extern const char kMetricPolicyRefresh[]; | |
196 extern const char kMetricPolicyInvalidations[]; | |
197 | |
198 } // namespace policy | |
199 | |
200 #endif // CHROME_BROWSER_POLICY_CLOUD_ENTERPRISE_METRICS_H_ | |
OLD | NEW |