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

Unified Diff: components/previews/previews_data_savings_unittest.cc

Issue 2256603005: Adding UMA to PreviewsDataSavings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@data_savings_comp
Patch Set: rebase Created 4 years, 3 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/previews/previews_data_savings_unittest.cc
diff --git a/components/previews/previews_data_savings_unittest.cc b/components/previews/previews_data_savings_unittest.cc
index 6dbba267e1c86e7af214a707c55d66c0c339996c..dbc37b6d0e2e9eda31fefb97d44578087f63a05d 100644
--- a/components/previews/previews_data_savings_unittest.cc
+++ b/components/previews/previews_data_savings_unittest.cc
@@ -2,20 +2,21 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/previews/previews_data_savings.h"
#include <stdint.h>
#include <memory>
#include <string>
+#include "base/test/histogram_tester.h"
#include "components/data_reduction_proxy/core/common/data_savings_recorder.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace previews {
namespace {
class TestDataSavingsRecorder
: public data_reduction_proxy::DataSavingsRecorder {
public:
@@ -62,39 +63,104 @@ class PreviewsDataSavingsTest : public testing::Test {
data_savings_(
new PreviewsDataSavings(test_data_savings_recorder_.get())) {}
~PreviewsDataSavingsTest() override {}
PreviewsDataSavings* data_savings() const { return data_savings_.get(); }
TestDataSavingsRecorder* test_data_savings_recorder() const {
return test_data_savings_recorder_.get();
}
+ base::HistogramTester* histogram_tester() { return &histogram_tester_; }
+
private:
+ base::HistogramTester histogram_tester_;
+
std::unique_ptr<TestDataSavingsRecorder> test_data_savings_recorder_;
std::unique_ptr<PreviewsDataSavings> data_savings_;
};
TEST_F(PreviewsDataSavingsTest, RecordDataSavings) {
int64_t original_size = 200;
int64_t data_used = 100;
std::string host = "host";
EXPECT_EQ(0, test_data_savings_recorder()->data_used());
EXPECT_EQ(0, test_data_savings_recorder()->original_size());
test_data_savings_recorder()->set_data_saver_enabled(false);
-
data_savings()->RecordDataSavings(host, data_used, original_size);
EXPECT_EQ(0, test_data_savings_recorder()->data_used());
EXPECT_EQ(0, test_data_savings_recorder()->original_size());
EXPECT_EQ(std::string(), test_data_savings_recorder()->last_host());
- test_data_savings_recorder()->set_data_saver_enabled(true);
+ test_data_savings_recorder()->set_data_saver_enabled(true);
data_savings()->RecordDataSavings(host, data_used, original_size);
EXPECT_EQ(data_used, test_data_savings_recorder()->data_used());
EXPECT_EQ(original_size, test_data_savings_recorder()->original_size());
EXPECT_EQ(host, test_data_savings_recorder()->last_host());
}
+TEST_F(PreviewsDataSavingsTest, RecordDataSavingsHistograms) {
+ int64_t twenty_kb = 20480;
+ int64_t twenty = twenty_kb >> 10;
+ int64_t ten_kb = 10240;
+ int64_t ten = ten_kb >> 10;
+ std::string host = "host";
+
+ test_data_savings_recorder()->set_data_saver_enabled(false);
+ data_savings()->RecordDataSavings(host, ten_kb, twenty_kb);
+
+ // The histograms record bytes in KB.
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.OriginalContentLength.DataSaverDisabled", twenty, 1);
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.ContentLength.DataSaverDisabled", ten, 1);
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.DataSavings.DataSaverDisabled", twenty - ten, 1);
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.DataSavingsPercent.DataSaverDisabled",
+ (twenty_kb - ten_kb) * 100 / twenty_kb, 1);
+
+ data_savings()->RecordDataSavings(host, twenty_kb, ten_kb);
+
+ // The histograms record bytes in KB.
+ histogram_tester()->ExpectBucketCount(
+ "Previews.OriginalContentLength.DataSaverDisabled", ten, 1);
+ histogram_tester()->ExpectBucketCount(
+ "Previews.ContentLength.DataSaverDisabled", twenty, 1);
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.DataInflation.DataSaverDisabled", twenty - ten, 1);
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.DataInflationPercent.DataSaverDisabled",
+ (twenty_kb - ten_kb) * 100 / twenty_kb, 1);
+
+ test_data_savings_recorder()->set_data_saver_enabled(true);
+ data_savings()->RecordDataSavings(host, ten_kb, twenty_kb);
+
+ // The histograms record bytes in KB.
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.OriginalContentLength.DataSaverEnabled", twenty, 1);
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.ContentLength.DataSaverEnabled", ten, 1);
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.DataSavings.DataSaverEnabled", twenty - ten, 1);
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.DataSavingsPercent.DataSaverEnabled",
+ (twenty_kb - ten_kb) * 100 / twenty_kb, 1);
+
+ data_savings()->RecordDataSavings(host, twenty_kb, ten_kb);
+
+ // The histograms record bytes in KB.
+ histogram_tester()->ExpectBucketCount(
+ "Previews.OriginalContentLength.DataSaverEnabled", ten, 1);
+ histogram_tester()->ExpectBucketCount(
+ "Previews.ContentLength.DataSaverEnabled", twenty, 1);
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.DataInflation.DataSaverEnabled", twenty - ten, 1);
+ histogram_tester()->ExpectUniqueSample(
+ "Previews.DataInflationPercent.DataSaverEnabled",
+ (twenty_kb - ten_kb) * 100 / twenty_kb, 1);
+}
+
} // namespace previews

Powered by Google App Engine
This is Rietveld 408576698