Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(359)

Unified Diff: components/network_time/network_time_tracker_unittest.cc

Issue 2176373003: Add NetworkTimeTracker UMA histograms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add a comment about net::OK in the unit test Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/network_time/network_time_tracker_unittest.cc
diff --git a/components/network_time/network_time_tracker_unittest.cc b/components/network_time/network_time_tracker_unittest.cc
index d4d5c9391770173420510ea2466125772fe44ac1..98fbf6b00aa2b181a9ef7638824ebc21800e52a8 100644
--- a/components/network_time/network_time_tracker_unittest.cc
+++ b/components/network_time/network_time_tracker_unittest.cc
@@ -14,6 +14,7 @@
#include "base/metrics/field_trial.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
+#include "base/test/histogram_tester.h"
#include "base/test/mock_entropy_provider.h"
#include "base/test/simple_test_clock.h"
#include "base/test/simple_test_tick_clock.h"
@@ -30,6 +31,13 @@
namespace network_time {
+namespace {
+const char kFetchAttemptHistogram[] =
+ "NetworkTimeTracker.UpdateTimeFetchAttempted";
+const char kFetchFailedHistogram[] = "NetworkTimeTracker.UpdateTimeFetchFailed";
+const char kFetchValidHistogram[] = "NetworkTimeTracker.UpdateTimeFetchValid";
+} // namespace
+
class NetworkTimeTrackerTest : public testing::Test {
public:
~NetworkTimeTrackerTest() override {}
@@ -434,6 +442,11 @@ TEST_F(NetworkTimeTrackerTest, SerializeWithWallClockAdvance) {
}
TEST_F(NetworkTimeTrackerTest, UpdateFromNetwork) {
+ base::HistogramTester histograms;
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 0);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 0);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 0);
+
base::Time out_network_time;
EXPECT_FALSE(tracker_->GetNetworkTime(&out_network_time, nullptr));
// First query should happen soon.
@@ -454,6 +467,11 @@ TEST_F(NetworkTimeTrackerTest, UpdateFromNetwork) {
// Should see no backoff in the success case.
EXPECT_EQ(base::TimeDelta::FromMinutes(60),
tracker_->GetTimerDelayForTesting());
+
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 1);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 0);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 1);
+ histograms.ExpectBucketCount(kFetchValidHistogram, true, 1);
}
TEST_F(NetworkTimeTrackerTest, NoNetworkQueryWhileSynced) {
@@ -494,6 +512,11 @@ TEST_F(NetworkTimeTrackerTest, NoNetworkQueryWhileFeatureDisabled) {
}
TEST_F(NetworkTimeTrackerTest, UpdateFromNetworkBadSignature) {
+ base::HistogramTester histograms;
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 0);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 0);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 0);
+
test_server_->RegisterRequestHandler(
base::Bind(&NetworkTimeTrackerTest::BadSignatureResponseHandler));
EXPECT_TRUE(test_server_->Start());
@@ -505,6 +528,11 @@ TEST_F(NetworkTimeTrackerTest, UpdateFromNetworkBadSignature) {
EXPECT_FALSE(tracker_->GetNetworkTime(&out_network_time, nullptr));
EXPECT_EQ(base::TimeDelta::FromMinutes(120),
tracker_->GetTimerDelayForTesting());
+
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 1);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 0);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 1);
+ histograms.ExpectBucketCount(kFetchValidHistogram, false, 1);
}
static const uint8_t kDevKeyPubBytes[] = {
@@ -518,6 +546,11 @@ static const uint8_t kDevKeyPubBytes[] = {
0x04, 0x16, 0xe2, 0x3d, 0x21, 0x76, 0x2b};
TEST_F(NetworkTimeTrackerTest, UpdateFromNetworkBadData) {
+ base::HistogramTester histograms;
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 0);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 0);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 0);
+
test_server_->RegisterRequestHandler(
base::Bind(&NetworkTimeTrackerTest::BadDataResponseHandler));
EXPECT_TRUE(test_server_->Start());
@@ -531,9 +564,19 @@ TEST_F(NetworkTimeTrackerTest, UpdateFromNetworkBadData) {
EXPECT_FALSE(tracker_->GetNetworkTime(&out_network_time, nullptr));
EXPECT_EQ(base::TimeDelta::FromMinutes(120),
tracker_->GetTimerDelayForTesting());
+
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 1);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 0);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 1);
+ histograms.ExpectBucketCount(kFetchValidHistogram, false, 1);
}
TEST_F(NetworkTimeTrackerTest, UpdateFromNetworkServerError) {
+ base::HistogramTester histograms;
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 0);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 0);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 0);
+
test_server_->RegisterRequestHandler(
base::Bind(&NetworkTimeTrackerTest::ServerErrorResponseHandler));
EXPECT_TRUE(test_server_->Start());
@@ -546,9 +589,22 @@ TEST_F(NetworkTimeTrackerTest, UpdateFromNetworkServerError) {
// Should see backoff in the error case.
EXPECT_EQ(base::TimeDelta::FromMinutes(120),
tracker_->GetTimerDelayForTesting());
+
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 1);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 1);
+ // There was no network error, so the histogram is recorded as
+ // net::OK, indicating that the connection succeeded but there was a
+ // non-200 HTTP status code.
+ histograms.ExpectBucketCount(kFetchFailedHistogram, net::OK, 1);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 0);
}
-TEST_F(NetworkTimeTrackerTest, UpdateFromNetworNetworkError) {
+TEST_F(NetworkTimeTrackerTest, UpdateFromNetworkNetworkError) {
+ base::HistogramTester histograms;
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 0);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 0);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 0);
+
test_server_->RegisterRequestHandler(
base::Bind(&NetworkTimeTrackerTest::NetworkErrorResponseHandler));
EXPECT_TRUE(test_server_->Start());
@@ -561,9 +617,20 @@ TEST_F(NetworkTimeTrackerTest, UpdateFromNetworNetworkError) {
// Should see backoff in the error case.
EXPECT_EQ(base::TimeDelta::FromMinutes(120),
tracker_->GetTimerDelayForTesting());
+
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 1);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 1);
+ histograms.ExpectBucketCount(kFetchFailedHistogram, -net::ERR_EMPTY_RESPONSE,
+ 1);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 0);
}
TEST_F(NetworkTimeTrackerTest, UpdateFromNetworkLargeResponse) {
+ base::HistogramTester histograms;
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 0);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 0);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 0);
+
test_server_->RegisterRequestHandler(
base::Bind(&NetworkTimeTrackerTest::GoodTimeResponseHandler));
EXPECT_TRUE(test_server_->Start());
@@ -576,10 +643,19 @@ TEST_F(NetworkTimeTrackerTest, UpdateFromNetworkLargeResponse) {
tracker_->WaitForFetchForTesting(123123123);
EXPECT_FALSE(tracker_->GetNetworkTime(&out_network_time, nullptr));
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 1);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 1);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 0);
+
tracker_->SetMaxResponseSizeForTesting(1024);
EXPECT_TRUE(tracker_->QueryTimeServiceForTesting());
tracker_->WaitForFetchForTesting(123123123);
EXPECT_TRUE(tracker_->GetNetworkTime(&out_network_time, nullptr));
+
+ histograms.ExpectTotalCount(kFetchAttemptHistogram, 2);
+ histograms.ExpectTotalCount(kFetchFailedHistogram, 1);
+ histograms.ExpectTotalCount(kFetchValidHistogram, 1);
+ histograms.ExpectBucketCount(kFetchValidHistogram, true, 1);
}
} // namespace network_time

Powered by Google App Engine
This is Rietveld 408576698