From 06130548fc1da9ff5d629d9fe8583fb3fe7c4271 Mon Sep 17 00:00:00 2001 From: Markus Handell Date: Mon, 22 May 2023 20:16:44 +0200 Subject: [PATCH] Remove unused histograms. This CL removes histograms which are no longer of use. Bug: chromium:1255737 Change-Id: I7eb7e2cfbb03126257b51bfaa30d764b37dd9bd0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306200 Reviewed-by: Ilya Nikolaevskiy Commit-Queue: Markus Handell Cr-Commit-Position: refs/heads/main@{#40114} --- video/frame_cadence_adapter.cc | 58 ----- video/frame_cadence_adapter_unittest.cc | 273 ------------------------ 2 files changed, 331 deletions(-) diff --git a/video/frame_cadence_adapter.cc b/video/frame_cadence_adapter.cc index efffa9672a..9390c05d27 100644 --- a/video/frame_cadence_adapter.cc +++ b/video/frame_cadence_adapter.cc @@ -260,9 +260,6 @@ class FrameCadenceAdapterImpl : public FrameCadenceAdapterInterface { // Handles adapter creation on configuration changes. void MaybeReconfigureAdapters(bool was_zero_hertz_enabled) RTC_RUN_ON(queue_); - // Called to report on constraint UMAs. - void MaybeReportFrameRateConstraintUmas() RTC_RUN_ON(queue_); - Clock* const clock_; TaskQueueBase* const queue_; @@ -673,7 +670,6 @@ void FrameCadenceAdapterImpl::OnFrame(const VideoFrame& frame) { std::memory_order_relaxed); OnFrameOnMainQueue(post_time, frames_scheduled_for_processing, std::move(frame)); - MaybeReportFrameRateConstraintUmas(); })); } @@ -737,60 +733,6 @@ void FrameCadenceAdapterImpl::MaybeReconfigureAdapters( } } -void FrameCadenceAdapterImpl::MaybeReportFrameRateConstraintUmas() { - RTC_DCHECK_RUN_ON(queue_); - if (has_reported_screenshare_frame_rate_umas_) - return; - has_reported_screenshare_frame_rate_umas_ = true; - if (!zero_hertz_params_.has_value()) - return; - RTC_HISTOGRAM_BOOLEAN("WebRTC.Screenshare.FrameRateConstraints.Exists", - source_constraints_.has_value()); - if (!source_constraints_.has_value()) - return; - RTC_HISTOGRAM_BOOLEAN("WebRTC.Screenshare.FrameRateConstraints.Min.Exists", - source_constraints_->min_fps.has_value()); - if (source_constraints_->min_fps.has_value()) { - RTC_HISTOGRAM_COUNTS_100( - "WebRTC.Screenshare.FrameRateConstraints.Min.Value", - source_constraints_->min_fps.value()); - } - RTC_HISTOGRAM_BOOLEAN("WebRTC.Screenshare.FrameRateConstraints.Max.Exists", - source_constraints_->max_fps.has_value()); - if (source_constraints_->max_fps.has_value()) { - RTC_HISTOGRAM_COUNTS_100( - "WebRTC.Screenshare.FrameRateConstraints.Max.Value", - source_constraints_->max_fps.value()); - } - if (!source_constraints_->min_fps.has_value()) { - if (source_constraints_->max_fps.has_value()) { - RTC_HISTOGRAM_COUNTS_100( - "WebRTC.Screenshare.FrameRateConstraints.MinUnset.Max", - source_constraints_->max_fps.value()); - } - } else if (source_constraints_->max_fps.has_value()) { - if (source_constraints_->min_fps.value() < - source_constraints_->max_fps.value()) { - RTC_HISTOGRAM_COUNTS_100( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Min", - source_constraints_->min_fps.value()); - RTC_HISTOGRAM_COUNTS_100( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Max", - source_constraints_->max_fps.value()); - } - // Multi-dimensional histogram for min and max FPS making it possible to - // uncover min and max combinations. See - // https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md#multidimensional-histograms - constexpr int kMaxBucketCount = - 60 * /*max min_fps=*/60 + /*max max_fps=*/60 - 1; - RTC_HISTOGRAM_ENUMERATION_SPARSE( - "WebRTC.Screenshare.FrameRateConstraints.60MinPlusMaxMinusOne", - source_constraints_->min_fps.value() * 60 + - source_constraints_->max_fps.value() - 1, - /*boundary=*/kMaxBucketCount); - } -} - } // namespace std::unique_ptr diff --git a/video/frame_cadence_adapter_unittest.cc b/video/frame_cadence_adapter_unittest.cc index afc675ffde..f9745c8a0e 100644 --- a/video/frame_cadence_adapter_unittest.cc +++ b/video/frame_cadence_adapter_unittest.cc @@ -752,279 +752,6 @@ class FrameCadenceAdapterMetricsTest : public ::testing::Test { GlobalSimulatedTimeController time_controller_; }; -TEST_F(FrameCadenceAdapterMetricsTest, RecordsNoUmasWithNoFrameTransfer) { - MockCallback callback; - test::ScopedKeyValueConfig no_field_trials; - auto adapter = CreateAdapter(no_field_trials, nullptr); - adapter->Initialize(&callback); - adapter->OnConstraintsChanged( - VideoTrackSourceConstraints{absl::nullopt, absl::nullopt}); - adapter->OnConstraintsChanged(VideoTrackSourceConstraints{absl::nullopt, 1}); - adapter->OnConstraintsChanged(VideoTrackSourceConstraints{2, 3}); - adapter->OnConstraintsChanged(VideoTrackSourceConstraints{4, 4}); - adapter->OnConstraintsChanged(VideoTrackSourceConstraints{5, absl::nullopt}); - DepleteTaskQueues(); - EXPECT_TRUE(metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Exists") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Exists") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Value") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Exists") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Value") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.MinUnset.Max") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Min") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Max") - .empty()); - EXPECT_TRUE( - metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.60MinPlusMaxMinusOne") - .empty()); -} - -TEST_F(FrameCadenceAdapterMetricsTest, RecordsNoUmasWithoutEnabledContentType) { - MockCallback callback; - test::ScopedKeyValueConfig no_field_trials; - auto adapter = CreateAdapter(no_field_trials, time_controller_.GetClock()); - adapter->Initialize(&callback); - adapter->OnFrame(CreateFrame()); - adapter->OnConstraintsChanged( - VideoTrackSourceConstraints{absl::nullopt, absl::nullopt}); - adapter->OnConstraintsChanged(VideoTrackSourceConstraints{absl::nullopt, 1}); - adapter->OnConstraintsChanged(VideoTrackSourceConstraints{2, 3}); - adapter->OnConstraintsChanged(VideoTrackSourceConstraints{4, 4}); - adapter->OnConstraintsChanged(VideoTrackSourceConstraints{5, absl::nullopt}); - DepleteTaskQueues(); - EXPECT_TRUE(metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Exists") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Exists") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Value") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Exists") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Value") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.MinUnset.Max") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Min") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Max") - .empty()); - EXPECT_TRUE( - metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.60MinPlusMaxMinusOne") - .empty()); -} - -TEST_F(FrameCadenceAdapterMetricsTest, RecordsNoConstraintsIfUnsetOnFrame) { - MockCallback callback; - test::ScopedKeyValueConfig no_field_trials; - auto adapter = CreateAdapter(no_field_trials, time_controller_.GetClock()); - adapter->Initialize(&callback); - adapter->SetZeroHertzModeEnabled( - FrameCadenceAdapterInterface::ZeroHertzModeParams{}); - adapter->OnFrame(CreateFrame()); - DepleteTaskQueues(); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Exists"), - ElementsAre(Pair(false, 1))); -} - -TEST_F(FrameCadenceAdapterMetricsTest, RecordsEmptyConstraintsIfSetOnFrame) { - MockCallback callback; - test::ScopedKeyValueConfig no_field_trials; - auto adapter = CreateAdapter(no_field_trials, time_controller_.GetClock()); - adapter->Initialize(&callback); - adapter->SetZeroHertzModeEnabled( - FrameCadenceAdapterInterface::ZeroHertzModeParams{}); - adapter->OnConstraintsChanged( - VideoTrackSourceConstraints{absl::nullopt, absl::nullopt}); - adapter->OnFrame(CreateFrame()); - DepleteTaskQueues(); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Exists"), - ElementsAre(Pair(true, 1))); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Exists"), - ElementsAre(Pair(false, 1))); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Value") - .empty()); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Exists"), - ElementsAre(Pair(false, 1))); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Value") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.MinUnset.Max") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Min") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Max") - .empty()); - EXPECT_TRUE( - metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.60MinPlusMaxMinusOne") - .empty()); -} - -TEST_F(FrameCadenceAdapterMetricsTest, RecordsMaxConstraintIfSetOnFrame) { - MockCallback callback; - test::ScopedKeyValueConfig no_field_trials; - auto adapter = CreateAdapter(no_field_trials, time_controller_.GetClock()); - adapter->Initialize(&callback); - adapter->SetZeroHertzModeEnabled( - FrameCadenceAdapterInterface::ZeroHertzModeParams{}); - adapter->OnConstraintsChanged( - VideoTrackSourceConstraints{absl::nullopt, 2.0}); - adapter->OnFrame(CreateFrame()); - DepleteTaskQueues(); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Exists"), - ElementsAre(Pair(false, 1))); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Value") - .empty()); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Exists"), - ElementsAre(Pair(true, 1))); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Value"), - ElementsAre(Pair(2.0, 1))); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.MinUnset.Max"), - ElementsAre(Pair(2.0, 1))); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Min") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Max") - .empty()); - EXPECT_TRUE( - metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.60MinPlusMaxMinusOne") - .empty()); -} - -TEST_F(FrameCadenceAdapterMetricsTest, RecordsMinConstraintIfSetOnFrame) { - MockCallback callback; - test::ScopedKeyValueConfig no_field_trials; - auto adapter = CreateAdapter(no_field_trials, time_controller_.GetClock()); - adapter->Initialize(&callback); - adapter->SetZeroHertzModeEnabled( - FrameCadenceAdapterInterface::ZeroHertzModeParams{}); - adapter->OnConstraintsChanged( - VideoTrackSourceConstraints{3.0, absl::nullopt}); - adapter->OnFrame(CreateFrame()); - DepleteTaskQueues(); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Exists"), - ElementsAre(Pair(true, 1))); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Value"), - ElementsAre(Pair(3.0, 1))); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Exists"), - ElementsAre(Pair(false, 1))); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Value") - .empty()); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.MinUnset.Max") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Min") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Max") - .empty()); - EXPECT_TRUE( - metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.60MinPlusMaxMinusOne") - .empty()); -} - -TEST_F(FrameCadenceAdapterMetricsTest, RecordsMinGtMaxConstraintIfSetOnFrame) { - MockCallback callback; - test::ScopedKeyValueConfig no_field_trials; - auto adapter = CreateAdapter(no_field_trials, time_controller_.GetClock()); - adapter->Initialize(&callback); - adapter->SetZeroHertzModeEnabled( - FrameCadenceAdapterInterface::ZeroHertzModeParams{}); - adapter->OnConstraintsChanged(VideoTrackSourceConstraints{5.0, 4.0}); - adapter->OnFrame(CreateFrame()); - DepleteTaskQueues(); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Exists"), - ElementsAre(Pair(true, 1))); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Min.Value"), - ElementsAre(Pair(5.0, 1))); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Exists"), - ElementsAre(Pair(true, 1))); - EXPECT_THAT( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.Max.Value"), - ElementsAre(Pair(4.0, 1))); - EXPECT_TRUE( - metrics::Samples("WebRTC.Screenshare.FrameRateConstraints.MinUnset.Max") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Min") - .empty()); - EXPECT_TRUE(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Max") - .empty()); - EXPECT_THAT( - metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.60MinPlusMaxMinusOne"), - ElementsAre(Pair(60 * 5.0 + 4.0 - 1, 1))); -} - -TEST_F(FrameCadenceAdapterMetricsTest, RecordsMinLtMaxConstraintIfSetOnFrame) { - MockCallback callback; - test::ScopedKeyValueConfig no_field_trials; - auto adapter = CreateAdapter(no_field_trials, time_controller_.GetClock()); - adapter->Initialize(&callback); - adapter->SetZeroHertzModeEnabled( - FrameCadenceAdapterInterface::ZeroHertzModeParams{}); - adapter->OnConstraintsChanged(VideoTrackSourceConstraints{4.0, 5.0}); - adapter->OnFrame(CreateFrame()); - DepleteTaskQueues(); - EXPECT_THAT(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Min"), - ElementsAre(Pair(4.0, 1))); - EXPECT_THAT(metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.MinLessThanMax.Max"), - ElementsAre(Pair(5.0, 1))); - EXPECT_THAT( - metrics::Samples( - "WebRTC.Screenshare.FrameRateConstraints.60MinPlusMaxMinusOne"), - ElementsAre(Pair(60 * 4.0 + 5.0 - 1, 1))); -} - TEST_F(FrameCadenceAdapterMetricsTest, RecordsTimeUntilFirstFrame) { MockCallback callback; test::ScopedKeyValueConfig no_field_trials;