summaryrefslogtreecommitdiffstats
path: root/chromium/cc/metrics/compositor_frame_reporter_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/metrics/compositor_frame_reporter_unittest.cc')
-rw-r--r--chromium/cc/metrics/compositor_frame_reporter_unittest.cc163
1 files changed, 8 insertions, 155 deletions
diff --git a/chromium/cc/metrics/compositor_frame_reporter_unittest.cc b/chromium/cc/metrics/compositor_frame_reporter_unittest.cc
index 83e23ade478..d11995fa79f 100644
--- a/chromium/cc/metrics/compositor_frame_reporter_unittest.cc
+++ b/chromium/cc/metrics/compositor_frame_reporter_unittest.cc
@@ -38,13 +38,12 @@ TEST_F(CompositorFrameReporterTest, MainFrameAbortedReportingTest) {
pipeline_reporter_->StartStage(
CompositorFrameReporter::StageType::kBeginImplFrameToSendBeginMainFrame,
- Now(), nullptr);
+ Now());
EXPECT_EQ(0, pipeline_reporter_->StageHistorySizeForTesting());
AdvanceNowByMs(3);
pipeline_reporter_->StartStage(
- CompositorFrameReporter::StageType::kSendBeginMainFrameToCommit, Now(),
- nullptr);
+ CompositorFrameReporter::StageType::kSendBeginMainFrameToCommit, Now());
EXPECT_EQ(1, pipeline_reporter_->StageHistorySizeForTesting());
AdvanceNowByMs(2);
@@ -64,13 +63,12 @@ TEST_F(CompositorFrameReporterTest, ReplacedByNewReporterReportingTest) {
base::HistogramTester histogram_tester;
pipeline_reporter_->StartStage(CompositorFrameReporter::StageType::kCommit,
- Now(), nullptr);
+ Now());
EXPECT_EQ(0, pipeline_reporter_->StageHistorySizeForTesting());
AdvanceNowByMs(3);
pipeline_reporter_->StartStage(
- CompositorFrameReporter::StageType::kEndCommitToActivation, Now(),
- nullptr);
+ CompositorFrameReporter::StageType::kEndCommitToActivation, Now());
EXPECT_EQ(1, pipeline_reporter_->StageHistorySizeForTesting());
AdvanceNowByMs(2);
@@ -89,13 +87,13 @@ TEST_F(CompositorFrameReporterTest, SubmittedFrameReportingTest) {
base::HistogramTester histogram_tester;
pipeline_reporter_->StartStage(
- CompositorFrameReporter::StageType::kActivation, Now(), nullptr);
+ CompositorFrameReporter::StageType::kActivation, Now());
EXPECT_EQ(0, pipeline_reporter_->StageHistorySizeForTesting());
AdvanceNowByMs(3);
pipeline_reporter_->StartStage(
CompositorFrameReporter::StageType::kEndActivateToSubmitCompositorFrame,
- Now(), nullptr);
+ Now());
EXPECT_EQ(1, pipeline_reporter_->StageHistorySizeForTesting());
AdvanceNowByMs(2);
@@ -125,13 +123,12 @@ TEST_F(CompositorFrameReporterTest, SubmittedMissedFrameReportingTest) {
base::HistogramTester histogram_tester;
pipeline_reporter_->StartStage(
- CompositorFrameReporter::StageType::kSendBeginMainFrameToCommit, Now(),
- nullptr);
+ CompositorFrameReporter::StageType::kSendBeginMainFrameToCommit, Now());
EXPECT_EQ(0, pipeline_reporter_->StageHistorySizeForTesting());
AdvanceNowByMs(3);
pipeline_reporter_->StartStage(CompositorFrameReporter::StageType::kCommit,
- Now(), nullptr);
+ Now());
EXPECT_EQ(1, pipeline_reporter_->StageHistorySizeForTesting());
AdvanceNowByMs(2);
@@ -158,149 +155,5 @@ TEST_F(CompositorFrameReporterTest, SubmittedMissedFrameReportingTest) {
histogram_tester.ExpectBucketCount(
"CompositorLatency.MissedFrame.TotalLatency", 5, 1);
}
-
-TEST_F(CompositorFrameReporterTest, MissedFrameLatencyIncreaseReportingTest) {
- base::HistogramTester histogram_tester;
- RollingTimeDeltaHistory time_delta_history(50);
- RollingTimeDeltaHistory time_delta_history2(50);
-
- // Terminate this frame since it will get destroyed in the for loop.
- pipeline_reporter_->TerminateFrame(
- CompositorFrameReporter::FrameTerminationStatus::kDidNotProduceFrame,
- Now());
-
- // Submit 19 non-missed frames.
- for (int i = 0; i < 19; ++i) {
- pipeline_reporter_ =
- std::make_unique<CompositorFrameReporter>(&active_trackers);
- pipeline_reporter_->StartStage(CompositorFrameReporter::StageType::kCommit,
- Now(), &time_delta_history);
- AdvanceNowByMs(1);
- pipeline_reporter_->StartStage(
- CompositorFrameReporter::StageType::kEndCommitToActivation, Now(),
- &time_delta_history2);
- pipeline_reporter_->TerminateFrame(
- CompositorFrameReporter::FrameTerminationStatus::kPresentedFrame,
- Now());
- }
- pipeline_reporter_ = nullptr;
- EXPECT_EQ((size_t)19, time_delta_history.sample_count());
- EXPECT_EQ((size_t)19, time_delta_history2.sample_count());
- histogram_tester.ExpectTotalCount("CompositorLatency.Commit", 19);
- histogram_tester.ExpectTotalCount("CompositorLatency.EndCommitToActivation",
- 19);
-
- // Submit 3 frames missed frames. This will remove 3 sample from the front of
- // time delta history. And 16 sample will be in the time delta history.
- for (int i = 0; i < 3; ++i) {
- pipeline_reporter_ =
- std::make_unique<CompositorFrameReporter>(&active_trackers);
- pipeline_reporter_->StartStage(CompositorFrameReporter::StageType::kCommit,
- Now(), &time_delta_history);
- AdvanceNowByMs(100);
- pipeline_reporter_->StartStage(
- CompositorFrameReporter::StageType::kEndCommitToActivation, Now(),
- &time_delta_history2);
- pipeline_reporter_->MissedSubmittedFrame();
- pipeline_reporter_->TerminateFrame(
- CompositorFrameReporter::FrameTerminationStatus::kPresentedFrame,
- Now());
- }
- pipeline_reporter_ = nullptr;
- EXPECT_EQ((size_t)16, time_delta_history.sample_count());
- EXPECT_EQ((size_t)16, time_delta_history2.sample_count());
- DCHECK_EQ(time_delta_history.sample_count(), (size_t)16);
- histogram_tester.ExpectTotalCount(
- "CompositorLatency.MissedFrameLatencyIncrease.Commit", 0);
- histogram_tester.ExpectTotalCount(
- "CompositorLatency.MissedFrameLatencyIncrease.EndCommitToActivation", 0);
- histogram_tester.ExpectTotalCount("CompositorLatency.MissedFrame.Commit", 3);
- histogram_tester.ExpectTotalCount(
- "CompositorLatency.MissedFrame.EndCommitToActivation", 3);
-
- // Submit 5 frame so that missed frame duration increases would be reported.
- for (int i = 0; i < 5; ++i) {
- pipeline_reporter_ =
- std::make_unique<CompositorFrameReporter>(&active_trackers);
- pipeline_reporter_->StartStage(CompositorFrameReporter::StageType::kCommit,
- Now(), &time_delta_history);
- AdvanceNowByMs(1);
- pipeline_reporter_->StartStage(
- CompositorFrameReporter::StageType::kEndCommitToActivation, Now(),
- &time_delta_history2);
- pipeline_reporter_->TerminateFrame(
- CompositorFrameReporter::FrameTerminationStatus::kPresentedFrame,
- Now());
- }
- pipeline_reporter_ = nullptr;
- EXPECT_EQ((size_t)21, time_delta_history.sample_count());
- EXPECT_EQ((size_t)21, time_delta_history2.sample_count());
-
- histogram_tester.ExpectTotalCount("CompositorLatency.Commit", 24);
- histogram_tester.ExpectTotalCount("CompositorLatency.EndCommitToActivation",
- 24);
-
- // Submit missed frame that is not abnormal (more than 95 percentile of the
- // frame history). This brings down the time delta history count to 20.
- pipeline_reporter_ =
- std::make_unique<CompositorFrameReporter>(&active_trackers);
- pipeline_reporter_->StartStage(CompositorFrameReporter::StageType::kCommit,
- Now(), &time_delta_history);
- AdvanceNowByMs(1);
- pipeline_reporter_->StartStage(
- CompositorFrameReporter::StageType::kEndCommitToActivation, Now(),
- &time_delta_history2);
- pipeline_reporter_->MissedSubmittedFrame();
- pipeline_reporter_->TerminateFrame(
- CompositorFrameReporter::FrameTerminationStatus::kPresentedFrame, Now());
- pipeline_reporter_ = nullptr;
- histogram_tester.ExpectTotalCount(
- "CompositorLatency.MissedFrameLatencyIncrease.Commit", 0);
- histogram_tester.ExpectTotalCount("CompositorLatency.MissedFrame.Commit", 4);
- histogram_tester.ExpectTotalCount(
- "CompositorLatency.MissedFrame.EndCommitToActivation", 4);
-
- EXPECT_EQ((size_t)20, time_delta_history.sample_count());
- EXPECT_EQ((size_t)20, time_delta_history2.sample_count());
-
- // Submit missed frame that is abnormal (more than 95 percentile of the
- // frame history).
- pipeline_reporter_ =
- std::make_unique<CompositorFrameReporter>(&active_trackers);
- pipeline_reporter_->StartStage(CompositorFrameReporter::StageType::kCommit,
- Now(), &time_delta_history);
- AdvanceNowByMs(3);
- pipeline_reporter_->StartStage(
- CompositorFrameReporter::StageType::kEndCommitToActivation, Now(),
- &time_delta_history2);
- pipeline_reporter_->MissedSubmittedFrame();
- pipeline_reporter_->TerminateFrame(
- CompositorFrameReporter::FrameTerminationStatus::kPresentedFrame, Now());
- pipeline_reporter_ = nullptr;
- histogram_tester.ExpectTotalCount(
- "CompositorLatency.MissedFrameLatencyIncrease.Commit", 1);
- histogram_tester.ExpectTotalCount("CompositorLatency.MissedFrame.Commit", 5);
- histogram_tester.ExpectTotalCount(
- "CompositorLatency.MissedFrame.EndCommitToActivation", 5);
-
- // Submit not-missed frame with abnormal times.
- pipeline_reporter_ =
- std::make_unique<CompositorFrameReporter>(&active_trackers);
- pipeline_reporter_->StartStage(CompositorFrameReporter::StageType::kCommit,
- Now(), &time_delta_history);
- AdvanceNowByMs(3);
- pipeline_reporter_->StartStage(
- CompositorFrameReporter::StageType::kEndCommitToActivation, Now(),
- &time_delta_history2);
- pipeline_reporter_->TerminateFrame(
- CompositorFrameReporter::FrameTerminationStatus::kPresentedFrame, Now());
- pipeline_reporter_ = nullptr;
- histogram_tester.ExpectTotalCount(
- "CompositorLatency.MissedFrameLatencyIncrease.Commit", 1);
- histogram_tester.ExpectTotalCount("CompositorLatency.Commit", 25);
- histogram_tester.ExpectTotalCount("CompositorLatency.EndCommitToActivation",
- 25);
-}
-
} // namespace
} // namespace cc