APM: Change 3 UMA metrics to fewer but linearly distributed buckets

In this change WebRTC.Audio.ApmCaptureInputLevel{Average,Peak} are
changed to 64 buckets, while WebRTC.Audio.AgcLevel is changed to 50
buckets. All three are changed to have linear spacing between buckets.

Also, the metrics are renamed to avoid stats conflicts because of different bucket schemes:
- WebRTC.Audio.AgcLevel -> WebRTC.Audio.AgcSetLevel
- WebRTC.Audio.ApmCaptureInputLevelAverage -> WebRTC.Audio.ApmCaptureInputLevelAverageRms
- WebRTC.Audio.ApmCaptureInputLevelPeakRms -> WebRTC.Audio.ApmCaptureInputLevelPeakRms

BUG=webrtc:6622
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng

Review-Url: https://codereview.webrtc.org/2547593002
Cr-Commit-Position: refs/heads/master@{#15418}
This commit is contained in:
henrik.lundin 2016-12-05 04:12:59 -08:00 committed by Commit bot
parent fa07b910a9
commit 49715fe3be
2 changed files with 6 additions and 5 deletions

View File

@ -411,7 +411,8 @@ void AgcManagerDirect::UpdateGain() {
SetLevel(LevelFromGainError(residual_gain, level_));
if (old_level != level_) {
// level_ was updated by SetLevel; log the new value.
RTC_HISTOGRAM_ENUMERATION("WebRTC.Audio.AgcLevel", level_, kMaxMicLevel);
RTC_HISTOGRAM_COUNTS_LINEAR("WebRTC.Audio.AgcSetLevel", level_, 1,
kMaxMicLevel, 50);
}
}

View File

@ -1101,10 +1101,10 @@ int AudioProcessingImpl::ProcessCaptureStreamLocked() {
if (++rms_interval_counter_ >= 1000) {
rms_interval_counter_ = 0;
RmsLevel::Levels levels = rms_.AverageAndPeak();
RTC_HISTOGRAM_COUNTS("WebRTC.Audio.ApmCaptureInputLevelAverage",
levels.average, 1, RmsLevel::kMinLevelDb, 100);
RTC_HISTOGRAM_COUNTS("WebRTC.Audio.ApmCaptureInputLevelPeak", levels.peak,
1, RmsLevel::kMinLevelDb, 100);
RTC_HISTOGRAM_COUNTS_LINEAR("WebRTC.Audio.ApmCaptureInputLevelAverageRms",
levels.average, 1, RmsLevel::kMinLevelDb, 64);
RTC_HISTOGRAM_COUNTS_LINEAR("WebRTC.Audio.ApmCaptureInputLevelPeakRms",
levels.peak, 1, RmsLevel::kMinLevelDb, 64);
}
if (constants_.use_experimental_agc &&