From cfc3eb1a92faaf61b94656b9d75b210a34f2ad43 Mon Sep 17 00:00:00 2001 From: Hanna Silen Date: Fri, 7 Oct 2022 11:29:32 +0200 Subject: [PATCH] AgcManagerDirect: Remove logging of metrics from ClippingPredictorEvaluator Remove logging of: - WebRTC.Audio.Agc.ClippingPredictor.PredictionInterval - WebRTC.Audio.Agc.ClippingPredictor.F1Score - WebRTC.Audio.Agc.ClippingPredictor.Precision - WebRTC.Audio.Agc.ClippingPredictor.Recall Bug: webrtc:7494 Change-Id: I52e271f592370c172b8913664936f13a517f8d34 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278380 Commit-Queue: Hanna Silen Reviewed-by: Alessio Bazzica Cr-Commit-Position: refs/heads/main@{#38319} --- .../agc/agc_manager_direct.cc | 54 ++----------------- .../audio_processing/agc/agc_manager_direct.h | 1 - 2 files changed, 3 insertions(+), 52 deletions(-) diff --git a/modules/audio_processing/agc/agc_manager_direct.cc b/modules/audio_processing/agc/agc_manager_direct.cc index d932303247..25df81e1f7 100644 --- a/modules/audio_processing/agc/agc_manager_direct.cc +++ b/modules/audio_processing/agc/agc_manager_direct.cc @@ -143,40 +143,6 @@ float ComputeClippedRatio(const float* const* audio, return static_cast(num_clipped) / (samples_per_channel); } -void LogClippingPredictorMetrics(const ClippingPredictorEvaluator& evaluator) { - absl::optional metrics = - ComputeClippingPredictionMetrics(evaluator.counters()); - if (metrics.has_value()) { - RTC_LOG(LS_INFO) << "Clipping predictor metrics: P " << metrics->precision - << " R " << metrics->recall << " F1 score " - << metrics->f1_score; - RTC_DCHECK_GE(metrics->f1_score, 0.0f); - RTC_DCHECK_LE(metrics->f1_score, 1.0f); - RTC_DCHECK_GE(metrics->precision, 0.0f); - RTC_DCHECK_LE(metrics->precision, 1.0f); - RTC_DCHECK_GE(metrics->recall, 0.0f); - RTC_DCHECK_LE(metrics->recall, 1.0f); - RTC_HISTOGRAM_COUNTS_LINEAR( - /*name=*/"WebRTC.Audio.Agc.ClippingPredictor.F1Score", - /*sample=*/std::round(metrics->f1_score * 100.0f), - /*min=*/0, - /*max=*/100, - /*bucket_count=*/50); - RTC_HISTOGRAM_COUNTS_LINEAR( - /*name=*/"WebRTC.Audio.Agc.ClippingPredictor.Precision", - /*sample=*/std::round(metrics->precision * 100.0f), - /*min=*/0, - /*max=*/100, - /*bucket_count=*/50); - RTC_HISTOGRAM_COUNTS_LINEAR( - /*name=*/"WebRTC.Audio.Agc.ClippingPredictor.Recall", - /*sample=*/std::round(metrics->recall * 100.0f), - /*min=*/0, - /*max=*/100, - /*bucket_count=*/50); - } -} - void LogClippingMetrics(int clipping_rate) { RTC_LOG(LS_INFO) << "Input clipping rate: " << clipping_rate << "%"; RTC_HISTOGRAM_COUNTS_LINEAR(/*name=*/"WebRTC.Audio.Agc.InputClippingRate", @@ -541,7 +507,6 @@ AgcManagerDirect::AgcManagerDirect(int num_capture_channels, !!clipping_predictor_ && analog_config.clipping_predictor.use_predicted_step), clipping_predictor_evaluator_(kClippingPredictorEvaluatorHistorySize), - clipping_predictor_log_counter_(0), clipping_rate_log_(0.0f), clipping_rate_log_counter_(0) { RTC_LOG(LS_INFO) << "[agc] analog controller enabled: " @@ -582,7 +547,6 @@ void AgcManagerDirect::Initialize() { AggregateChannelLevels(); clipping_predictor_evaluator_.Reset(); - clipping_predictor_log_counter_ = 0; clipping_rate_log_ = 0.0f; clipping_rate_log_counter_ = 0; } @@ -666,21 +630,9 @@ void AgcManagerDirect::AnalyzePreProcess(const AudioBuffer& audio_buffer) { // since for this purpose a single clipping sample counts as clipping. const bool one_or_more_clipped_samples = clipped_ratio >= (1.0f / samples_per_channel); - absl::optional prediction_interval = - clipping_predictor_evaluator_.Observe( - /*clipping_detected=*/one_or_more_clipped_samples, - clipping_predicted); - if (prediction_interval.has_value()) { - RTC_HISTOGRAM_COUNTS_LINEAR( - "WebRTC.Audio.Agc.ClippingPredictor.PredictionInterval", - prediction_interval.value(), /*min=*/0, - /*max=*/49, /*bucket_count=*/50); - } - clipping_predictor_log_counter_++; - if (clipping_predictor_log_counter_ == kNumFramesIn30Seconds) { - LogClippingPredictorMetrics(clipping_predictor_evaluator_); - clipping_predictor_log_counter_ = 0; - } + // TODO(webrtc:7494): Remove the evaluator, the result is not used. + clipping_predictor_evaluator_.Observe( + /*clipping_detected=*/one_or_more_clipped_samples, clipping_predicted); } if (clipping_detected) { RTC_DLOG(LS_INFO) << "[agc] Clipping detected. clipped_ratio=" diff --git a/modules/audio_processing/agc/agc_manager_direct.h b/modules/audio_processing/agc/agc_manager_direct.h index 0a9d32440e..4616fa9a41 100644 --- a/modules/audio_processing/agc/agc_manager_direct.h +++ b/modules/audio_processing/agc/agc_manager_direct.h @@ -183,7 +183,6 @@ class AgcManagerDirect final { const std::unique_ptr clipping_predictor_; const bool use_clipping_predictor_step_; ClippingPredictorEvaluator clipping_predictor_evaluator_; - int clipping_predictor_log_counter_; float clipping_rate_log_; int clipping_rate_log_counter_; };