summaryrefslogtreecommitdiffstats
path: root/libs/hwui
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2015-04-06 13:29:25 -0700
committerJohn Reck <jreck@google.com>2015-04-06 16:07:12 -0700
commit379f264bb62ace2cf2053d4765307234bf66552f (patch)
treedf19e64a01c88efa471b9421439e188ddbcb9a68 /libs/hwui
parent3d518037fecb22eec33f860aceb34514ea76855c (diff)
downloadframeworks_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.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 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