Chromium Code Reviews| Index: chrome/browser/policy/policy_load_status.cc |
| diff --git a/chrome/browser/policy/policy_load_status.cc b/chrome/browser/policy/policy_load_status.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..aa1de8c1ed2b45ed7e1a480d9a8f640c4b532f14 |
| --- /dev/null |
| +++ b/chrome/browser/policy/policy_load_status.cc |
| @@ -0,0 +1,61 @@ |
| +// Copyright (c) 2013 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. |
| + |
| +#include "chrome/browser/policy/policy_load_status.h" |
| + |
| +#include "base/metrics/histogram.h" |
| +#include "base/stringprintf.h" |
| +#include "chrome/browser/policy/policy_types.h" |
| + |
| +namespace policy { |
| + |
| +namespace { |
| + |
| +// Histogram Name constants. |
| +const char kHistogramName[] = "Enterprise.PolicyLoadStatus"; |
| +const char kHistogramNameNone[] = "none"; |
| +const char kHistogramNameScopeMachine[] = "machine"; |
| +const char kHistogramNameScopeUser[] = "user"; |
| +const char kHistogramNameLevelMandatory[] = "mandatory"; |
| +const char kHistogramNameLevelRecommended[] = "recommended"; |
| + |
| +// Gets the name of the histogram to send the sample to. |
| +std::string GetHistogramName(int scope, int level) { |
| + const char* scope_name = kHistogramNameNone; |
| + switch (scope) { |
| + case POLICY_SCOPE_MACHINE: |
| + scope_name = kHistogramNameScopeMachine; |
| + break; |
| + case POLICY_SCOPE_USER: |
| + scope_name = kHistogramNameScopeUser; |
| + break; |
| + } |
| + |
| + const char* level_name = kHistogramNameNone; |
| + switch (level) { |
| + case POLICY_LEVEL_MANDATORY: |
| + level_name = kHistogramNameLevelMandatory; |
| + break; |
| + case POLICY_LEVEL_RECOMMENDED: |
| + level_name = kHistogramNameLevelRecommended; |
| + break; |
| + } |
| + |
| + return std::string(kHistogramName) + "_" + scope_name + "_" + level_name; |
| +} |
| + |
| +} |
|
Joao da Silva
2013/04/16 17:31:04
// namespace
Mattias Nissler (ping if slow)
2013/04/16 18:51:14
Done.
|
| + |
| +PolicyLoadStatusSample::PolicyLoadStatusSample(int scope, int level) |
| + : histogram_(base::LinearHistogram::FactoryGet( |
| + GetHistogramName(scope, level), 1, POLICY_LOAD_STATUS_SIZE, |
| + POLICY_LOAD_STATUS_SIZE, base::Histogram::kUmaTargetedHistogramFlag)) { |
| + Add(POLICY_LOAD_STATUS_STARTED); |
| +} |
| + |
| +void PolicyLoadStatusSample::Add(PolicyLoadStatus status) { |
| + histogram_->Add(status); |
| +} |
| + |
| +} // namespace policy |