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

Unified Diff: chrome/browser/android/data_usage/tab_data_use_entry_unittest.cc

Issue 1444133002: Add UMA histograms for data usage tab model (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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: chrome/browser/android/data_usage/tab_data_use_entry_unittest.cc
diff --git a/chrome/browser/android/data_usage/tab_data_use_entry_unittest.cc b/chrome/browser/android/data_usage/tab_data_use_entry_unittest.cc
index cba4c83c9eac884405a7b4d1bccfdf43ecdd5acc..ceed31e1bf6227776e286317bc152de52c89f64d 100644
--- a/chrome/browser/android/data_usage/tab_data_use_entry_unittest.cc
+++ b/chrome/browser/android/data_usage/tab_data_use_entry_unittest.cc
@@ -10,6 +10,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/strings/stringprintf.h"
+#include "base/test/histogram_tester.h"
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -462,6 +463,64 @@ TEST_F(MockTabDataUseEntryTest, CompactTabSessionHistory) {
}
}
+TEST_F(MockTabDataUseEntryTest, TrackingSessionLifetimeHistogram) {
+ const char kUMATrackingSessionLifetimeSecondsHistogram[] =
+ "DataUse.TabModel.TrackingSessionLifetime";
+ base::HistogramTester histogram_tester;
+
+ // Tracking session from time=20 to time=30, lifetime of 10 seconds.
+ tab_entry_->SetNowOffsetInSeconds(20);
+ EXPECT_TRUE(tab_entry_->StartTracking(kTestLabel1));
+ tab_entry_->SetNowOffsetInSeconds(30);
+ EXPECT_TRUE(tab_entry_->EndTracking());
+
+ histogram_tester.ExpectTotalCount(kUMATrackingSessionLifetimeSecondsHistogram,
+ 1);
+ histogram_tester.ExpectBucketCount(
+ kUMATrackingSessionLifetimeSecondsHistogram, 10, 1);
+
+ // Tracking session from time=40 to time=70, lifetime of 30 seconds.
+ tab_entry_->SetNowOffsetInSeconds(40);
+ EXPECT_TRUE(tab_entry_->StartTracking(kTestLabel1));
+ tab_entry_->SetNowOffsetInSeconds(70);
+ EXPECT_TRUE(tab_entry_->EndTracking());
+
+ histogram_tester.ExpectTotalCount(kUMATrackingSessionLifetimeSecondsHistogram,
+ 2);
+ histogram_tester.ExpectBucketCount(
+ kUMATrackingSessionLifetimeSecondsHistogram, 30, 1);
+}
+
+TEST_F(MockTabDataUseEntryTest, OldInactiveSessionRemovaltimeHistogram) {
+ const char kUMAOldInactiveSessionRemovaltimeSecondsHistogram[] =
+ "DataUse.TabModel.OldInactiveSessionRemovaltime";
+ base::HistogramTester histogram_tester;
+ const size_t max_sessions_per_tab =
+ TabDataUseEntry::GetMaxSessionsPerTabForTests();
+
+ // Start a tracking session at time=20, and end it at time=30.
+ tab_entry_->SetNowOffsetInSeconds(20);
+ EXPECT_TRUE(tab_entry_->StartTracking(kTestLabel1));
+ tab_entry_->SetNowOffsetInSeconds(30);
+ EXPECT_TRUE(tab_entry_->EndTracking());
+
+ for (size_t session = 1; session < max_sessions_per_tab; session++) {
tbansal1 2015/11/16 17:17:38 ++session
Raj 2015/11/16 20:09:37 Done.
+ EXPECT_TRUE(tab_entry_->StartTracking(kTestLabel1));
+ EXPECT_TRUE(tab_entry_->EndTracking());
+ }
+
+ // Add one more session at time=60. This removes the first inactive tracking
+ // session that ended at time=30, with removal duration of 30 seconds.
+ tab_entry_->SetNowOffsetInSeconds(60);
+ EXPECT_TRUE(tab_entry_->StartTracking(kTestLabel1));
+ EXPECT_TRUE(tab_entry_->EndTracking());
+
+ histogram_tester.ExpectTotalCount(
+ kUMAOldInactiveSessionRemovaltimeSecondsHistogram, 1);
+ histogram_tester.ExpectBucketCount(
+ kUMAOldInactiveSessionRemovaltimeSecondsHistogram, 30, 1);
+}
+
} // namespace android
} // namespace chrome

Powered by Google App Engine
This is Rietveld 408576698