Move enqueue logging and custom enqueue cb to MetricReportQueue.
This will help in splitting the collectors into multiple files in
the next CL.
Bug: b:258554147
Change-Id: I82ec56093268faffdc50edb42094e3e11c704eab
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4021399
Commit-Queue: Ahmed Nasr <[email protected]>
Reviewed-by: Leonid Baraz <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1070493}
diff --git a/components/reporting/metrics/fakes/fake_metric_report_queue.cc b/components/reporting/metrics/fakes/fake_metric_report_queue.cc
index d693bc5..76be0da 100644
--- a/components/reporting/metrics/fakes/fake_metric_report_queue.cc
+++ b/components/reporting/metrics/fakes/fake_metric_report_queue.cc
@@ -5,15 +5,18 @@
#include "components/reporting/metrics/fakes/fake_metric_report_queue.h"
#include <memory>
+#include <string>
#include <vector>
#include "base/task/sequenced_task_runner.h"
#include "base/threading/sequenced_task_runner_handle.h"
+#include "base/time/time.h"
+#include "components/reporting/client/report_queue.h"
+#include "components/reporting/metrics/reporting_settings.h"
+#include "components/reporting/proto/synced/metric_data.pb.h"
#include "components/reporting/proto/synced/record_constants.pb.h"
-#include "components/reporting/util/status.h"
-namespace reporting {
-namespace test {
+namespace reporting::test {
FakeMetricReportQueue::FakeMetricReportQueue(Priority priority)
: MetricReportQueue(std::unique_ptr<ReportQueue, base::OnTaskRunnerDeleter>(
@@ -38,9 +41,8 @@
default_rate,
rate_unit_to_ms) {}
-void FakeMetricReportQueue::Enqueue(
- std::unique_ptr<const MetricData> metric_data,
- ReportQueue::EnqueueCallback callback) {
+void FakeMetricReportQueue::Enqueue(MetricData metric_data,
+ ReportQueue::EnqueueCallback callback) {
reported_data_.emplace_back(std::move(metric_data));
std::move(callback).Run(Status());
}
@@ -51,13 +53,12 @@
num_flush_++;
}
-const std::vector<std::unique_ptr<const MetricData>>&
-FakeMetricReportQueue::GetMetricDataReported() const {
+const std::vector<MetricData>& FakeMetricReportQueue::GetMetricDataReported()
+ const {
return reported_data_;
}
int FakeMetricReportQueue::GetNumFlush() const {
return num_flush_;
}
-} // namespace test
-} // namespace reporting
+} // namespace reporting::test
diff --git a/components/reporting/metrics/fakes/fake_metric_report_queue.h b/components/reporting/metrics/fakes/fake_metric_report_queue.h
index ac38a769..b61688c 100644
--- a/components/reporting/metrics/fakes/fake_metric_report_queue.h
+++ b/components/reporting/metrics/fakes/fake_metric_report_queue.h
@@ -5,15 +5,17 @@
#ifndef COMPONENTS_REPORTING_METRICS_FAKES_FAKE_METRIC_REPORT_QUEUE_H_
#define COMPONENTS_REPORTING_METRICS_FAKES_FAKE_METRIC_REPORT_QUEUE_H_
-#include <memory>
+#include <string>
#include <vector>
-#include "components/reporting/client/report_queue.h"
+#include "base/functional/callback_helpers.h"
+#include "base/time/time.h"
#include "components/reporting/metrics/metric_report_queue.h"
+#include "components/reporting/metrics/reporting_settings.h"
#include "components/reporting/proto/synced/metric_data.pb.h"
+#include "components/reporting/proto/synced/record_constants.pb.h"
-namespace reporting {
-namespace test {
+namespace reporting::test {
class FakeMetricReportQueue : public MetricReportQueue {
public:
@@ -30,22 +32,21 @@
~FakeMetricReportQueue() override;
- void Enqueue(std::unique_ptr<const MetricData> metric_data,
- ReportQueue::EnqueueCallback callback) override;
+ void Enqueue(
+ MetricData metric_data,
+ ReportQueue::EnqueueCallback callback = base::DoNothing()) override;
- const std::vector<std::unique_ptr<const MetricData>>& GetMetricDataReported()
- const;
+ const std::vector<MetricData>& GetMetricDataReported() const;
int GetNumFlush() const;
private:
void Flush() override;
- std::vector<std::unique_ptr<const MetricData>> reported_data_;
+ std::vector<MetricData> reported_data_;
int num_flush_ = 0;
};
-} // namespace test
-} // namespace reporting
+} // namespace reporting::test
#endif // COMPONENTS_REPORTING_METRICS_FAKES_FAKE_METRIC_REPORT_QUEUE_H_
diff --git a/components/reporting/metrics/metric_data_collector.cc b/components/reporting/metrics/metric_data_collector.cc
index f62a4ea..684d957b 100644
--- a/components/reporting/metrics/metric_data_collector.cc
+++ b/components/reporting/metrics/metric_data_collector.cc
@@ -7,39 +7,15 @@
#include <utility>
#include "base/bind.h"
-#include "base/functional/callback_helpers.h"
-#include "base/logging.h"
#include "base/memory/scoped_refptr.h"
#include "base/task/bind_post_task.h"
#include "base/threading/sequenced_task_runner_handle.h"
-#include "components/reporting/metrics/event_driven_telemetry_sampler_pool.h"
+#include "components/reporting/client/report_queue.h"
#include "components/reporting/metrics/metric_rate_controller.h"
#include "components/reporting/metrics/metric_report_queue.h"
#include "components/reporting/metrics/metric_reporting_controller.h"
-#include "components/reporting/metrics/multi_samplers_collector.h"
-#include "components/reporting/util/status.h"
namespace reporting {
-namespace {
-
-void ReportMetricData(MetricReportQueue* metric_report_queue,
- MetricData metric_data,
- base::OnceClosure on_data_reported = base::DoNothing()) {
- auto enqueue_cb = base::BindOnce(
- [](base::OnceClosure on_data_reported, Status status) {
- if (!status.ok()) {
- DVLOG(1) << "Could not enqueue event to reporting queue because of: "
- << status;
- }
- std::move(on_data_reported).Run();
- },
- std::move(on_data_reported));
- metric_report_queue->Enqueue(
- std::make_unique<MetricData>(std::move(metric_data)),
- std::move(enqueue_cb));
-}
-
-} // namespace
CollectorBase::CollectorBase(Sampler* sampler) : sampler_(sampler) {}
@@ -57,12 +33,13 @@
base::SequencedTaskRunnerHandle::Get(), std::move(on_collected_cb)));
}
-OneShotCollector::OneShotCollector(Sampler* sampler,
- MetricReportQueue* metric_report_queue,
- ReportingSettings* reporting_settings,
- const std::string& setting_path,
- bool setting_enabled_default_value,
- base::OnceClosure on_data_reported)
+OneShotCollector::OneShotCollector(
+ Sampler* sampler,
+ MetricReportQueue* metric_report_queue,
+ ReportingSettings* reporting_settings,
+ const std::string& setting_path,
+ bool setting_enabled_default_value,
+ ReportQueue::EnqueueCallback on_data_reported)
: CollectorBase(sampler),
metric_report_queue_(metric_report_queue),
on_data_reported_(std::move(on_data_reported)) {
@@ -93,8 +70,8 @@
}
metric_data->set_timestamp_ms(base::Time::Now().ToJavaTime());
- ReportMetricData(metric_report_queue_, std::move(metric_data.value()),
- std::move(on_data_reported_));
+ metric_report_queue_->Enqueue(std::move(metric_data.value()),
+ std::move(on_data_reported_));
}
PeriodicCollector::PeriodicCollector(Sampler* sampler,
@@ -133,7 +110,7 @@
}
metric_data->set_timestamp_ms(base::Time::Now().ToJavaTime());
- ReportMetricData(metric_report_queue_, std::move(metric_data.value()));
+ metric_report_queue_->Enqueue(std::move(metric_data.value()));
}
void PeriodicCollector::StartPeriodicCollection() {
diff --git a/components/reporting/metrics/metric_data_collector.h b/components/reporting/metrics/metric_data_collector.h
index 7b3b858..1226a4c 100644
--- a/components/reporting/metrics/metric_data_collector.h
+++ b/components/reporting/metrics/metric_data_collector.h
@@ -9,14 +9,12 @@
#include <string>
#include <vector>
-#include "base/callback_forward.h"
#include "base/callback_helpers.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/sequence_checker.h"
#include "base/time/time.h"
#include "components/reporting/client/report_queue.h"
-#include "components/reporting/metrics/event_driven_telemetry_sampler_pool.h"
#include "components/reporting/metrics/sampler.h"
#include "components/reporting/proto/synced/metric_data.pb.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -56,12 +54,13 @@
// setting is enabled.
class OneShotCollector : public CollectorBase {
public:
- OneShotCollector(Sampler* sampler,
- MetricReportQueue* metric_report_queue,
- ReportingSettings* reporting_settings,
- const std::string& setting_path,
- bool setting_enabled_default_value,
- base::OnceClosure on_data_reported = base::DoNothing());
+ OneShotCollector(
+ Sampler* sampler,
+ MetricReportQueue* metric_report_queue,
+ ReportingSettings* reporting_settings,
+ const std::string& setting_path,
+ bool setting_enabled_default_value,
+ ReportQueue::EnqueueCallback on_data_reported = base::DoNothing());
OneShotCollector(const OneShotCollector& other) = delete;
OneShotCollector& operator=(const OneShotCollector& other) = delete;
@@ -78,7 +77,7 @@
std::unique_ptr<MetricReportingController> reporting_controller_;
- base::OnceClosure on_data_reported_;
+ ReportQueue::EnqueueCallback on_data_reported_;
bool data_collected_ = false;
};
diff --git a/components/reporting/metrics/metric_data_collector_unittest.cc b/components/reporting/metrics/metric_data_collector_unittest.cc
index 839ca7b3..38e7b3f 100644
--- a/components/reporting/metrics/metric_data_collector_unittest.cc
+++ b/components/reporting/metrics/metric_data_collector_unittest.cc
@@ -19,6 +19,7 @@
#include "components/reporting/metrics/fakes/fake_sampler.h"
#include "components/reporting/metrics/metric_report_queue.h"
#include "components/reporting/proto/synced/metric_data.pb.h"
+#include "components/reporting/util/status.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -60,12 +61,12 @@
sampler_->SetMetricData(std::move(metric_data));
bool callback_called = false;
- OneShotCollector collector(sampler_.get(), metric_report_queue_.get(),
- settings_.get(), kEnableSettingPath,
- /*setting_enabled_default_value=*/false,
- base::BindLambdaForTesting([&callback_called]() {
- callback_called = true;
- }));
+ OneShotCollector collector(
+ sampler_.get(), metric_report_queue_.get(), settings_.get(),
+ kEnableSettingPath,
+ /*setting_enabled_default_value=*/false,
+ base::BindLambdaForTesting(
+ [&callback_called](Status) { callback_called = true; }));
// Setting is initially enabled, data is being collected.
EXPECT_EQ(sampler_->GetNumCollectCalls(), 1);
@@ -83,8 +84,8 @@
ASSERT_THAT(metric_data_reported, ::testing::SizeIs(1));
EXPECT_TRUE(callback_called);
- EXPECT_TRUE(metric_data_reported[0]->has_timestamp_ms());
- EXPECT_TRUE(metric_data_reported[0]->has_info_data());
+ EXPECT_TRUE(metric_data_reported[0].has_timestamp_ms());
+ EXPECT_TRUE(metric_data_reported[0].has_info_data());
}
TEST_F(MetricDataCollectorTest, OneShotCollector_NoMetricData) {
@@ -93,12 +94,12 @@
sampler_->SetMetricData(absl::nullopt);
bool callback_called = false;
- OneShotCollector collector(sampler_.get(), metric_report_queue_.get(),
- settings_.get(), kEnableSettingPath,
- /*setting_enabled_default_value=*/false,
- base::BindLambdaForTesting([&callback_called]() {
- callback_called = true;
- }));
+ OneShotCollector collector(
+ sampler_.get(), metric_report_queue_.get(), settings_.get(),
+ kEnableSettingPath,
+ /*setting_enabled_default_value=*/false,
+ base::BindLambdaForTesting(
+ [&callback_called](Status) { callback_called = true; }));
// Setting is initially enabled, data is being collected.
EXPECT_EQ(sampler_->GetNumCollectCalls(), 1);
@@ -141,8 +142,8 @@
metric_report_queue_->GetMetricDataReported();
ASSERT_THAT(metric_data_reported, ::testing::SizeIs(1));
- EXPECT_TRUE(metric_data_reported[0]->has_timestamp_ms());
- EXPECT_TRUE(metric_data_reported[0]->has_info_data());
+ EXPECT_TRUE(metric_data_reported[0].has_timestamp_ms());
+ EXPECT_TRUE(metric_data_reported[0].has_info_data());
}
TEST_F(MetricDataCollectorTest, OneShotCollector_DefaultEnabled) {
@@ -151,12 +152,12 @@
sampler_->SetMetricData(std::move(metric_data));
bool callback_called = false;
- OneShotCollector collector(sampler_.get(), metric_report_queue_.get(),
- settings_.get(), "invalid/path",
- /*setting_enabled_default_value=*/true,
- base::BindLambdaForTesting([&callback_called]() {
- callback_called = true;
- }));
+ OneShotCollector collector(
+ sampler_.get(), metric_report_queue_.get(), settings_.get(),
+ "invalid/path",
+ /*setting_enabled_default_value=*/true,
+ base::BindLambdaForTesting(
+ [&callback_called](Status) { callback_called = true; }));
// Setting is enabled by default, data is being collected.
EXPECT_EQ(sampler_->GetNumCollectCalls(), 1);
@@ -167,8 +168,8 @@
ASSERT_THAT(metric_data_reported, ::testing::SizeIs(1));
EXPECT_TRUE(callback_called);
- EXPECT_TRUE(metric_data_reported[0]->has_timestamp_ms());
- EXPECT_TRUE(metric_data_reported[0]->has_info_data());
+ EXPECT_TRUE(metric_data_reported[0].has_timestamp_ms());
+ EXPECT_TRUE(metric_data_reported[0].has_info_data());
}
TEST_F(MetricDataCollectorTest, OneShotCollector_DefaultDisabled) {
@@ -252,12 +253,12 @@
ASSERT_THAT(metric_data_reported, ::testing::SizeIs(5));
for (int i = 0; i < 5; ++i) {
- EXPECT_TRUE(metric_data_reported[i]->has_timestamp_ms());
- EXPECT_EQ(metric_data_reported[i]->has_telemetry_data(),
+ EXPECT_TRUE(metric_data_reported[i].has_timestamp_ms());
+ EXPECT_EQ(metric_data_reported[i].has_telemetry_data(),
metric_data[i].has_telemetry_data());
- EXPECT_EQ(metric_data_reported[i]->has_info_data(),
+ EXPECT_EQ(metric_data_reported[i].has_info_data(),
metric_data[i].has_info_data());
- EXPECT_EQ(metric_data_reported[i]->has_event_data(),
+ EXPECT_EQ(metric_data_reported[i].has_event_data(),
metric_data[i].has_event_data());
}
}
@@ -316,10 +317,10 @@
metric_report_queue_->GetMetricDataReported();
ASSERT_THAT(metric_data_reported, ::testing::SizeIs(2));
- EXPECT_TRUE(metric_data_reported[0]->has_timestamp_ms());
- EXPECT_TRUE(metric_data_reported[0]->has_telemetry_data());
- EXPECT_TRUE(metric_data_reported[1]->has_timestamp_ms());
- EXPECT_TRUE(metric_data_reported[1]->has_telemetry_data());
+ EXPECT_TRUE(metric_data_reported[0].has_timestamp_ms());
+ EXPECT_TRUE(metric_data_reported[0].has_telemetry_data());
+ EXPECT_TRUE(metric_data_reported[1].has_timestamp_ms());
+ EXPECT_TRUE(metric_data_reported[1].has_telemetry_data());
}
TEST_F(MetricDataCollectorTest, PeriodicCollector_DefaultEnabled) {
@@ -352,11 +353,11 @@
metric_report_queue_->GetMetricDataReported();
ASSERT_THAT(metric_data_reported, ::testing::SizeIs(2));
- EXPECT_TRUE(metric_data_reported[0]->has_timestamp_ms());
- EXPECT_TRUE(metric_data_reported[0]->has_telemetry_data());
- EXPECT_TRUE(metric_data_reported[1]->has_timestamp_ms());
- EXPECT_FALSE(metric_data_reported[1]->has_telemetry_data());
- EXPECT_TRUE(metric_data_reported[1]->has_event_data());
+ EXPECT_TRUE(metric_data_reported[0].has_timestamp_ms());
+ EXPECT_TRUE(metric_data_reported[0].has_telemetry_data());
+ EXPECT_TRUE(metric_data_reported[1].has_timestamp_ms());
+ EXPECT_FALSE(metric_data_reported[1].has_telemetry_data());
+ EXPECT_TRUE(metric_data_reported[1].has_event_data());
}
TEST_F(MetricDataCollectorTest, PeriodicCollector_DefaultDisabled) {
diff --git a/components/reporting/metrics/metric_event_observer_manager.cc b/components/reporting/metrics/metric_event_observer_manager.cc
index a61403c..69f73d8b 100644
--- a/components/reporting/metrics/metric_event_observer_manager.cc
+++ b/components/reporting/metrics/metric_event_observer_manager.cc
@@ -9,7 +9,6 @@
#include <vector>
#include "base/bind.h"
-#include "base/logging.h"
#include "base/memory/scoped_refptr.h"
#include "base/task/bind_post_task.h"
#include "base/threading/sequenced_task_runner_handle.h"
@@ -22,7 +21,6 @@
#include "components/reporting/metrics/multi_samplers_collector.h"
#include "components/reporting/metrics/reporting_settings.h"
#include "components/reporting/metrics/sampler.h"
-#include "components/reporting/util/status.h"
namespace reporting {
@@ -94,15 +92,6 @@
metric_data.CheckTypeAndMergeFrom(telemetry_data.value());
}
- auto enqueue_cb = base::BindOnce([](Status status) {
- if (!status.ok()) {
- DVLOG(1)
- << "Could not enqueue observed event to reporting queue because of: "
- << status;
- }
- });
- metric_report_queue_->Enqueue(
- std::make_unique<MetricData>(std::move(metric_data)),
- std::move(enqueue_cb));
+ metric_report_queue_->Enqueue(std::move(metric_data));
}
} // namespace reporting
diff --git a/components/reporting/metrics/metric_event_observer_manager_unittest.cc b/components/reporting/metrics/metric_event_observer_manager_unittest.cc
index 52009ac..aee1ed48 100644
--- a/components/reporting/metrics/metric_event_observer_manager_unittest.cc
+++ b/components/reporting/metrics/metric_event_observer_manager_unittest.cc
@@ -66,8 +66,8 @@
const auto& metric_data_reported =
metric_report_queue_->GetMetricDataReported();
ASSERT_THAT(metric_data_reported, ::testing::SizeIs(i + 1));
- EXPECT_TRUE(metric_data_reported[i]->has_timestamp_ms());
- EXPECT_TRUE(metric_data_reported[i]->has_event_data());
+ EXPECT_TRUE(metric_data_reported[i].has_timestamp_ms());
+ EXPECT_TRUE(metric_data_reported[i].has_event_data());
}
// Setting disabled, no more data should be reported even if the callback is
@@ -106,7 +106,7 @@
const auto& metric_data_reported =
metric_report_queue_->GetMetricDataReported();
ASSERT_THAT(metric_data_reported, ::testing::SizeIs(1));
- EXPECT_TRUE(metric_data_reported[0]->has_event_data());
+ EXPECT_TRUE(metric_data_reported[0].has_event_data());
}
TEST_F(MetricEventObserverManagerTest, DefaultEnabled) {
@@ -126,8 +126,8 @@
const auto& metric_data_reported =
metric_report_queue_->GetMetricDataReported();
ASSERT_THAT(metric_data_reported, ::testing::SizeIs(1));
- EXPECT_TRUE(metric_data_reported[0]->has_timestamp_ms());
- EXPECT_TRUE(metric_data_reported[0]->has_event_data());
+ EXPECT_TRUE(metric_data_reported[0].has_timestamp_ms());
+ EXPECT_TRUE(metric_data_reported[0].has_event_data());
}
TEST_F(MetricEventObserverManagerTest, DefaultDisabled) {
@@ -192,14 +192,14 @@
metric_report_queue_->GetMetricDataReported();
ASSERT_THAT(metric_data_reported, ::testing::SizeIs(1));
- EXPECT_TRUE(metric_data_reported[0]->has_timestamp_ms());
- EXPECT_TRUE(metric_data_reported[0]->has_event_data());
- ASSERT_TRUE(metric_data_reported[0]->has_telemetry_data());
- EXPECT_TRUE(metric_data_reported[0]->telemetry_data().has_audio_telemetry());
+ EXPECT_TRUE(metric_data_reported[0].has_timestamp_ms());
+ EXPECT_TRUE(metric_data_reported[0].has_event_data());
+ ASSERT_TRUE(metric_data_reported[0].has_telemetry_data());
+ EXPECT_TRUE(metric_data_reported[0].telemetry_data().has_audio_telemetry());
EXPECT_FALSE(
- metric_data_reported[0]->telemetry_data().has_peripherals_telemetry());
+ metric_data_reported[0].telemetry_data().has_peripherals_telemetry());
EXPECT_TRUE(
- metric_data_reported[0]->telemetry_data().has_networks_telemetry());
+ metric_data_reported[0].telemetry_data().has_networks_telemetry());
}
} // namespace
diff --git a/components/reporting/metrics/metric_report_queue.cc b/components/reporting/metrics/metric_report_queue.cc
index 47a4e97..9333c35 100644
--- a/components/reporting/metrics/metric_report_queue.cc
+++ b/components/reporting/metrics/metric_report_queue.cc
@@ -4,7 +4,7 @@
#include "components/reporting/metrics/metric_report_queue.h"
-#include "base/bind.h"
+#include "base/functional/bind.h"
#include "base/logging.h"
#include "components/reporting/metrics/metric_rate_controller.h"
#include "components/reporting/metrics/reporting_settings.h"
@@ -34,10 +34,19 @@
MetricReportQueue::~MetricReportQueue() = default;
-void MetricReportQueue::Enqueue(std::unique_ptr<const MetricData> metric_data,
+void MetricReportQueue::Enqueue(MetricData metric_data,
ReportQueue::EnqueueCallback callback) {
- report_queue_->Enqueue(std::move(metric_data), priority_,
- std::move(callback));
+ auto enqueue_cb = base::BindOnce(
+ [](ReportQueue::EnqueueCallback callback, Status status) {
+ if (!status.ok()) {
+ DVLOG(1) << "Could not enqueue to reporting queue because of: "
+ << status;
+ }
+ std::move(callback).Run(std::move(status));
+ },
+ std::move(callback));
+ report_queue_->Enqueue(std::make_unique<MetricData>(std::move(metric_data)),
+ priority_, std::move(enqueue_cb));
}
void MetricReportQueue::Upload() {
diff --git a/components/reporting/metrics/metric_report_queue.h b/components/reporting/metrics/metric_report_queue.h
index c0a6920e..1f450c8f 100644
--- a/components/reporting/metrics/metric_report_queue.h
+++ b/components/reporting/metrics/metric_report_queue.h
@@ -8,6 +8,7 @@
#include <memory>
#include <string>
+#include "base/functional/callback_helpers.h"
#include "base/task/sequenced_task_runner.h"
#include "base/time/time.h"
#include "components/reporting/client/report_queue.h"
@@ -43,8 +44,9 @@
virtual ~MetricReportQueue();
// Enqueue the metric data.
- virtual void Enqueue(std::unique_ptr<const MetricData> metric_data,
- ReportQueue::EnqueueCallback callback);
+ virtual void Enqueue(
+ MetricData metric_data,
+ ReportQueue::EnqueueCallback callback = base::DoNothing());
// Initiate manual upload of records with `priority_` and restart timer if
// exists.
diff --git a/components/reporting/metrics/metric_report_queue_unittest.cc b/components/reporting/metrics/metric_report_queue_unittest.cc
index 8515e8b..c9e3bf58 100644
--- a/components/reporting/metrics/metric_report_queue_unittest.cc
+++ b/components/reporting/metrics/metric_report_queue_unittest.cc
@@ -47,17 +47,15 @@
};
TEST_F(MetricReportQueueTest, ManualUpload) {
- auto mock_queue =
- std::unique_ptr<MockReportQueueStrict, base::OnTaskRunnerDeleter>(
- new MockReportQueueStrict(),
- base::OnTaskRunnerDeleter(
- base::ThreadPool::CreateSequencedTaskRunner({})));
+ auto mock_queue = std::unique_ptr<MockReportQueue, base::OnTaskRunnerDeleter>(
+ new MockReportQueue(),
+ base::OnTaskRunnerDeleter(
+ base::ThreadPool::CreateSequencedTaskRunner({})));
auto* mock_queue_ptr = mock_queue.get();
MetricData record;
record.set_timestamp_ms(123456);
MetricReportQueue metric_report_queue(std::move(mock_queue), priority_);
-
EXPECT_CALL(*mock_queue_ptr, AddRecord(_, _, _))
.WillOnce([&record, this](base::StringPiece record_string,
Priority actual_priority,
@@ -72,9 +70,8 @@
});
bool callback_called = false;
metric_report_queue.Enqueue(
- std::make_unique<MetricData>(record),
- base::BindLambdaForTesting(
- [&callback_called](Status) { callback_called = true; }));
+ record, base::BindLambdaForTesting(
+ [&callback_called](Status) { callback_called = true; }));
EXPECT_TRUE(callback_called);
EXPECT_CALL(*mock_queue_ptr, Flush(priority_, _)).Times(1);
@@ -111,9 +108,8 @@
});
bool callback_called = false;
metric_report_queue.Enqueue(
- std::make_unique<MetricData>(record),
- base::BindLambdaForTesting(
- [&callback_called](Status) { callback_called = true; }));
+ record, base::BindLambdaForTesting(
+ [&callback_called](Status) { callback_called = true; }));
EXPECT_TRUE(callback_called);
ON_CALL(*mock_queue_ptr, Flush(priority_, _)).WillByDefault([&]() {
@@ -135,11 +131,10 @@
TEST_F(MetricReportQueueTest, RateControlledFlush_TimeNotElapsed) {
settings_->SetInteger(kRateSettingPath, kRateMs);
- auto mock_queue =
- std::unique_ptr<MockReportQueueStrict, base::OnTaskRunnerDeleter>(
- new MockReportQueueStrict(),
- base::OnTaskRunnerDeleter(
- base::ThreadPool::CreateSequencedTaskRunner({})));
+ auto mock_queue = std::unique_ptr<MockReportQueue, base::OnTaskRunnerDeleter>(
+ new MockReportQueue(),
+ base::OnTaskRunnerDeleter(
+ base::ThreadPool::CreateSequencedTaskRunner({})));
auto* mock_queue_ptr = mock_queue.get();
MetricData record;
record.set_timestamp_ms(123456);
@@ -162,9 +157,8 @@
});
bool callback_called = false;
metric_report_queue.Enqueue(
- std::make_unique<MetricData>(record),
- base::BindLambdaForTesting(
- [&callback_called](Status) { callback_called = true; }));
+ record, base::BindLambdaForTesting(
+ [&callback_called](Status) { callback_called = true; }));
EXPECT_TRUE(callback_called);
EXPECT_CALL(*mock_queue_ptr, Flush).Times(0);
@@ -173,11 +167,10 @@
TEST_F(MetricReportQueueTest, RateControlledFlush_TimeElapsed) {
settings_->SetInteger(kRateSettingPath, kRateMs);
- auto mock_queue =
- std::unique_ptr<MockReportQueueStrict, base::OnTaskRunnerDeleter>(
- new MockReportQueueStrict(),
- base::OnTaskRunnerDeleter(
- base::ThreadPool::CreateSequencedTaskRunner({})));
+ auto mock_queue = std::unique_ptr<MockReportQueue, base::OnTaskRunnerDeleter>(
+ new MockReportQueue(),
+ base::OnTaskRunnerDeleter(
+ base::ThreadPool::CreateSequencedTaskRunner({})));
auto* mock_queue_ptr = mock_queue.get();
MetricData record;
record.set_timestamp_ms(123456);
@@ -200,9 +193,8 @@
});
bool callback_called = false;
metric_report_queue.Enqueue(
- std::make_unique<MetricData>(record),
- base::BindLambdaForTesting(
- [&callback_called](Status) { callback_called = true; }));
+ record, base::BindLambdaForTesting(
+ [&callback_called](Status) { callback_called = true; }));
EXPECT_TRUE(callback_called);
EXPECT_CALL(*mock_queue_ptr, Flush(priority_, _)).Times(1);