summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2015-04-07 21:30:27 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2015-04-07 21:30:30 +0000
commit662fa7daa40aeb2c15d446d109a01d462b0802d8 (patch)
treedf11f2ca9d97c7933fdd9e3a1f50353efb3ba56d
parent37c905e64655d5bfc5ba06fa0bbee10c1fdc6010 (diff)
parent379f264bb62ace2cf2053d4765307234bf66552f (diff)
Merge "Add stat collection start time"
-rw-r--r--libs/hwui/JankTracker.cpp6
-rw-r--r--libs/hwui/JankTracker.h3
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