diff --git a/modules/audio_processing/gain_controller2.cc b/modules/audio_processing/gain_controller2.cc
index 6561beb..4477065 100644
--- a/modules/audio_processing/gain_controller2.cc
+++ b/modules/audio_processing/gain_controller2.cc
@@ -16,6 +16,7 @@
 #include "modules/audio_processing/logging/apm_data_dumper.h"
 #include "rtc_base/atomic_ops.h"
 #include "rtc_base/checks.h"
+#include "rtc_base/logging.h"
 #include "rtc_base/strings/string_builder.h"
 
 namespace webrtc {
@@ -27,7 +28,8 @@
           new ApmDataDumper(rtc::AtomicOps::Increment(&instance_count_))),
       gain_applier_(/*hard_clip_samples=*/false,
                     /*initial_gain_factor=*/0.f),
-      limiter_(static_cast<size_t>(48000), data_dumper_.get(), "Agc2") {
+      limiter_(static_cast<size_t>(48000), data_dumper_.get(), "Agc2"),
+      calls_since_last_limiter_log_(0) {
   if (config_.adaptive_digital.enabled) {
     adaptive_agc_.reset(new AdaptiveAgc(data_dumper_.get()));
   }
@@ -43,6 +45,7 @@
   limiter_.SetSampleRate(sample_rate_hz);
   data_dumper_->InitiateNewSetOfRecordings();
   data_dumper_->DumpRaw("sample_rate_hz", sample_rate_hz);
+  calls_since_last_limiter_log_ = 0;
 }
 
 void GainController2::Process(AudioBuffer* audio) {
@@ -54,6 +57,18 @@
     adaptive_agc_->Process(float_frame, limiter_.LastAudioLevel());
   }
   limiter_.Process(float_frame);
+
+  // Log limiter stats every 30 seconds.
+  ++calls_since_last_limiter_log_;
+  if (calls_since_last_limiter_log_ == 3000) {
+    calls_since_last_limiter_log_ = 0;
+    InterpolatedGainCurve::Stats stats = limiter_.GetGainCurveStats();
+    RTC_LOG(LS_INFO) << "AGC2 limiter stats"
+                     << " | identity: " << stats.look_ups_identity_region
+                     << " | knee: " << stats.look_ups_knee_region
+                     << " | limiter: " << stats.look_ups_limiter_region
+                     << " | saturation: " << stats.look_ups_saturation_region;
+  }
 }
 
 void GainController2::NotifyAnalogLevel(int level) {
diff --git a/modules/audio_processing/gain_controller2.h b/modules/audio_processing/gain_controller2.h
index da27fdc..31665bd 100644
--- a/modules/audio_processing/gain_controller2.h
+++ b/modules/audio_processing/gain_controller2.h
@@ -46,6 +46,7 @@
   GainApplier gain_applier_;
   std::unique_ptr<AdaptiveAgc> adaptive_agc_;
   Limiter limiter_;
+  int calls_since_last_limiter_log_;
   int analog_level_ = -1;
 
   RTC_DISALLOW_COPY_AND_ASSIGN(GainController2);
diff --git a/modules/audio_processing/include/audio_processing.cc b/modules/audio_processing/include/audio_processing.cc
index 04336b6..fd741d4 100644
--- a/modules/audio_processing/include/audio_processing.cc
+++ b/modules/audio_processing/include/audio_processing.cc
@@ -153,7 +153,9 @@
           << gain_controller2.fixed_digital.gain_db
           << "}, adaptive_digital: { enabled: "
           << gain_controller2.adaptive_digital.enabled
-          << ", level_estimator: { type: "
+          << ", level_estimator: { vad_probability_attack: "
+          << gain_controller2.adaptive_digital.vad_probability_attack
+          << ", type: "
           << GainController2LevelEstimatorToString(
                  gain_controller2.adaptive_digital.level_estimator)
           << ", adjacent_speech_frames_threshold: "
