blob: b5a67e2f8f5b0405003c34809d253d4bc4cad266 [file] [log] [blame]
<!--
Copyright 2020 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.
-->
<!--
This file is used to generate a comprehensive list of Enterprise histograms
along with a detailed description for each histogram.
For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
Please send CLs to chromium-metrics-reviews@google.com rather than to specific
individuals. These CLs will be automatically reassigned to a reviewer within
about 5 minutes. This approach helps the metrics team to load-balance incoming
reviews. Googlers can read more about this at go/gwsq-gerrit.
-->
<histogram-configuration>
<histograms>
<histogram name="Enterprise.ActiveDirectoryJoin"
enum="ActiveDirectoryDomainJoinType" expires_after="M97">
<owner>fsandrade@chromium.org</owner>
<owner>tomdobro@chromium.org</owner>
<summary>
The way device is joined to the Active Directory domain. This will be
recorded during successful enterprise enrollment and domain join.
</summary>
</histogram>
<histogram name="Enterprise.AppRestrictionLoadTime2" units="ms"
expires_after="2021-04-04">
<owner>twellington@google.com</owner>
<owner>tedchcoc@chromium.org</owner>
<summary>
Records the time it takes to retrieve applicaton restrictions from the
system. Android only.
</summary>
</histogram>
<histogram name="Enterprise.AppRestrictionLoadTime2.EmptyBundle" units="ms"
expires_after="2021-08-09">
<owner>twellington@google.com</owner>
<owner>tedchcoc@chromium.org</owner>
<summary>
Records the time it takes to retrieve applicaton restrictions from the
system when the retrieved Bundle is empty. Android only.
</summary>
</histogram>
<histogram name="Enterprise.AppRestrictionLoadTime2.NonEmptyBundle" units="ms"
expires_after="2021-08-09">
<owner>twellington@google.com</owner>
<owner>tedchcoc@chromium.org</owner>
<summary>
Records the time it takes to retrieve applicaton restrictions from the
system when the retrieved Bundle is not empty. Android only.
</summary>
</histogram>
<histogram name="Enterprise.AttributesTPMConsistency"
enum="EnterpriseAttributesTPMConsistencyType" expires_after="never">
<!-- expires-never: Needed for health check. -->
<owner>igorcov@chromium.org</owner>
<owner>vsavu@chromium.org</owner>
<summary>
Consistency between TPM lock state and absence/presence of install
attributes at boot.
</summary>
</histogram>
<histogram base="true" name="Enterprise.AutoEnrollmentBucketDownloadTime"
units="ms" expires_after="2021-08-15">
<!-- Name completed by histogram_suffixes name="EnterpriseAutoEnrollmentType". -->
<owner>pmarko@chromium.org</owner>
<owner>igorcov@chromium.org</owner>
<summary>
Duration of the bucket download part of the auto-enrollment protocol.
</summary>
</histogram>
<histogram base="true" name="Enterprise.AutoEnrollmentExtraTime" units="ms"
expires_after="2021-03-01">
<!-- Name completed by histogram_suffixes name="EnterpriseAutoEnrollmentType". -->
<owner>pmarko@chromium.org</owner>
<owner>igorcov@chromium.org</owner>
<summary>
Time since the user logged in until the auto-enrollment protocol completed.
0 is sampled when the protocol is done by the time the user logs in.
</summary>
</histogram>
<histogram base="true" name="Enterprise.AutoEnrollmentHashDanceSuccessTime"
units="ms" expires_after="2021-07-04">
<!-- Name completed by histogram_suffixes name="EnterpriseAutoEnrollmentType". -->
<owner>amraboelkher@google.com</owner>
<owner>mpolzer@google.com</owner>
<summary>
Duration of the hash dance to determine enrollment state of the device. Only
recorded if the hash dance finished successfully.
</summary>
</histogram>
<histogram
name="Enterprise.AutoEnrollmentPrivateSetMembershipHashDanceComparison"
enum="PrivateSetMembershipHashDanceComparison" expires_after="2021-09-01">
<owner>amraboelkher@google.com</owner>
<owner>mpolzer@google.com</owner>
<summary>
Comparison of hash dance and private set membership results used to
determine the initial enrollment state of the device.
</summary>
</histogram>
<histogram name="Enterprise.AutoEnrollmentPrivateSetMembershipRequestStatus"
enum="PrivateSetMembershipStatus" expires_after="2021-09-01">
<owner>amraboelkher@google.com</owner>
<owner>mpolzer@google.com</owner>
<summary>
The status of a private set membership request. This request is used to
determine the initial enrollment state of the device.
</summary>
</histogram>
<histogram name="Enterprise.AutoEnrollmentPrivateSetMembershipSuccessTime"
units="ms" expires_after="2021-09-01">
<owner>amraboelkher@google.com</owner>
<owner>mpolzer@google.com</owner>
<summary>
Duration of the private set membership request to determine enrollment state
of the device. Only recorded if it finished successfully.
</summary>
</histogram>
<histogram base="true" name="Enterprise.AutoEnrollmentProtocolTime" units="ms"
expires_after="2021-07-04">
<!-- Name completed by histogram_suffixes name="EnterpriseAutoEnrollmentType". -->
<owner>pmarko@chromium.org</owner>
<owner>igorcov@chromium.org</owner>
<summary>Total duration time of the auto-enrollment protocol.</summary>
</histogram>
<histogram base="true" name="Enterprise.AutoEnrollmentRequestNetworkErrorCode"
enum="NetErrorCodes" expires_after="2021-08-15">
<!-- Name completed by histogram_suffixes name="EnterpriseAutoEnrollmentType". -->
<owner>pmarko@chromium.org</owner>
<owner>igorcov@chromium.org</owner>
<summary>
Network error code (if applicable) for auto-enrollment requests.
</summary>
</histogram>
<histogram base="true" name="Enterprise.AutoEnrollmentRequestStatus"
enum="EnterpriseDeviceManagementStatus" expires_after="2021-08-09">
<!-- Name completed by histogram_suffixes name="EnterpriseAutoEnrollmentType". -->
<owner>pmarko@chromium.org</owner>
<owner>igorcov@chromium.org</owner>
<summary>URL fetcher status for auto-enrollment requests.</summary>
</histogram>
<histogram base="true" name="Enterprise.BrowserSigninIOS.SignedOutByPolicy"
enum="BooleanHit" expires_after="2021-06-30">
<owner>gujen@google.com</owner>
<owner>goanuj@google.com</owner>
<summary>
Recorded when a signed-in user is automatically signed out of the browser
due to the BrowserSignin policy being set to 0 (sign-in disabled) by their
organization. The sample is always recorded as true.
</summary>
</histogram>
<histogram base="true"
name="Enterprise.BrowserSigninIOS.SignInInterruptedByPolicy"
enum="BooleanHit" expires_after="2021-06-30">
<owner>gujen@google.com</owner>
<owner>goanuj@google.com</owner>
<summary>
Recorded when a user is in the process of signing in to the browser, but is
interrupted due to the BrowserSignin policy being set to 0 (sign-in
disabled) by their organization. The sample is always recorded as true.
</summary>
</histogram>
<histogram base="true" name="Enterprise.CachedDevicePolicyDeviceIdValidity"
enum="EnterprisePolicyDeviceIdValidity" expires_after="M95">
<owner>emaxx@chromium.org</owner>
<owner>rodmartin@chromium.org</owner>
<summary>
Result of the device ID validation in the device policy blob for those which
were loaded from disk. This validation happens on enrolled devices on
startup, on scheduled policy reloads that happen every few hours, and on
forced policy reloads.
</summary>
</histogram>
<histogram name="Enterprise.CBCMPolicyInvalidations"
enum="EnterprisePolicyInvalidations" expires_after="2021-06-16">
<owner>anthonyvd@google.com</owner>
<owner>cbe-eng@google.com</owner>
<summary>
Events for counting CBCM policy invalidations received with and without
payloads. Invalidations indicate that a policy has been updated and should
be refreshed. Payloads provide context about the policy update, but may be
absent if dropped by the invalidation service.
</summary>
</histogram>
<histogram name="Enterprise.CBCMPolicyRefresh" enum="EnterprisePolicyRefresh"
expires_after="2021-06-16">
<owner>anthonyvd@google.com</owner>
<owner>cbe-eng@google.com</owner>
<summary>
Events measuring effectiveness of refreshing CBCM policy when invalidations
are received from a service. For each refresh, indicates whether the policy
changed, and whether the policy was invalidated at the time of the refresh.
</summary>
</histogram>
<histogram name="Enterprise.CBCMRemoteCommand.Executed"
enum="RemoteCommandExecutionStatus" expires_after="2021-03-01">
<!-- Name completed by histogram_suffixes name="Enterprise.RemoteCommandType". -->
<owner>anthonyvd@google.com</owner>
<owner>cbe-eng@google.com</owner>
<summary>
Events for counting status of executed CBCM remote commands. The metric
includes only signed CBCM remote commands. Reports a final status of
finished remote command (e.g. success, failure or termination).
</summary>
</histogram>
<histogram name="Enterprise.CBCMRemoteCommand.Executed.Unsigned"
enum="RemoteCommandExecutionStatus" expires_after="2021-03-01">
<!-- Name completed by histogram_suffixes name="Enterprise.RemoteCommandType". -->
<owner>anthonyvd@google.com</owner>
<owner>cbe-eng@google.com</owner>
<summary>
Events for counting status of executed CBCM remote commands. The metric
includes only unsigned CBCM remote commands. Reports a final status of
finished remote command (e.g. success, failure or termination).
</summary>
</histogram>
<histogram name="Enterprise.CBCMRemoteCommand.Received"
enum="RemoteCommandReceivedStatus" expires_after="2021-03-01">
<owner>anthonyvd@google.com</owner>
<owner>cbe-eng@google.com</owner>
<summary>
Events for counting received CBCM remote commands. The metric includes
signed CBCM remote commands, both valid and invalid. Valid remote command is
counted by its type. Invalid remote command is counted by a reason why it is
considered invalid (e.g. unknown type or duplication).
</summary>
</histogram>
<histogram name="Enterprise.CBCMRemoteCommand.Received.Unsigned"
enum="RemoteCommandReceivedStatus" expires_after="2021-03-01">
<owner>anthonyvd@google.com</owner>
<owner>cbe-eng@google.com</owner>
<summary>
Events for counting received CBCM remote commands. The metric includes
unsigned CBCM remote commands, both valid and invalid. Valid remote command
is counted by its type. Invalid remote command is counted by a reason why it
is considered invalid (e.g. unknown type or duplication).
</summary>
</histogram>
<histogram name="Enterprise.CBCMRemoteCommandInvalidations"
enum="EnterprisePolicyInvalidations" expires_after="2021-03-01">
<owner>anthonyvd@google.com</owner>
<owner>cbe-eng@google.com</owner>
<summary>
Events for counting CBCM remote commands invalidations received with and
without payloads. Invalidations indicate that there is a remote command to
execute. Payloads provide context about the remote commands update, but may
be absent if dropped by the invalidation service.
</summary>
</histogram>
<histogram name="Enterprise.CloudExtensionRequestUpdated"
enum="EnterpriseCloudExtensionRequestListUpdate" expires_after="2021-10-01">
<owner>zmin@chromium.org</owner>
<owner>src/chrome/browser/enterprise/reporting/OWNERS</owner>
<summary>
Recorded when cloud extension request pending list is updated. Note that
when multiple requests are added or removed together, there will be only one
event recorded.
</summary>
</histogram>
<histogram name="Enterprise.CloudReportingBasicRequestSize" units="KB"
expires_after="2022-02-01">
<owner>zmin@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
The proto size of the basic Chrome browser cloud management reporting
request. When a report is separated into multiple requests, all of them
contain the basic request.
</summary>
</histogram>
<histogram name="Enterprise.CloudReportingRequestCount" units="requests"
expires_after="2022-02-01">
<owner>zmin@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
The number of request for one Chrome browser cloud management report. A
report is separated into multiple requests when it's too large.
</summary>
</histogram>
<histogram name="Enterprise.CloudReportingRequestSize" units="KB"
expires_after="2022-02-01">
<owner>zmin@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
The proto size of each Chrome browser cloud management reporting request. It
includes the requests which are more than 5MB and discarded.
</summary>
</histogram>
<histogram name="Enterprise.CloudReportingResponse"
enum="EnterpriseCloudReportingResponse" expires_after="2022-02-01">
<owner>zmin@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
The upload result for each cloud reporting request. Note that there may be
multiple requests per report. Also, one request may creates multiple data
point due to retry.
</summary>
</histogram>
<histogram name="Enterprise.CloudReportingUploadTrigger"
enum="ReportSchedulerReportTrigger" expires_after="never">
<!-- expires-never: this provides a generally useful signal regarding enterprise report uploads. -->
<owner>grt@chromium.org</owner>
<owner>src/chrome/browser/enterprise/reporting/OWNERS</owner>
<summary>
The trigger detected by the ReportScheduler responsible that led to an
attempt to upload an enterprise report.
</summary>
</histogram>
<histogram name="Enterprise.DeviceLocalAccountPolicyInvalidations2"
enum="EnterprisePolicyInvalidations" expires_after="2021-08-15">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting device local account policy invalidations received with
and without payloads. Invalidations indicate that a policy has been updated
and should be refreshed. Payloads provide context about the policy update,
but may be absent if dropped by the invalidation service.
As opposed to current histogram, Enterprise.DevicePolicyInvalidations2
counts only events of device policy invalidations.
</summary>
</histogram>
<histogram name="Enterprise.DeviceLocalAccountPolicyRefresh3"
enum="EnterprisePolicyRefresh" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events measuring effectiveness of refreshing device local account policy
when invalidations are received from a service. For each refresh, indicates
whether the policy changed, and whether the policy was invalidated at the
time of the refresh.
As opposed to current histogram, Enterprise.DevicePolicyRefresh3 counts only
events of refreshing device policies.
</summary>
</histogram>
<histogram base="true" name="Enterprise.DevicePolicyDeviceIdValidity"
enum="EnterprisePolicyDeviceIdValidity" expires_after="M85">
<!-- Name completed by histogram_suffixes name="EnterpriseDevicePolicyDeviceIdValidity" -->
<owner>emaxx@chromium.org</owner>
<owner>poromov@chromium.org</owner>
<summary>
Result of the device ID validation in the device policy blob.
</summary>
</histogram>
<histogram name="Enterprise.DevicePolicyInvalidations2"
enum="EnterprisePolicyInvalidations" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting device policy invalidations received with and without
payloads. Invalidations indicate that a policy has been updated and should
be refreshed. Payloads provide context about the policy update, but may be
absent if dropped by the invalidation service.
As opposed to current histogram,
Enterprise.DeviceLocalAccountPolicyInvalidations2 counts only events of
device local account policy invalidations.
</summary>
</histogram>
<histogram name="Enterprise.DevicePolicyRefresh3"
enum="EnterprisePolicyRefresh" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events measuring effectiveness of refreshing device policy when
invalidations are received from a service. For each refresh, indicates
whether the policy changed, and whether the policy was invalidated at the
time of the refresh.
As opposed to current histogram, Enterprise.DeviceLocalAccountPolicyRefresh3
counts only events of refreshing device local account policies.
</summary>
</histogram>
<histogram name="Enterprise.DeviceRemoteCommand.Executed"
enum="RemoteCommandExecutionStatus" expires_after="2022-03-01">
<!-- Name completed by histogram_suffixes name="Enterprise.RemoteCommandType". -->
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting status of executed device remote commands. The metric
includes only signed device remote commands. Reports a final status of
finished remote command (e.g. success, failure or termination).
</summary>
</histogram>
<histogram name="Enterprise.DeviceRemoteCommand.Executed.Unsigned"
enum="RemoteCommandExecutionStatus" expires_after="2022-03-01">
<!-- Name completed by histogram_suffixes name="Enterprise.RemoteCommandType". -->
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting status of executed device remote commands. The metric
includes only unsigned device remote commands. Reports a final status of
finished remote command (e.g. success, failure or termination).
</summary>
</histogram>
<histogram name="Enterprise.DeviceRemoteCommand.Received"
enum="RemoteCommandReceivedStatus" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting received device remote commands. The metric includes
signed device remote commands, both valid and invalid. Valid remote command
is counted by its type. Invalid remote command is counted by a reason why it
is considered invalid (e.g. unknown type or duplication).
</summary>
</histogram>
<histogram name="Enterprise.DeviceRemoteCommand.Received.Unsigned"
enum="RemoteCommandReceivedStatus" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting received device remote commands. The metric includes
unsigned device remote commands, both valid and invalid. Valid remote
command is counted by its type. Invalid remote command is counted by a
reason why it is considered invalid (e.g. unknown type or duplication).
</summary>
</histogram>
<histogram name="Enterprise.DeviceRemoteCommandInvalidations"
enum="EnterprisePolicyInvalidations" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting device remote commands invalidations received with and
without payloads. Invalidations indicate that there is a remote command to
execute. Payloads provide context about the remote commands update, but may
be absent if dropped by the invalidation service.
Metric is similar to Enterprise.DevicePolicyInvalidations2. Device local
account scope does not exist for remote commands so there is no metric for
remote commands similar to
Enterprise.DeviceLocalAccountPolicyInvalidations2.
</summary>
</histogram>
<histogram name="Enterprise.DeviceSettings.MissingPolicyMitigated"
units="BooleanSuccess" expires_after="2021-07-27">
<owner>poromov@chromium.org</owner>
<owner>managed-devices@google.com</owner>
<summary>
Recorded every time policy file is missing or corrupted on Chrome OS. Should
be compared to Enterprise.DeviceSettings.UpdatedStatus as happens only if
status is STORE_NO_POLICY and device being not managed.
</summary>
</histogram>
<histogram name="Enterprise.DeviceSettings.UpdatedStatus"
enum="DeviceSettingsStatus" expires_after="2021-07-27">
<owner>poromov@chromium.org</owner>
<owner>managed-devices@google.com</owner>
<summary>
Recorded every time as DeviceSettingsProvider updates its current state.
Used to compare rate of Enterprise.DeviceSettings.MissingPolicyMitigated
event.
</summary>
</histogram>
<histogram name="Enterprise.DMServerRequestSuccess"
enum="EnterpriseDMServerRequestSuccess" expires_after="2021-08-09">
<owner>poromov@chromium.org</owner>
<owner>managed-devices@google.com</owner>
<summary>
Number of retries the client did to execute a DeviceManagementServer
request. It's recorded after the request has been completed, either
successfully after 0 or more retries, with a failure (too many retries or
non-retriable error) or with a server error.
</summary>
</histogram>
<histogram name="Enterprise.EnrolledPolicyHasDMToken" enum="Boolean"
expires_after="never">
<!-- expires-never: Used for monitoring the health of device policy. -->
<owner>igorcov@chromium.org</owner>
<owner>vsavu@chromium.org</owner>
<summary>
Whether loading of device policy from file on an enterprise-enrolled
(checked against install_attributes.pb) Chrome OS device yields an
enterprise policy with a DM token. Filled once during session startup, after
first successful device policy read.
</summary>
</histogram>
<histogram name="Enterprise.Enrollment" enum="EnterpriseEnrollmentType"
expires_after="2021-08-15">
<owner>raleksandrov@google.com</owner>
<owner>cros-oac@google.com</owner>
<summary>
Events related to device enrollment on new installs of Chrome OS devices.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentAttestationBased"
enum="EnterpriseEnrollmentType" expires_after="2021-10-01">
<owner>raleksandrov@google.com</owner>
<owner>cros-oac@google.com</owner>
<summary>
Events related to attestation-based enrollment (Zero-Touch) of Chrome OS
devices.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentConfiguration"
enum="EnterpriseEnrollmentType" expires_after="2021-10-01">
<owner>antrim@chromium.org</owner>
<owner>raleksandrov@google.com</owner>
<owner>cros-oac@google.com</owner>
<summary>
Events related to Chrome OS enterprise enrollment automated by OOBE
configuration.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentForced" enum="EnterpriseEnrollmentType"
expires_after="2021-07-18">
<owner>raleksandrov@google.com</owner>
<owner>cros-oac@google.com</owner>
<summary>
Events related to forced re-enrollment (FRE) of Chrome OS devices.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentForcedAttestationBased"
enum="EnterpriseEnrollmentType" expires_after="2021-07-18">
<owner>raleksandrov@google.com</owner>
<owner>cros-oac@google.com</owner>
<summary>
Events related to attestation-based re-enrollment (Auto RE) of Chrome OS
devices.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentForcedInitial"
enum="EnterpriseEnrollmentType" expires_after="2021-10-01">
<owner>raleksandrov@google.com</owner>
<owner>pmarko@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Events related to forced initial enrollment of Chrome OS devices during the
first startup of a device.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentForcedInitialAttestationBased"
enum="EnterpriseEnrollmentType" expires_after="2021-10-01">
<owner>raleksandrov@google.com</owner>
<owner>pmarko@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Events related to attestation-based initial enrollment (Zero-Touch) of
Chrome OS devices during the first startup of a device.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentForcedInitialManualFallback"
enum="EnterpriseEnrollmentType" expires_after="2021-10-01">
<owner>raleksandrov@google.com</owner>
<owner>pmarko@chromium.org</owner>
<owner>cros-oac@google.com</owner>
<summary>
Events related to manual fallback from attestation-based initial enrollment
(Zero-Touch) of Chrome OS devices during the first startup of a device.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentForcedManualFallback"
enum="EnterpriseEnrollmentType" expires_after="2021-10-01">
<owner>raleksandrov@google.com</owner>
<owner>cros-oac@google.com</owner>
<summary>
Events related to manual fallback from attestation-based re-enrollment (Auto
RE) of Chrome OS devices.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentRecovery" enum="EnterpriseEnrollmentType"
expires_after="2021-10-01">
<owner>raleksandrov@google.com</owner>
<owner>cros-oac@google.com</owner>
<summary>
Events related to Chrome OS enterprise enrollment recovery. Note that this
only covers cases in which prior to recovery, the &quot;private owner&quot;
of the device had UMA stats enabled.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentTime.Cancel" units="ms"
expires_after="2021-10-01">
<owner>raleksandrov@google.com</owner>
<owner>cros-oac@google.com</owner>
<summary>
Elapsed time from *after* GAIA login until enrollment was cancelled.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentTime.Failure" units="ms"
expires_after="2021-10-01">
<owner>raleksandrov@google.com</owner>
<owner>cros-oac@google.com</owner>
<summary>
Elapsed time from *after* GAIA login until enrollment failed.
</summary>
</histogram>
<histogram name="Enterprise.EnrollmentTime.Success" units="ms"
expires_after="2021-08-09">
<owner>raleksandrov@google.com</owner>
<owner>cros-oac@google.com</owner>
<summary>
Elapsed time from *after* GAIA login until enrollment succeeded.
</summary>
</histogram>
<histogram name="Enterprise.ExistingInstallAttributesLock"
enum="EnterpriseExistingInstallAttributesLockType"
expires_after="2020-07-01">
<obsolete>
Removed 2020/11.
</obsolete>
<owner>emaxx@chromium.org</owner>
<owner>poromov@chromium.org</owner>
<owner>rsorokin@chromium.org</owner>
<summary>
Chrome OS only. Whether the successful locking of install attributes reused
the previously existing locked attributes, or a fresh lock has being held.
</summary>
</histogram>
<histogram name="Enterprise.FCMInvalidationService.CBCMPolicyInvalidations"
enum="EnterprisePolicyInvalidations" expires_after="2021-06-16">
<owner>anthonyvd@google.com</owner>
<owner>chrome-enterprise-team-core@google.com</owner>
<summary>
Events for counting CBCM policy invalidations received with and without
payloads. Invalidations indicate that a policy has been updated and should
be refreshed. Payloads provide context about the policy update, but may be
absent if dropped by the invalidation service. Subset of
&quot;Enterprise.CBCMPolicyInvalidations&quot;. Gets recorded only when
FCMInvalidationService is used as InvalidationService.
</summary>
</histogram>
<histogram name="Enterprise.FCMInvalidationService.CBCMPolicyRefresh"
enum="EnterprisePolicyRefresh" expires_after="2021-06-16">
<owner>anthonyvd@google.com</owner>
<owner>chrome-enterprise-team-core@google.com</owner>
<summary>
Events measuring effectiveness of refreshing CBCM policy when invalidations
are received from a service. For each refresh, indicates whether the policy
changed, and whether the policy was invalidated at the time of the refresh.
Subset of &quot;Enterprise.CBCMPolicyRefresh&quot;. Gets recorded only when
FCMInvalidationService is used as InvalidationService.
</summary>
</histogram>
<histogram
name="Enterprise.FCMInvalidationService.DeviceLocalAccountPolicyInvalidations2"
enum="EnterprisePolicyInvalidations" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting device local account policy invalidations received with
and without payloads. Invalidations indicate that a policy has been updated
and should be refreshed. Payloads provide context about the policy update,
but may be absent if dropped by the invalidation service. Subset of
&quot;Enterprise.DeviceLocalAccountPolicyInvalidations2&quot;. Gets recorded
only when FCMInvalidationService is used as InvalidationService.
As opposed to current histogram,
Enterprise.FCMInvalidationService.DevicePolicyInvalidations2 counts only
events of device policy invalidations.
</summary>
</histogram>
<histogram
name="Enterprise.FCMInvalidationService.DeviceLocalAccountPolicyRefresh3"
enum="EnterprisePolicyRefresh" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events measuring effectiveness of refreshing device local account policy
when invalidations are received from a service. For each refresh, indicates
whether the policy changed, and whether the policy was invalidated at the
time of the refresh. Subset of
&quot;Enterprise.DeviceLocalAccountPolicyRefresh3&quot;. Gets recorded only
when FCMInvalidationService is used as InvalidationService.
As opposed to current histogram,
Enterprise.FCMInvalidationService.DevicePolicyRefresh3 counts only events of
refreshing device policies.
</summary>
</histogram>
<histogram name="Enterprise.FCMInvalidationService.DevicePolicyInvalidations2"
enum="EnterprisePolicyInvalidations" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting device policy invalidations received with and without
payloads. Invalidations indicate that a policy has been updated and should
be refreshed. Payloads provide context about the policy update, but may be
absent if dropped by the invalidation service. Subset of
&quot;Enterprise.DevicePolicyInvalidations2&quot;. Gets recorded only when
FCMInvalidationService is used as InvalidationService.
As opposed to current histogram,
Enterprise.FCMInvalidationService.DeviceLocalAccountPolicyInvalidations2
counts only events of device local account policy invalidations.
</summary>
</histogram>
<histogram name="Enterprise.FCMInvalidationService.DevicePolicyRefresh3"
enum="EnterprisePolicyRefresh" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events measuring effectiveness of refreshing device policy when
invalidations are received from a service. For each refresh, indicates
whether the policy changed, and whether the policy was invalidated at the
time of the refresh. Subset of &quot;Enterprise.DevicePolicyRefresh3&quot;.
Gets recorded only when FCMInvalidationService is used as
InvalidationService.
As opposed to current histogram,
Enterprise.FCMInvalidationService.DeviceLocalAccountPolicyRefresh3 counts
only events of refreshing device local account policies.
</summary>
</histogram>
<histogram name="Enterprise.FCMInvalidationService.PolicyInvalidations"
enum="EnterprisePolicyInvalidations" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting user policy invalidations received with and without
payloads. Invalidations indicate that a policy has been updated and should
be refreshed. Payloads provide context about the policy update, but may be
absent if dropped by the invalidation service. Subset of
&quot;Enterprise.PolicyInvalidations&quot;. Gets recorded only when
FCMInvalidationService is used as InvalidationService.
</summary>
</histogram>
<histogram
name="Enterprise.FCMInvalidationService.PolicyInvalidationsRegistrationResult"
enum="BooleanSuccess" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Tracks the result of registration for policy invalidations. It will fail
when duplicate invalidation names are used for different policies due to
http://b/119860379. Subset of
&quot;Enterprise.PolicyInvalidationsRegistrationResult&quot;. Gets recorded
only when FCMInvalidationService is used as InvalidationService.
</summary>
</histogram>
<histogram name="Enterprise.FCMInvalidationService.PolicyRefresh2"
enum="EnterprisePolicyRefresh" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events measuring effectiveness of refreshing user policy when invalidations
are received from a service. For each refresh, indicates whether the policy
changed, and whether the policy was invalidated at the time of the refresh.
Subset of &quot;Enterprise.PolicyRefresh2&quot;. Gets recorded only when
FCMInvalidationService is used as InvalidationService.
</summary>
</histogram>
<histogram name="Enterprise.FirstRun.AppRestrictionLoadTime" units="ms"
expires_after="2021-07-04">
<owner>wenyufu@chromium.org</owner>
<owner>twellington@chromium.org</owner>
<summary>
Records the time it takes to retrieve applicaton restrictions from the
system using an AsyncTask. Recording during first run experience on Android
only.
</summary>
</histogram>
<histogram name="Enterprise.FirstRun.AppRestrictionLoadTime.Medium" units="ms"
expires_after="2021-07-04">
<owner>skym@chromium.org</owner>
<owner>twellington@chromium.org</owner>
<owner>wenyufu@chromium.org</owner>
<summary>
Records the time it takes to retrieve applicaton restrictions from the
system using an AsyncTask. Recording during first run experience on Android
only. Has a bigger range (0-3 minutes) than the non-Medium version.
</summary>
</histogram>
<histogram name="Enterprise.HeartbeatSignalSuccess" enum="BooleanSuccess"
expires_after="2020-08-01">
<owner>igorcov@chromium.org</owner>
<owner>poromov@chromium.org</owner>
<summary>
Result of a single attempt to signal a device heartbeat, which is used for
monitoring the device connectivity. By default heartbeats per a single
device are sent every 2 minutes.
</summary>
</histogram>
<histogram name="Enterprise.InitialEnrollmentRequirement"
enum="EnterpriseInitialEnrollmentRequirement" expires_after="M77">
<owner>pmarko@chromium.org</owner>
<owner>igorcov@chromium.org</owner>
<summary>
Chrome OS only. Encodes if initial enrollment should be done, and if not,
why. This histogram is recorded when the Auto Enrollment Check screen is
reached in the Chrome OS Out Of The Box Experience (OOBE) sequence and the
device has not been enrolled or in consumer mode before, i.e. when the
'check_enrollment' and 'ActivateDate' VPD keys are not present.
</summary>
</histogram>
<histogram name="Enterprise.InvalidDevicePolicyFilesStatus"
enum="InvalidDevicePolicyFilesStatus" expires_after="2021-05-02">
<owner>emaxx@chromium.org</owner>
<owner>igorcov@chromium.org</owner>
<owner>vsavu@chromium.org</owner>
<summary>
Chrome OS only. Result of checking if device policy files are valid when
reading the device policy data.
</summary>
</histogram>
<histogram name="Enterprise.IOSPolicies" units="units" expires_after="M85">
<owner>mnissler@chromium.org</owner>
<summary>
Number of policies loaded at startup on iOS, and when a change is detected
at runtime.
</summary>
</histogram>
<histogram name="Enterprise.LockToSingleUserResult"
enum="LockToSingleUserResult" expires_after="M86">
<owner>emaxx@chromium.org</owner>
<owner>igorcov@chromium.org</owner>
<summary>
Chrome OS only. The result of D-Bus call to lock device to single user.
Estimated that till version M86 we should get enough stats to understand if
there are big problems with the D-Bus call.
</summary>
</histogram>
<histogram
name="Enterprise.MachineLevelUserCloudPolicyEnrollment.RequestFailureTime"
units="ms" expires_after="2021-08-09">
<owner>rogerta@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>
Time since the enrollment request was made until an error is returned from
the server.
</summary>
</histogram>
<histogram
name="Enterprise.MachineLevelUserCloudPolicyEnrollment.RequestSuccessTime"
units="ms" expires_after="2021-06-01">
<owner>rogerta@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>
Time since the enrollment request was made until a successful enrollment
response is returned from the server.
</summary>
</histogram>
<histogram name="Enterprise.MachineLevelUserCloudPolicyEnrollment.Result"
enum="MachineLevelUserCloudPolicyEnrollmentResult"
expires_after="2021-08-01">
<owner>rogerta@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>The result of machine level user cloud policy enrollment.</summary>
</histogram>
<histogram
name="Enterprise.MachineLevelUserCloudPolicyEnrollment.StartupDialog"
enum="MachineLevelUserCloudPolicyEnrollmentStartupDialog"
expires_after="2021-06-01">
<owner>rogerta@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>
Records whether the machine level user cloud policy enrollment dialog is
shown to the user and the action they took.
</summary>
</histogram>
<histogram
name="Enterprise.MachineLevelUserCloudPolicyEnrollment.StartupDialogTime"
units="ms" expires_after="2021-06-01">
<owner>rogerta@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>
The length of time the machine level user cloud policy enrollment dialog was
visible to the user.
</summary>
</histogram>
<histogram
name="Enterprise.MachineLevelUserCloudPolicyEnrollment.UnenrollSuccess"
enum="BooleanSuccess" expires_after="2021-08-01">
<owner>domfc@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>
Records whether a browser unenrollment was completed succcessfully by
writing an invalid DM token to storage or not.
</summary>
</histogram>
<histogram name="Enterprise.OnBulkDataEntry.DataSize" units="bytes"
expires_after="2022-02-01">
<owner>domfc@chromium.org</owner>
<owner>webprotect-team@google.com</owner>
<summary>
Records the size (in bytes) of data that might have been scanned by the
OnBulkDataEntry Enterprise Connector. Is is logged once per user action that
would trigger this Connector.
</summary>
</histogram>
<histogram name="Enterprise.ONC.PolicyValidation" enum="BooleanSuccess"
expires_after="M85">
<owner>mnissler@chromium.org</owner>
<summary>Result of the OpenNetworkConfiguration policy validation.</summary>
</histogram>
<histogram name="Enterprise.Policies" enum="EnterprisePolicies"
expires_after="2021-08-09">
<owner>mnissler@chromium.org</owner>
<summary>
A set of enterprise policy rules that are in use. This is recorded every 24
hours and at startup, if the last recording was earlier than a day before.
</summary>
</histogram>
<histogram name="Enterprise.Policies.IgnoredByPolicyGroup"
enum="EnterprisePolicies" expires_after="2021-11-01">
<owner>ydago@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
A set of enterprise policy rules that are ignored because they do not share
the highest priority from their policy atomic group. This is recorded at
startup, then every 24 hours. If chrome is not running at the 24 hours mark,
this will be recorded at the next startup.
</summary>
</histogram>
<histogram name="Enterprise.Policies.SourceConflicts" enum="PolicyAtomicGroups"
expires_after="2021-11-01">
<owner>ydago@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
A set of policy atomic groups that have at least one policy disabled because
of its source. This is recorded at startup, then every 24 hours. If chrome
is not running at the 24 hours mark, this will be recorded at the next
startup.
</summary>
</histogram>
<histogram name="Enterprise.PolicyHasVerifiedCachedKey"
enum="BooleanValidKeyExists" expires_after="M77">
<owner>atwilson@chromium.org</owner>
<summary>
Boolean tracking whether there is a valid policy signing key on disk.
</summary>
</histogram>
<histogram name="Enterprise.PolicyInvalidations"
enum="EnterprisePolicyInvalidations" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting user policy invalidations received with and without
payloads. Invalidations indicate that a policy has been updated and should
be refreshed. Payloads provide context about the policy update, but may be
absent if dropped by the invalidation service.
</summary>
</histogram>
<histogram name="Enterprise.PolicyInvalidationsRegistrationResult"
enum="BooleanSuccess" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Tracks the result of registration for policy invalidations. It will fail
when duplicate invalidation names are used for different policies due to
http://b/119860379.
</summary>
</histogram>
<histogram name="Enterprise.PolicyInvalidationsStartupTime" units="ms"
expires_after="M77">
<owner>mnissler@chromium.org</owner>
<summary>
Time since startup of the cloud policy code until the policy invalidation
service first reported its online status.
</summary>
</histogram>
<histogram name="Enterprise.PolicyKeyVerification"
enum="EnterprisePolicyKeyVerification" expires_after="M77">
<owner>atwilson@chromium.org</owner>
<summary>Tracking the results of policy key verification.</summary>
</histogram>
<histogram name="Enterprise.PolicyLoadStatus" enum="EnterprisePolicyLoadStatus"
expires_after="M82">
<owner>mnissler@chromium.org</owner>
<summary>
Load status from the policy loaders which pull policy settings from the
underlying platform, such as Windows Group Policy.
</summary>
</histogram>
<histogram name="Enterprise.PolicyRefresh2" enum="EnterprisePolicyRefresh"
expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events measuring effectiveness of refreshing user policy when invalidations
are received from a service. For each refresh, indicates whether the policy
changed, and whether the policy was invalidated at the time of the refresh.
</summary>
</histogram>
<histogram name="Enterprise.PolicyUpdatePeriod.Device" units="days"
expires_after="M95">
<owner>rbock@google.com</owner>
<owner>igorcov@chromium.org</owner>
<summary>
Time since last device policy fetch. Emitted when policies are loaded.
</summary>
</histogram>
<histogram name="Enterprise.PolicyUpdatePeriod.MachineLevelUser" units="days"
expires_after="M95">
<owner>zmin@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
Time since last machine level user policy fetch.. Emitted when policies are
loaded.
</summary>
</histogram>
<histogram name="Enterprise.PolicyUpdatePeriod.User" units="days"
expires_after="M95">
<owner>rbock@google.com</owner>
<owner>igorcov@chromium.org</owner>
<summary>
Time since last user policy fetch. Emitted when policies are loaded.
</summary>
</histogram>
<histogram name="Enterprise.PolicyUserVerification"
enum="EnterprisePolicyUserVerification" expires_after="M92">
<owner>poromov@chromium.org</owner>
<summary>Tracking the results of policy user verification.</summary>
</histogram>
<histogram name="Enterprise.PublicSession.ExtensionPermissions"
enum="ExtensionPermission3" expires_after="2022-03-01">
<owner>anqing@chromium.org</owner>
<owner>apotapchuk@chromium.org</owner>
<summary>
Extensions (and apps) are quite restricted in public sessions for security
and privacy concerns - some permissions are blocked which means the
extension itself is blocked (prevented from loading). This histogram counts
requested permissions on extension installation in public sessions (both
installed and blocked extensions).
</summary>
</histogram>
<histogram name="Enterprise.PublicSession.SessionLength" units="minutes"
expires_after="2021-07-27">
<owner>marcgrimme@chromium.org</owner>
<owner>managed-devices@google.com</owner>
<summary>
A public session starts when a user signs in using the policy configured
public account. It stops when the user signs out. Session length is the
duration between the start and stop events. It is recorded during signing
out and reported on the next chrome run. This metric tracks the recorded
session length rounded down to the nearest 10-minute bucket and capped at 24
hours.
</summary>
</histogram>
<histogram name="Enterprise.RealtimeReportingSuccess"
enum="EnterpriseDMServerRequestSuccess" expires_after="2020-07-01">
<owner>rogerta@chromium.org</owner>
<summary>
Number of retries the client did to execute a real-time reporting upload
request. It's recorded after the request has been completed, either
successfully after 0 or more retries, with a failure (too many retries or
non-retriable error) or with a server error.
</summary>
</histogram>
<histogram name="Enterprise.RegularUserSession.SessionLength" units="minutes"
expires_after="2021-08-09">
<owner>marcgrimme@chromium.org</owner>
<owner>managed-devices@google.com</owner>
<summary>
A regular user session starts when a user signs in using his/her user
account. It stops when the user signs out. Session length is the duration
between the start and stop events. It is recorded during signing out and
reported on the next chrome run. This metric tracks the recorded session
length on an enrolled device rouned down to the nearest 10-minute bucket and
capped at 24 hours.
</summary>
</histogram>
<histogram name="Enterprise.RemoteCommand.RemoteSession.DeviceIsIdle"
enum="Boolean" expires_after="2020-03-01">
<owner>antrim@chromium.org</owner>
<summary>
When an enterprise admin attempts to establish a remote session to a device
running in kiosk mode, the command will fail if device is not considered
idle. This histogram is emitted when that happens.
</summary>
</histogram>
<histogram name="Enterprise.RemoteCommand.RemoteSession.IdlenessOverride"
enum="Boolean" expires_after="2020-03-01">
<owner>antrim@chromium.org</owner>
<summary>
When an enterprise admin attempts to establish a remote session to a device
running in kiosk mode, it is possible to override usual idleness check and
connect anyway.
</summary>
</histogram>
<histogram name="Enterprise.RemoteCommandInvalidationsRegistrationResult"
enum="BooleanSuccess" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Tracks whether remote commands invalidator registered for corresponding
invalidations. In case of success the invalidator is able to receive
incoming invalidations.
Metric is similar to Enterprise.PolicyInvalidationsRegistrationResult.
</summary>
</histogram>
<histogram base="true" name="Enterprise.RetrievePolicyResponse"
enum="EnterpriseRetrievePolicyResponseType" expires_after="2020-02-16">
<!-- Name completed by histogram_suffixes name="EnterpriseRetrievePolicyResponse" -->
<owner>emaxx@chromium.org</owner>
<owner>igorcov@chromium.org</owner>
<summary>
On Chrome OS, the response obtained to retrieve policy request.
</summary>
</histogram>
<histogram name="Enterprise.StorePolicy.Duration" units="ms"
expires_after="2021-08-09">
<owner>mpolzer@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Duration of a call to StorePolicyEx. This histogram is used to find a
reasonable timeout for StorePolicyEx calls. (See crbug/1155533.)
</summary>
</histogram>
<histogram name="Enterprise.SystemFeaturesDisableList" enum="SystemFeature"
expires_after="2021-06-01">
<owner>ayaelattar@chromium.org</owner>
<owner>poromov@chromium.org</owner>
<summary>
Shows which system features are set to be disabled by
SystemFeaturesDisableList policy. Recorded when the policy preference is
updated with a new system feature. No-op updates aren't counted.
</summary>
</histogram>
<histogram name="Enterprise.SystemLogUploadResult"
enum="EnterpriseSystemLogUploadResult" expires_after="2021-08-14">
<owner>bmalcolm@chromium.org</owner>
<owner>cros-client-wa@google.com</owner>
<summary>Result of a single attempt to upload system logs.</summary>
</histogram>
<histogram name="Enterprise.TiclInvalidationService.DevicePolicyInvalidations"
enum="EnterprisePolicyInvalidations" expires_after="2021-03-01">
<obsolete>
Removed 2021/01.
</obsolete>
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting device policy invalidations received with and without
payloads. Invalidations indicate that a policy has been updated and should
be refreshed. Payloads provide context about the policy update, but may be
absent if dropped by the invalidation service. Subset of
&quot;Enterprise.DevicePolicyInvalidations&quot;. Gets recorded only when
TiclInvalidationService is used as InvalidationService;
</summary>
</histogram>
<histogram name="Enterprise.TiclInvalidationService.DevicePolicyRefresh2"
enum="EnterprisePolicyRefresh" expires_after="2021-03-01">
<obsolete>
Removed 2021/01.
</obsolete>
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events measuring effectiveness of refreshing device policy when
invalidations are received from a service. For each refresh, indicates
whether the policy changed, and whether the policy was invalidated at the
time of the refresh. Subset of &quot;Enterprise.DevicePolicyRefresh2&quot;.
Gets recorded only when TiclInvalidationService is used as
InvalidationService.
</summary>
</histogram>
<histogram name="Enterprise.TiclInvalidationService.PolicyInvalidations"
enum="EnterprisePolicyInvalidations" expires_after="2021-03-01">
<obsolete>
Removed 2021/01.
</obsolete>
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting user policy invalidations received with and without
payloads. Invalidations indicate that a policy has been updated and should
be refreshed. Payloads provide context about the policy update, but may be
absent if dropped by the invalidation service. Subset of
&quot;Enterprise.PolicyInvalidations&quot;. Recorded only when
TiclInvalidationService was used as InvalidationService.
</summary>
</histogram>
<histogram
name="Enterprise.TiclInvalidationService.PolicyInvalidationsRegistrationResult"
enum="BooleanSuccess" expires_after="2021-03-01">
<obsolete>
Removed 2021/01.
</obsolete>
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Tracks the result of registration for policy invalidations. It will fail
when duplicate invalidation names are used for different policies due to
http://b/119860379. Subset of
&quot;Enterprise.PolicyInvalidationsRegistrationResult&quot;. Gets recorded
only when TiclInvalidationService is used as InvalidationService.
</summary>
</histogram>
<histogram name="Enterprise.TiclInvalidationService.PolicyRefresh2"
enum="EnterprisePolicyRefresh" expires_after="2021-03-01">
<obsolete>
Removed 2021/01.
</obsolete>
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events measuring effectiveness of refreshing user policy when invalidations
are received from a service. For each refresh, indicates whether the policy
changed, and whether the policy was invalidated at the time of the refresh.
Subset of &quot;Enterprise.PolicyRefresh2&quot;. Recorded only when
TiclInvalidationService was used as InvalidationService.
</summary>
</histogram>
<histogram name="Enterprise.UploadJobSuccess" enum="EnterpriseUploadJobSuccess"
expires_after="M87">
<owner>bmalcolm@chromium.org</owner>
<owner>managed-devices@google.com</owner>
<summary>
Number of retries the client did to execute an UploadJob. It's recorded
after the request has been completed, either successfully after 0 or more
retries, with a failure because of too many retries or if the UploadJob is
interrupted (destroyed before it could succeed or fail).
</summary>
</histogram>
<histogram name="Enterprise.UserCloudPolicyStore.LoadStatus"
enum="PolicyLoadStatus" expires_after="M77">
<owner>atwilson@chromium.org</owner>
<summary>
Result of the attempted policy load during profile initialization.
</summary>
</histogram>
<histogram name="Enterprise.UserCloudPolicyStore.LoadValidationStatus"
enum="PolicyValidationStatus" expires_after="M77">
<owner>atwilson@chromium.org</owner>
<summary>
Result of validating the policy that has just been loaded from disk.
</summary>
</histogram>
<histogram name="Enterprise.UserCloudPolicyStore.StoreValidationStatus"
enum="PolicyValidationStatus" expires_after="M77">
<owner>atwilson@chromium.org</owner>
<summary>
Result of validating the policy sent down from the server, before writing to
disk.
</summary>
</histogram>
<histogram name="Enterprise.UserPolicyChromeOS.ChildUser.OAuthTokenError"
enum="GoogleServiceAuthError" expires_after="2021-08-15">
<owner>agawronska@chromium.org</owner>
<owner>michaelpg@chromium.org</owner>
<summary>Failure reason for OAuth token fetch for child user.</summary>
</histogram>
<histogram name="Enterprise.UserPolicyChromeOS.DelayInitialization" units="ms"
expires_after="M82">
<owner>mnissler@chromium.org</owner>
<summary>Initialization delay due to loading the user policy cache.</summary>
</histogram>
<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.ClientError"
enum="EnterpriseDeviceManagementStatus" expires_after="M82">
<owner>mnissler@chromium.org</owner>
<summary>Policy client error during initial policy fetch.</summary>
</histogram>
<histogram
name="Enterprise.UserPolicyChromeOS.InitialFetch.DelayClientRegister"
units="ms" expires_after="M78">
<owner>mnissler@chromium.org</owner>
<summary>Delay for registering the client with the policy server.</summary>
</histogram>
<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.DelayOAuth2Token"
units="ms" expires_after="M77">
<owner>mnissler@chromium.org</owner>
<summary>Delay for minting an OAuth2 acccess token.</summary>
</histogram>
<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.DelayPolicyFetch"
units="ms" expires_after="M82">
<owner>mnissler@chromium.org</owner>
<summary>Delay for fetching policy from the policy server.</summary>
</histogram>
<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.DelayTotal"
units="ms" expires_after="M77">
<owner>mnissler@chromium.org</owner>
<summary>Total delay for the initial policy fetch.</summary>
</histogram>
<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.OAuth2Error"
enum="GoogleServiceAuthError" expires_after="M95">
<owner>igorcov@chromium.org</owner>
<owner>asumaneev@google.com</owner>
<summary>Service error during OAuth2 access token fetch.</summary>
</histogram>
<histogram name="Enterprise.UserPolicyChromeOS.InitialFetch.OAuth2NetworkError"
enum="NetErrorCodes" expires_after="M81">
<owner>mnissler@chromium.org</owner>
<summary>Network error during OAuth2 access token fetch.</summary>
</histogram>
<histogram name="Enterprise.UserPolicyChromeOS.ReregistrationResult"
enum="EnterpriseUserPolicyChromeOSReregistrationResult"
expires_after="2022-01-31">
<owner>hendrich@chromium.org</owner>
<owner>managed-devices@google.com</owner>
<summary>Re-registration results after failed policy fetch.</summary>
</histogram>
<histogram name="Enterprise.UserPolicyChromeOS.SessionAbort"
enum="EnterpriseUserPolicyChromeOSSessionAbortType"
expires_after="2020-02-23">
<obsolete>
Removed 2020/11.
</obsolete>
<owner>emaxx@chromium.org</owner>
<summary>
Session abort due to a fatal error of Chrome OS user policy initialization.
</summary>
</histogram>
<histogram name="Enterprise.UserPolicyValidationFailure"
enum="ValidationFailures" expires_after="M85">
<owner>mnissler@chromium.org</owner>
<summary>Source of policy validation errors on Chrome OS.</summary>
</histogram>
<histogram name="Enterprise.UserPolicyValidationLoadStatus"
enum="PolicyValidationStatus" expires_after="M77">
<owner>mnissler@chromium.org</owner>
<summary>
Validation result when loading user policy from the policy store.
</summary>
</histogram>
<histogram name="Enterprise.UserPolicyValidationStoreStatus"
enum="PolicyValidationStatus" expires_after="M77">
<owner>mnissler@chromium.org</owner>
<summary>
Validation result when writing user policy to the policy store.
</summary>
</histogram>
<histogram name="Enterprise.UserRemoteCommand.Executed"
enum="RemoteCommandExecutionStatus" expires_after="2022-03-01">
<!-- Name completed by histogram_suffixes name="Enterprise.RemoteCommandType". -->
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting status of executed user remote commands. The metric
includes only signed user remote commands. Reports a final status of
finished remote command (e.g. success, failure or termination).
</summary>
</histogram>
<histogram name="Enterprise.UserRemoteCommand.Executed.Unsigned"
enum="RemoteCommandExecutionStatus" expires_after="2022-03-01">
<!-- Name completed by histogram_suffixes name="Enterprise.RemoteCommandType". -->
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting status of executed user remote commands. The metric
includes only unsigned user remote commands. Reports a final status of
finished remote command (e.g. success, failure or termination).
</summary>
</histogram>
<histogram name="Enterprise.UserRemoteCommand.Received"
enum="RemoteCommandReceivedStatus" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting received user remote commands. The metric includes
signed user remote commands, both valid and invalid. Valid remote command is
counted by its type. Invalid remote command is counted by a reason why it is
considered invalid (e.g. unknown type or duplication).
</summary>
</histogram>
<histogram name="Enterprise.UserRemoteCommand.Received.Unsigned"
enum="RemoteCommandReceivedStatus" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting received user remote commands. The metric includes
unsigned user remote commands, both valid and invalid. Valid remote command
is counted by its type. Invalid remote command is counted by a reason why it
is considered invalid (e.g. unknown type or duplication).
</summary>
</histogram>
<histogram name="Enterprise.UserRemoteCommandInvalidations"
enum="EnterprisePolicyInvalidations" expires_after="2022-03-01">
<owner>asumaneev@google.com</owner>
<owner>managed-platforms@google.com</owner>
<summary>
Events for counting user remote commands invalidations received with and
without payloads. Invalidations indicate that there is a remote command to
execute. Payloads provide context about the remote commands update, but may
be absent if dropped by the invalidation service.
Metric is similar to Enterprise.PolicyInvalidations.
</summary>
</histogram>
<histogram name="Enterprise.UserSession.Logins"
enum="EnterpriseUserSessionLogins" expires_after="2021-07-18">
<owner>xiyuan@chromium.org</owner>
<owner>sduraisamy@chromium.org</owner>
<summary>Tracks the sign-in events on an enrolled device.</summary>
</histogram>
<histogram name="Enterprise.UserSigninChoice" enum="SigninChoice"
expires_after="M77">
<owner>atwilson@chromium.org</owner>
<summary>
Choice the user made when presented with enterprise signin dialog.
</summary>
</histogram>
<histogram name="Enterprise.VpdCheck" units="units" expires_after="2020-07-05">
<owner>igorcov@chromium.org</owner>
<owner>tnagel@chromium.org</owner>
<summary>
The status code (exit code or signal) from sanity check of RW_VPD read and
matching the contents with data from dump_vpd_log (Chrome OS).
</summary>
</histogram>
<histogram name="Enterprise.VpdUpdateStatus" units="units"
expires_after="2021-07-04">
<owner>igorcov@chromium.org</owner>
<owner>tnagel@chromium.org</owner>
<summary>
The status code (exit code or signal) from VPD update operation (Chrome OS).
</summary>
</histogram>
<histogram name="Enterprise.WildcardLoginCheck.DelayPolicyTokenFetch"
units="ms" expires_after="M77">
<owner>mnissler@chromium.org</owner>
<summary>
Delay incurred by the token fetching step of the wildcard login check.
</summary>
</histogram>
<histogram name="Enterprise.WildcardLoginCheck.DelayTotal" units="ms"
expires_after="M77">
<owner>mnissler@chromium.org</owner>
<summary>Total delay incurred by the wildcard login check.</summary>
</histogram>
<histogram name="Enterprise.WildcardLoginCheck.DelayUserInfoFetch" units="ms"
expires_after="M77">
<owner>mnissler@chromium.org</owner>
<summary>
Delay incurred by the user info fetching step of the wildcard login check.
</summary>
</histogram>
<histogram name="EnterpriseCheck.InDomain" enum="BooleanEnabled"
expires_after="2021-05-31">
<owner>pastarmovj@chromium.org</owner>
<owner>rogerta@chromium.org</owner>
<summary>
Whether the machine is part of an AD domain. This check is performed once at
start-up on Windows.
</summary>
</histogram>
<histogram name="EnterpriseCheck.InvalidJsonPolicies" enum="EnterprisePolicies"
expires_after="2020-06-18">
<owner>olsen@chromium.org</owner>
<summary>
A set of policy rules that failed validation due to unparsable JSON, or JSON
that did not match the schema. This validation happens on start-up and when
the policy has changed.
</summary>
</histogram>
<histogram name="EnterpriseCheck.InvalidPolicies" enum="EnterprisePolicies"
expires_after="2021-08-09">
<owner>pastarmovj@chromium.org</owner>
<summary>
A set of policy rules that were ignored due to integrity violations while
parsing the policy data which happens on start-up and when the policy has
changed.
</summary>
</histogram>
<histogram name="EnterpriseCheck.InvalidPoliciesDetected"
units="disabled policies" expires_after="2021-08-09">
<owner>pastarmovj@chromium.org</owner>
<owner>zmin@chomium.org</owner>
<summary>
The number of disabled policy entries on Windows due to integrity violations
while parsing the policy data which happens on start-up and when the policy
has changed.
</summary>
</histogram>
<histogram name="EnterpriseCheck.IsDomainJoined" enum="BooleanEnabled"
expires_after="2021-11-01">
<owner>pastarmovj@chromium.org</owner>
<owner>rogerta@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>
Whether the machine is joined to an AD domain. This check is performed once
at start-up on Windows.
</summary>
</histogram>
<histogram name="EnterpriseCheck.IsEnterpriseUser" enum="BooleanEnabled"
expires_after="2021-11-01">
<owner>pastarmovj@chromium.org</owner>
<owner>rogerta@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>
Whether the machine is considered an enterprise user. An enterprise user is
either in a domain or is managed via MDM. This check is performed once at
start-up on Windows.
</summary>
</histogram>
<histogram name="EnterpriseCheck.IsFullyManaged2" enum="IsFullyManagedBoolean"
expires_after="2021-08-09">
<owner>twellington@google.com</owner>
<owner>tedchcoc@chromium.org</owner>
<summary>
On Android (OS version Lollipop+): Whether the device has a &quot;device
owner&quot; app installed. This check is performed once on application
start-up.
</summary>
</histogram>
<histogram name="EnterpriseCheck.IsLocalMachine" enum="Boolean"
expires_after="2021-11-01">
<owner>rogerta@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>
Whether the full machine name is the same as the short one, identifying a
local machine. This check is performed once at start-up on Windows.
</summary>
</histogram>
<histogram name="EnterpriseCheck.IsLocalUser" enum="Boolean"
expires_after="2021-11-01">
<owner>pastarmovj@chromium.org</owner>
<owner>rogerta@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>
Whether the currently logged in user is a local user or not, based on its
SAM compatible user name and machine name. This check is performed once at
start-up on Windows.
</summary>
</histogram>
<histogram name="EnterpriseCheck.IsManaged2" enum="BooleanEnabled"
expires_after="2021-11-01">
<owner>rogerta@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<owner>zmin@chromium.org</owner>
<summary>
On Windows: Whether the machine is managed via MDM. On macOS: Whether Chrome
found a file of managed policies to follow. On Android (OS version
Lollipop+): Whether the device has a profile owner app. This check is
performed once on application start-up.
</summary>
</histogram>
<histogram name="EnterpriseCheck.IsRunningOnManagedProfileDuration" units="ms"
expires_after="2021-04-04">
<owner>twellington@google.com</owner>
<owner>tedchcoc@chromium.org</owner>
<summary>
Records the time it takes to calculate whether there is a profile owner app
on the device. Android only.
</summary>
</histogram>
<histogram name="EnterpriseCheck.Mac.IsCurrentUserDomainUser" enum="Boolean"
expires_after="2021-08-09">
<owner>avi@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
On the Mac: Whether the current user has an enterprise identity in Open
Directory. This check is performed once at start-up.
</summary>
</histogram>
<histogram name="EnterpriseCheck.Mac.IsDeviceDomainJoined" enum="Boolean"
expires_after="2021-07-27">
<owner>avi@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
On the Mac: Whether the machine is joined to a domain. This check is
performed once at start-up.
</summary>
</histogram>
<histogram name="EnterpriseCheck.Mac.IsDeviceMDMEnrolledNew"
enum="EnterpriseMacMDMStatusNew" expires_after="2021-08-09">
<owner>avi@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
On the Mac: Whether the machine is managed via MDM, with data obtained via a
new method (profiles) that is only available in 10.13.4 or later. This check
is performed once at start-up.
</summary>
</histogram>
<histogram name="EnterpriseCheck.Mac.IsDeviceMDMEnrolledOld"
enum="EnterpriseMacMDMStatusOld" expires_after="2021-08-09">
<owner>avi@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
On the Mac: Whether the machine is managed via MDM, with data obtained via
an old method (system_profiler). This check is performed once at start-up.
</summary>
</histogram>
<histogram name="EnterpriseCheck.NetGetJoinInformationAddress"
enum="BooleanEnabled" expires_after="2020-06-18">
<owner>rogerta@chromium.org</owner>
<summary>
Whether we could obtain the address of the NetGetJoinInformation function.
This check is performed once at start-up on Windows.
</summary>
</histogram>
<histogram name="EnterpriseCheck.OSType" enum="OsSuite"
expires_after="2021-07-27">
<owner>pastarmovj@chromium.org</owner>
<owner>rogerta@chomium.org</owner>
<summary>
The rough Windows suite we are running on. This check is performed once at
start-up on Windows.
</summary>
</histogram>
</histograms>
</histogram-configuration>