Spatializer: track scheduler statistics
This requires the spatializer to be enabled to run.
Test: adb shell dumpsys media.audio_flinger
Test: atest media_process_tests
Bug: 228648325
Change-Id: I2315064a548d5dced82a08c7f64c7fc2e900905b
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 0f27f90..f8c3ae4 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -65,6 +65,7 @@
#include <media/nbaio/PipeReader.h>
#include <media/nbaio/SourceAudioBufferProvider.h>
#include <mediautils/BatteryNotifier.h>
+#include <mediautils/Process.h>
#include <audiomanager/AudioManager.h>
#include <powermanager/PowerManager.h>
@@ -923,6 +924,20 @@
dprintf(fd, " Local log:\n");
mLocalLog.dump(fd, " " /* prefix */, 40 /* lines */);
+
+ // --all does the statistics
+ bool dumpAll = false;
+ for (const auto &arg : args) {
+ if (arg == String16("--all")) {
+ dumpAll = true;
+ }
+ }
+ if (dumpAll || type() == SPATIALIZER) {
+ const std::string sched = mediautils::getThreadSchedAsString(getTid());
+ if (!sched.empty()) {
+ (void)write(fd, sched.c_str(), sched.size());
+ }
+ }
}
void AudioFlinger::ThreadBase::dumpBase_l(int fd, const Vector<String16>& args __unused)