Commit 3ddd4816 authored by Amr Aboelkher's avatar Amr Aboelkher Committed by Chromium LUCI CQ

PSM: Access Hash dance UMA histograms from policy namespace

As the Hash dance UMA histograms will be used for testing, it's
preferred to use their constants rather than literal strings.

This CL is exposing all Hash dance UMA histograms to policy
namespace.

BUG=chromium:1157317

Change-Id: Idf72d0d66cf0d2585d77e2b811f5ec0fc78a4041
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2582339
Commit-Queue: Amr Aboelkher <amraboelkher@google.com>
Reviewed-by: default avatarPavol Marko <pmarko@chromium.org>
Reviewed-by: default avatarMaksim Ivanov <emaxx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#835811}
parent f29606fc
...@@ -51,26 +51,6 @@ using EnrollmentCheckType = ...@@ -51,26 +51,6 @@ using EnrollmentCheckType =
constexpr base::TimeDelta kPrivateSetMembershipTimeout = constexpr base::TimeDelta kPrivateSetMembershipTimeout =
base::TimeDelta::FromSeconds(15); base::TimeDelta::FromSeconds(15);
// Hash dance success time UMA histogram.
constexpr char kUMAHashDanceSuccessTime[] =
"Enterprise.AutoEnrollmentHashDanceSuccessTime";
// The following histogram names where added before private set membership
// existed. They are only recorded for hash dance.
constexpr char kUMAProtocolTime[] = "Enterprise.AutoEnrollmentProtocolTime";
constexpr char kUMABucketDownloadTime[] =
"Enterprise.AutoEnrollmentBucketDownloadTime";
constexpr char kUMAExtraTime[] = "Enterprise.AutoEnrollmentExtraTime";
constexpr char kUMARequestStatus[] = "Enterprise.AutoEnrollmentRequestStatus";
constexpr char kUMANetworkErrorCode[] =
"Enterprise.AutoEnrollmentRequestNetworkErrorCode";
// Suffix for initial enrollment.
constexpr char kUMASuffixInitialEnrollment[] = ".InitialEnrollment";
// Suffix for Forced Re-Enrollment.
constexpr char kUMASuffixFRE[] = ".ForcedReenrollment";
// Returns the power of the next power-of-2 starting at |value|. // Returns the power of the next power-of-2 starting at |value|.
int NextPowerOf2(int64_t value) { int NextPowerOf2(int64_t value) {
for (int i = 0; i <= AutoEnrollmentClient::kMaximumPower; ++i) { for (int i = 0; i <= AutoEnrollmentClient::kMaximumPower; ++i) {
...@@ -852,7 +832,7 @@ AutoEnrollmentClientImpl::FactoryImpl::CreateForFRE( ...@@ -852,7 +832,7 @@ AutoEnrollmentClientImpl::FactoryImpl::CreateForFRE(
std::make_unique<StateDownloadMessageProcessorFRE>( std::make_unique<StateDownloadMessageProcessorFRE>(
server_backed_state_key), server_backed_state_key),
power_initial, power_limit, power_initial, power_limit,
/*power_outdated_server_detect=*/base::nullopt, kUMASuffixFRE, /*power_outdated_server_detect=*/base::nullopt, kUMAHashDanceSuffixFRE,
/*private_set_membership_helper=*/nullptr)); /*private_set_membership_helper=*/nullptr));
} }
...@@ -876,7 +856,7 @@ AutoEnrollmentClientImpl::FactoryImpl::CreateForInitialEnrollment( ...@@ -876,7 +856,7 @@ AutoEnrollmentClientImpl::FactoryImpl::CreateForInitialEnrollment(
device_serial_number, device_brand_code), device_serial_number, device_brand_code),
power_initial, power_limit, power_initial, power_limit,
base::make_optional(power_outdated_server_detect), base::make_optional(power_outdated_server_detect),
kUMASuffixInitialEnrollment, kUMAHashDanceSuffixInitialEnrollment,
chromeos::AutoEnrollmentController::IsPrivateSetMembershipEnabled() chromeos::AutoEnrollmentController::IsPrivateSetMembershipEnabled()
? std::make_unique<PrivateSetMembershipHelper>( ? std::make_unique<PrivateSetMembershipHelper>(
device_management_service, url_loader_factory, local_state, device_management_service, url_loader_factory, local_state,
...@@ -1180,11 +1160,12 @@ void AutoEnrollmentClientImpl::HandleRequestCompletion( ...@@ -1180,11 +1160,12 @@ void AutoEnrollmentClientImpl::HandleRequestCompletion(
DeviceManagementStatus status, DeviceManagementStatus status,
int net_error, int net_error,
const em::DeviceManagementResponse& response) { const em::DeviceManagementResponse& response) {
base::UmaHistogramSparse(kUMARequestStatus + uma_suffix_, status); base::UmaHistogramSparse(kUMAHashDanceRequestStatus + uma_suffix_, status);
if (status != DM_STATUS_SUCCESS) { if (status != DM_STATUS_SUCCESS) {
LOG(ERROR) << "Auto enrollment error: " << status; LOG(ERROR) << "Auto enrollment error: " << status;
if (status == DM_STATUS_REQUEST_FAILED) if (status == DM_STATUS_REQUEST_FAILED)
base::UmaHistogramSparse(kUMANetworkErrorCode + uma_suffix_, -net_error); base::UmaHistogramSparse(kUMAHashDanceNetworkErrorCode + uma_suffix_,
-net_error);
request_job_.reset(); request_job_.reset();
// Abort if CancelAndDeleteSoon has been called meanwhile. // Abort if CancelAndDeleteSoon has been called meanwhile.
...@@ -1349,13 +1330,13 @@ void AutoEnrollmentClientImpl::UpdateBucketDownloadTimingHistograms() { ...@@ -1349,13 +1330,13 @@ void AutoEnrollmentClientImpl::UpdateBucketDownloadTimingHistograms() {
base::TimeTicks now = base::TimeTicks::Now(); base::TimeTicks now = base::TimeTicks::Now();
if (!time_start_.is_null()) { if (!time_start_.is_null()) {
base::TimeDelta delta = now - time_start_; base::TimeDelta delta = now - time_start_;
base::UmaHistogramCustomTimes(kUMAProtocolTime + uma_suffix_, delta, kMin, base::UmaHistogramCustomTimes(kUMAHashDanceProtocolTime + uma_suffix_,
kMax, kBuckets); delta, kMin, kMax, kBuckets);
} }
if (!time_start_bucket_download_.is_null()) { if (!time_start_bucket_download_.is_null()) {
base::TimeDelta delta = now - time_start_bucket_download_; base::TimeDelta delta = now - time_start_bucket_download_;
base::UmaHistogramCustomTimes(kUMABucketDownloadTime + uma_suffix_, delta, base::UmaHistogramCustomTimes(kUMAHashDanceBucketDownloadTime + uma_suffix_,
kMin, kMax, kBuckets); delta, kMin, kMax, kBuckets);
} }
base::TimeDelta delta = kZero; base::TimeDelta delta = kZero;
if (!time_extra_start_.is_null()) if (!time_extra_start_.is_null())
...@@ -1363,8 +1344,8 @@ void AutoEnrollmentClientImpl::UpdateBucketDownloadTimingHistograms() { ...@@ -1363,8 +1344,8 @@ void AutoEnrollmentClientImpl::UpdateBucketDownloadTimingHistograms() {
// This samples |kZero| when there was no need for extra time, so that we can // This samples |kZero| when there was no need for extra time, so that we can
// measure the ratio of users that succeeded without needing a delay to the // measure the ratio of users that succeeded without needing a delay to the
// total users going through OOBE. // total users going through OOBE.
base::UmaHistogramCustomTimes(kUMAExtraTime + uma_suffix_, delta, kMin, kMax, base::UmaHistogramCustomTimes(kUMAHashDanceExtraTime + uma_suffix_, delta,
kBuckets); kMin, kMax, kBuckets);
} }
void AutoEnrollmentClientImpl::RecordHashDanceSuccessTimeHistogram() { void AutoEnrollmentClientImpl::RecordHashDanceSuccessTimeHistogram() {
......
...@@ -190,4 +190,18 @@ const char kUMAPrivateSetMembershipSuccessTime[] = ...@@ -190,4 +190,18 @@ const char kUMAPrivateSetMembershipSuccessTime[] =
const char kUMAPrivateSetMembershipRequestStatus[] = const char kUMAPrivateSetMembershipRequestStatus[] =
"Enterprise.AutoEnrollmentPrivateSetMembershipRequestStatus"; "Enterprise.AutoEnrollmentPrivateSetMembershipRequestStatus";
const char kUMAHashDanceSuccessTime[] =
"Enterprise.AutoEnrollmentHashDanceSuccessTime";
const char kUMAHashDanceProtocolTime[] =
"Enterprise.AutoEnrollmentProtocolTime";
const char kUMAHashDanceBucketDownloadTime[] =
"Enterprise.AutoEnrollmentBucketDownloadTime";
const char kUMAHashDanceExtraTime[] = "Enterprise.AutoEnrollmentExtraTime";
const char kUMAHashDanceRequestStatus[] =
"Enterprise.AutoEnrollmentRequestStatus";
const char kUMAHashDanceNetworkErrorCode[] =
"Enterprise.AutoEnrollmentRequestNetworkErrorCode";
const char kUMAHashDanceSuffixInitialEnrollment[] = ".InitialEnrollment";
const char kUMAHashDanceSuffixFRE[] = ".ForcedReenrollment";
} // namespace policy } // namespace policy
...@@ -262,6 +262,20 @@ POLICY_EXPORT extern const char kUMAPrivateSetMembershipHashDanceComparison[]; ...@@ -262,6 +262,20 @@ POLICY_EXPORT extern const char kUMAPrivateSetMembershipHashDanceComparison[];
POLICY_EXPORT extern const char kUMAPrivateSetMembershipSuccessTime[]; POLICY_EXPORT extern const char kUMAPrivateSetMembershipSuccessTime[];
POLICY_EXPORT extern const char kUMAPrivateSetMembershipRequestStatus[]; POLICY_EXPORT extern const char kUMAPrivateSetMembershipRequestStatus[];
// DeviceAutoEnrollmentRequest i.e. hash dance request UMA histogram names.
POLICY_EXPORT extern const char kUMAHashDanceSuccessTime[];
// The following histogram names where added before private set membership
// existed. They are only recorded for hash dance.
POLICY_EXPORT extern const char kUMAHashDanceProtocolTime[];
POLICY_EXPORT extern const char kUMAHashDanceBucketDownloadTime[];
POLICY_EXPORT extern const char kUMAHashDanceExtraTime[];
POLICY_EXPORT extern const char kUMAHashDanceRequestStatus[];
POLICY_EXPORT extern const char kUMAHashDanceNetworkErrorCode[];
// Suffix for initial enrollment.
POLICY_EXPORT extern const char kUMAHashDanceSuffixInitialEnrollment[];
// Suffix for Forced Re-Enrollment.
POLICY_EXPORT extern const char kUMAHashDanceSuffixFRE[];
} // namespace policy } // namespace policy
#endif // COMPONENTS_POLICY_CORE_COMMON_CLOUD_ENTERPRISE_METRICS_H_ #endif // COMPONENTS_POLICY_CORE_COMMON_CLOUD_ENTERPRISE_METRICS_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment