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:
parent
434deda6fa
commit
06130548fc
@ -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>
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user