SF TimeStats: change the container of TimeRecord
The current container of TimeRecord is std::vector which behaves not
well when it tries to erase an element on the front. This change update
the container to std::deque instead.
Test: dumpsys SurfaceFlinger --timestats <see go/sf-timestats for args>
Bug: b/70388650
Change-Id: Ib3f695f46eb21dc27b0ed725b86764331f304be2
diff --git a/services/surfaceflinger/TimeStats/TimeStats.h b/services/surfaceflinger/TimeStats/TimeStats.h
index f76a62e..8399c5d 100644
--- a/services/surfaceflinger/TimeStats/TimeStats.h
+++ b/services/surfaceflinger/TimeStats/TimeStats.h
@@ -25,9 +25,9 @@
#include <utils/String8.h>
#include <utils/Vector.h>
+#include <deque>
#include <mutex>
#include <unordered_map>
-#include <vector>
using namespace android::surfaceflinger;
@@ -57,7 +57,7 @@
// fences to signal, but rather waiting to receive those fences/timestamps.
int32_t waitData = -1;
TimeRecord prevTimeRecord;
- std::vector<TimeRecord> timeRecords;
+ std::deque<TimeRecord> timeRecords;
};
public: