AgcManagerDirect: Add histograms for clipping prediction precision and recall
Add histograms WebRTC.Audio.Agc.ClippingPredictor.Precision and WebRTC.Audio.Agc.ClippingPredictor.Recall. The histograms are defined in https://chromium-review.googlesource.com/c/chromium/src/+/3150271.
Bug: webrtc:12774
Change-Id: I1561ec7a61377c262f636d7aa3a5d5fd60a8839d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231460
Commit-Queue: Hanna Silen <silen@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35083}
diff --git a/modules/audio_processing/agc/agc_manager_direct.cc b/modules/audio_processing/agc/agc_manager_direct.cc
index bda1cae..b2b8a51 100644
--- a/modules/audio_processing/agc/agc_manager_direct.cc
+++ b/modules/audio_processing/agc/agc_manager_direct.cc
@@ -142,12 +142,28 @@
<< 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);
}
}