Add traces for measure Audio-Haptics latency (SoundPool)

Flag: EXEMPT refactor
Bug: 351968966
Test: play audio-haptic with go/get-audio-haptic-tests and
      dump perfetto trace
Change-Id: I342b239673c10a6437e59e1be81c8d89162a4e87
diff --git a/media/java/android/media/SoundPool.java b/media/java/android/media/SoundPool.java
index f33a744..7b9ff23 100644
--- a/media/java/android/media/SoundPool.java
+++ b/media/java/android/media/SoundPool.java
@@ -26,6 +26,7 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.ParcelFileDescriptor;
+import android.os.Trace;
 import android.util.AndroidRuntimeException;
 import android.util.Log;
 
@@ -314,8 +315,13 @@
     public final int play(int soundID, float leftVolume, float rightVolume,
             int priority, int loop, float rate) {
         // FIXME: b/174876164 implement device id for soundpool
-        baseStart(0);
-        return _play(soundID, leftVolume, rightVolume, priority, loop, rate, getPlayerIId());
+        try {
+            Trace.traceBegin(Trace.TRACE_TAG_AUDIO, "SoundPool.play");
+            baseStart(0);
+            return _play(soundID, leftVolume, rightVolume, priority, loop, rate, getPlayerIId());
+        } finally {
+            Trace.traceEnd(Trace.TRACE_TAG_AUDIO);
+        }
     }
 
     /**
diff --git a/media/jni/soundpool/SoundPool.cpp b/media/jni/soundpool/SoundPool.cpp
index 9f32a83..4c0b8d0 100644
--- a/media/jni/soundpool/SoundPool.cpp
+++ b/media/jni/soundpool/SoundPool.cpp
@@ -21,6 +21,9 @@
 #include <algorithm>
 #include <thread>
 
+#define ATRACE_TAG ATRACE_TAG_AUDIO
+#include <utils/Trace.h>
+
 #include "SoundPool.h"
 
 namespace android
@@ -135,8 +138,10 @@
         return 0;
     }
 
+    ATRACE_BEGIN("SoundPool::play (native)");
     const int32_t streamID = mStreamManager.queueForPlay(
             sound, soundID, leftVolume, rightVolume, priority, loop, rate, playerIId);
+    ATRACE_END();
     ALOGV("%s returned %d", __func__, streamID);
 
     return streamID;