APM RuntimeSetting: record bool histogram when enqueuing a setting fails
Adding a stat to keep track of how frequently APM runtime settings
cannot be successfully enqueued.
Defined in
https://chromium-review.googlesource.com/c/chromium/src/+/2495180.
Bug: webrtc:9138
Change-Id: I33a9105e6fe513a9d0cbb8917a5d576fe47eaa94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190144
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32546}
diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc
index 33f2188..9cf1e1d 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -708,15 +708,18 @@
void AudioProcessingImpl::RuntimeSettingEnqueuer::Enqueue(
RuntimeSetting setting) {
- size_t remaining_attempts = 10;
+ int remaining_attempts = 10;
while (!runtime_settings_.Insert(&setting) && remaining_attempts-- > 0) {
RuntimeSetting setting_to_discard;
- if (runtime_settings_.Remove(&setting_to_discard))
+ if (runtime_settings_.Remove(&setting_to_discard)) {
RTC_LOG(LS_ERROR)
<< "The runtime settings queue is full. Oldest setting discarded.";
+ }
}
- if (remaining_attempts == 0)
+ if (remaining_attempts == 0) {
+ RTC_HISTOGRAM_BOOLEAN("WebRTC.Audio.ApmRuntimeSettingCannotEnqueue", 1);
RTC_LOG(LS_ERROR) << "Cannot enqueue a new runtime setting.";
+ }
}
int AudioProcessingImpl::MaybeInitializeCapture(