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 <ilnik@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40114}
This commit is contained in:
Markus Handell 2023-05-22 20:16:44 +02:00 committed by WebRTC LUCI CQ
parent 434deda6fa
commit 06130548fc
2 changed files with 0 additions and 331 deletions

View File

@ -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<FrameCadenceAdapterInterface>

View File

@ -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;