summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Zimuzo Ezeozue <zezeozue@google.com> 2025-02-06 10:20:07 -0800
committer Zimuzo Ezeozue <zezeozue@google.com> 2025-02-06 10:20:07 -0800
commita92399ff9bea699f7b26d071f6602f92bc74b83e (patch)
tree5cd1d533bb61105fcfa4b3cf850d28203f666aa9
parent8896bc45d0ea005ff54f97a023af4d8d96f4f09d (diff)
Reset flow event cache before each perfetto event
This was just an omission. The omission led to a performance regression (code was still logically correct) where we will create a new Flow object on every trace event. This was expensive and led to GC churn. Change-Id: Idb027748f1bf3a44e1dfae7c666be4688b2e9338 Test: atest PerfettoTest Test: atest TracePerfTest Bug: 303199244 Flag: android.os.perfetto_sdk_tracing_v2
-rw-r--r--core/java/android/os/PerfettoTrackEventExtra.java1
1 files changed, 1 insertions, 0 deletions
diff --git a/core/java/android/os/PerfettoTrackEventExtra.java b/core/java/android/os/PerfettoTrackEventExtra.java
index 32fbea4ff4c2..adb98aa25f8f 100644
--- a/core/java/android/os/PerfettoTrackEventExtra.java
+++ b/core/java/android/os/PerfettoTrackEventExtra.java
@@ -442,6 +442,7 @@ public final class PerfettoTrackEventExtra {
mFieldStringCache.reset();
mFieldNestedCache.reset();
mBuilderCache.reset();
+ mFlowCache.reset();
mExtra.reset();
// Reset after on init in case the thread created builders without calling emit