diff options
author | John Reck <jreck@google.com> | 2015-04-06 13:29:25 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2015-04-06 16:07:12 -0700 |
commit | 379f264bb62ace2cf2053d4765307234bf66552f (patch) | |
tree | df19e64a01c88efa471b9421439e188ddbcb9a68 /libs/hwui | |
parent | 3d518037fecb22eec33f860aceb34514ea76855c (diff) | |
download | frameworks_base-379f264bb62ace2cf2053d4765307234bf66552f.zip frameworks_base-379f264bb62ace2cf2053d4765307234bf66552f.tar.gz frameworks_base-379f264bb62ace2cf2053d4765307234bf66552f.tar.bz2 |
Add stat collection start time
Add CLOCK_MONOTONIC to signal
when the stat collection started
to allow for tracking stats
over time
Change-Id: Iab7c52f21184eea603ddc8572b9d91a951b45a00
Diffstat (limited to 'libs/hwui')
-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 65be9e1..a72faea 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 4783001..3887e5e 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 |