diff options
| author | 2015-04-07 21:30:27 +0000 | |
|---|---|---|
| committer | 2015-04-07 21:30:30 +0000 | |
| commit | 662fa7daa40aeb2c15d446d109a01d462b0802d8 (patch) | |
| tree | df11f2ca9d97c7933fdd9e3a1f50353efb3ba56d | |
| parent | 37c905e64655d5bfc5ba06fa0bbee10c1fdc6010 (diff) | |
| parent | 379f264bb62ace2cf2053d4765307234bf66552f (diff) | |
Merge "Add stat collection start time"
| -rw-r--r-- | libs/hwui/JankTracker.cpp | 6 | ||||
| -rw-r--r-- | libs/hwui/JankTracker.h | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/libs/hwui/JankTracker.cpp b/libs/hwui/JankTracker.cpp index 65be9e19a56a..a72faeab6268 100644 --- a/libs/hwui/JankTracker.cpp +++ b/libs/hwui/JankTracker.cpp @@ -169,6 +169,10 @@ void JankTracker::switchStorageToAshmem(int ashmemfd) { newData->jankFrameCount += mData->jankFrameCount; newData->totalFrameCount >>= divider; newData->totalFrameCount += mData->totalFrameCount; + if (newData->statStartTime > mData->statStartTime + || newData->statStartTime == 0) { + newData->statStartTime = mData->statStartTime; + } freeData(); mData = newData; @@ -235,6 +239,7 @@ void JankTracker::dumpBuffer(const void* buffer, size_t bufsize, int fd) { } void JankTracker::dumpData(const ProfileData* data, int fd) { + dprintf(fd, "\nStats since: %lluns", data->statStartTime); dprintf(fd, "\nTotal frames rendered: %u", data->totalFrameCount); dprintf(fd, "\nJanky frames: %u (%.2f%%)", data->jankFrameCount, (float) data->jankFrameCount / (float) data->totalFrameCount * 100.0f); @@ -252,6 +257,7 @@ void JankTracker::reset() { mData->frameCounts.fill(0); mData->totalFrameCount = 0; mData->jankFrameCount = 0; + mData->statStartTime = systemTime(CLOCK_MONOTONIC); } uint32_t JankTracker::findPercentile(const ProfileData* data, int percentile) { diff --git a/libs/hwui/JankTracker.h b/libs/hwui/JankTracker.h index 478300143553..3887e5e65d60 100644 --- a/libs/hwui/JankTracker.h +++ b/libs/hwui/JankTracker.h @@ -44,10 +44,11 @@ enum JankType { struct ProfileData { std::array<uint32_t, NUM_BUCKETS> jankTypeCounts; // See comments on kBucket* constants for what this holds - std::array<uint32_t, 57> frameCounts; + std::array<uint32_t, 55> frameCounts; uint32_t totalFrameCount; uint32_t jankFrameCount; + nsecs_t statStartTime; }; // TODO: Replace DrawProfiler with this |