Index: chrome/browser/policy/cloud_policy_cache_base.cc |
diff --git a/chrome/browser/policy/cloud_policy_cache_base.cc b/chrome/browser/policy/cloud_policy_cache_base.cc |
index c39fe9441c209d02b19b4cccb4e9f4274fa80e2e..8d2341521ddc2c92cd0c49f6da9accc8aa66090d 100644 |
--- a/chrome/browser/policy/cloud_policy_cache_base.cc |
+++ b/chrome/browser/policy/cloud_policy_cache_base.cc |
@@ -7,7 +7,9 @@ |
#include <string> |
#include "base/logging.h" |
+#include "base/metrics/histogram.h" |
#include "base/values.h" |
+#include "chrome/browser/policy/enterprise_metrics.h" |
#include "chrome/browser/policy/policy_notifier.h" |
namespace policy { |
@@ -65,6 +67,8 @@ bool CloudPolicyCacheBase::SetPolicyInternal( |
&temp_timestamp, &temp_public_key_version); |
if (!ok) { |
LOG(WARNING) << "Decoding policy data failed."; |
+ UMA_HISTOGRAM_ENUMERATION(kMetricPolicy, kMetricPolicyFetchInvalidPolicy, |
+ kMetricPolicySize); |
return false; |
} |
if (timestamp) { |
@@ -73,6 +77,9 @@ bool CloudPolicyCacheBase::SetPolicyInternal( |
if (check_for_timestamp_validity && |
temp_timestamp > base::Time::NowFromSystemTime()) { |
LOG(WARNING) << "Rejected policy data, file is from the future."; |
+ UMA_HISTOGRAM_ENUMERATION(kMetricPolicy, |
+ kMetricPolicyFetchTimestampInFuture, |
+ kMetricPolicySize); |
return false; |
} |
public_key_version_.version = temp_public_key_version.version; |
@@ -85,6 +92,11 @@ bool CloudPolicyCacheBase::SetPolicyInternal( |
recommended_policy_.Swap(&recommended_policy); |
initialization_complete_ = true; |
+ if (!new_policy_differs) { |
+ UMA_HISTOGRAM_ENUMERATION(kMetricPolicy, kMetricPolicyFetchNotModified, |
+ kMetricPolicySize); |
+ } |
+ |
if (new_policy_differs || initialization_was_not_complete) { |
FOR_EACH_OBSERVER(Observer, observer_list_, OnCacheUpdate(this)); |
} |