Age | Commit message (Collapse) | Author |
|
We should initialize mSwapDeadline in JankTracker, or it can be a very
large randomized value and then makes jank tracker not collect concrete
jank type of frames appropriately as expected.
Bug: 161656795
Test: run cts -m CtsIncidentHostTestCases -t
com.android.server.cts.GraphicsStatsValidationTest#testJankyDrawFrame
Change-Id: I057a50a74502918619204f9164f6a954f8e9c5de
Merged-In: I057a50a74502918619204f9164f6a954f8e9c5de
(cherry picked from commit 7a0d224756195ce81875db0b481a77b87f860dd3)
|
|
Bug: 136262896
Test: builds, boots
Test: scroll through settings app
Test: Toggle between 60/90hz and observe systrace
Change-Id: I8eef306a968525c55f3863ae688545faa43b23be
|
|
This also removes the dependency on ui/DeviceInfo other than in test
code.
Bug: 136263392
Bug: 136263238
Test: builds, boots
Change-Id: I6a4687e981359f0e6beb83be8a5501ed7fd16f15
|
|
Test: ran dumpsys with gfxinfo and graphicsstats
Change-Id: Id9950de87dc4343c6878baa6a6dd42fbc8aeddef
|
|
am: 151f38fe89
Change-Id: Ida223a2af7a0669cf495bac8ccb8fa90414d159d
|
|
Usually isTrippleBuffered should be true when mSwapDeadline bigger
than IntendedVsync. However, vsync could be drifting on some platforms,
which make isTrippleBuffered to be true and report a fake high input
latency.
So add a small threshold to avoid this case.
Test: Manually
Change-Id: Ib6ff1046cfb94f89f4985361b84ad2d34850f783
Signed-off-by: Gao Shuo <shuo.gao@intel.com>
Signed-off-by: Wu Zhongmin <zhongmin.wu@intel.com>
Signed-off-by: Zhu Tingting <tingting.zhu@intel.com>
|
|
am: 0ff158799a
Change-Id: I8e87f4661e51b422886c72ef506f196608a32a42
|
|
It's always true now
Test: didn't
Change-Id: Ibefde5feaeaec8fb68cbc6ea1c019bf8b5e608bb
|
|
Test: statsd test
Fix: 117528646
Change-Id: Idb7cc37cd18047120adabbc9fbda1c89b109f3a7
|
|
Unclear why mSwapDeadline doesn't already
account for this, but the handling of vsync
phase offsets may be throwing things off a bit.
For now just do the simple fix.
Bug: 109894489
Test: builds, patch was verified by reporter
Change-Id: I5a6f25ceac4986d366293fe7b5e3af64a326114c
|
|
+ The socket listener is behind a flag. It's disabled until we get sepolicy changes in.
+ Data parsing code is from logd, because we use the same format.
+ Removed Davey from JankTracker because it violates our new sepolicy
Test: manually
Bug: 78239479
Change-Id: Ib17729fbc362cdb13385f780e2d636a95adf9bc3
|
|
This reverts commit a6d8fbf4ea634f5f605b2b7db3ca98975f8625b5.
Fixes an out-of-bounds read in COMPARISONS by switching up
how comparisons works. Instead of requiring all jank types
to have an associated COMPARISON's entry, which kHighInputLatency
and kMissedDeadline don't, instead have each
COMPARISON indicate which JankType it applies to so it can
be independently sized from JankTypes.
Bug: 70220906
Bug: 75566601
Test: launching & using maps works
Change-Id: I7fd90daeb320b4627e42c3418c89726d860998c1
|
|
This reverts commit 09979fbee7201b46158c2c033194529e4284ea13.
Reason for revert: Based on stacktraces and change history, I think this is causing a cluster of P crashes.
https://b.corp.google.com/issues?q=(%22android%22%20%22:uirenderer::JankTracker::finishFrame%22)
Bug: 75566601
Bug: 75811585
Bug: 75407175
Bug: 75736222
Bug: 75391447
Bug: 75659839
Change-Id: I59a8c2d8906d347210c77fb3628f5801bc299bfb
|
|
Bug: 70220906
Test: JankyScene vs. systrace vs. jankstats
Change-Id: Ia012685020cc5bcabbd3f92f0bdeb84eaf50733d
|
|
We need the uid to easily know which app to blame for producing the
frame with excessively long render time. Also updates the errors so
it's more obvious if the error is in parsing versus the other checks.
Test: Test that statsd builds and verified CTS test still passes.
Change-Id: Ib6518f2d9fe6f9c78d548b6dcbdb67a0f211ff5c
|
|
Atom for davey occurred
Test: cts test accompanying && statsd unit tests && hwui unit tests
Change-Id: I715ac213b09ef2b3ef1de75bc456a5edf7e0a244
|
|
Bug: 70339576
Test: Checked that it logged with a lower threshold
Change-Id: I271f8af2a3ee63769edc71291b70f19512974d78
|
|
Avoid fdopen as fclose, which frees the FILE*, will close
the FD which we don't want. Just normalize on dprintf instead,
and we can add buffering if it turns out to matter at some point
Test: ran 'dumpsys gfxinfo framestats' in a loop while observing PSS
Change-Id: I7808753641aa1055cfdf570c3e017017f11f1dee
|
|
Test: No code changes, just ran through clang-format
Change-Id: Id23aa4ec7eebc0446fe3a30260f33e7fd455bb8c
|
|
Test: hwui_unit_tests & manual
Change-Id: If761947652750640268217cd8cd97c8382441b44
|
|
Move ProfileData out to its own file with helper
accessors. This keeps policy (what is/isn't jank)
outside of the data storage.
Also use lambdas to iterate over the histogram
to make it nicer for dumping & proto-ifying.
Test: hwui_unit_tests pass & jank data still dumps
Change-Id: I88488369ec77590a2867f51128e65bb786aa34e6
|
|
am: f3310cb3b1
Change-Id: I553be70f9ba04feaf4da01041bfb3edc6ae38252
|
|
This was calling std::max on an unsigned integer and 0, which is
essentially no-op. Remove this code.
Test: Build
Bug: 37752547
Change-Id: I74ce45b95960621dff11f574fbe1af60ad147cf0
|
|
Bug: 36502346
Test: builds & boots
Change-Id: Id96a26a30e4a8c6f51a68bf07cfe6bd6d07c244e
|
|
* LRU cache of recently-used is dead, replaced
disk storage
* ASHMEM size is read from native by the system service,
no longer requires keeping a sizeof() in sync with a
constant in Java
* Supports dumping in proto format by passing --proto
* Rotates logs on a daily basis
* Keeps a history of the most recent 3 days
Bug: 33705836
Test: Manual. Verified log rotating works by setting it up to
rotate every minute instead of day. Confirmed /data/system/graphicsstats
only has the most recent 3 entries after several minutes
Change-Id: Ib84bafb26c58701cc86f123236de4fff01aaa4aa
|
|
(part deux)
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I7417936c4d3666608fccfe51a312c90ecefba2fb
|
|
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I578b15b48f0fc2807a92abbc69a377c3d2191496
|
|
Bug: 30440166
If we are using HWC2, there's a change in timing
when in triple buffering with the pipelined offsets.
This changes JankTracker to recognize that and silently
erase that from the total duration
Change-Id: Ib1fd4209070f17dbd2baed707c8cf73fb11c3cf2
|
|
Fixes: 27533462
FrameInfo::duration() will remove time spent waiting
in the queue from the duration. This is desired because
that time is otherwise accounted for by the previous frame,
so we don't want to double count it.
This shows up mostly in TestSceneRunner & shadowgrid2
due to a combination of slow frame times and continous rendering.
Change-Id: I27c42d5c24d266de4ada8ea00ec9164d518754f8
|
|
Change-Id: I9f7f7280bcd28c361e5665de39a4bd7c594ab521
Fixes: 26386641
|
|
Bug: 27922347
* Dump the full histogram
* Expand the histogram to have a slow-frame section with
large 50ms buckets to raise the cap to 5s to give more
insight into system-health
* Stop excluding first-frame metrics as we want to include
those in our global tracking. Automated tests already filter
these out by doing resets before running anyway.
Change-Id: Idaba8aad591f59d10a6477b11efc0767ff715083
|
|
Bug: 26912651
By setting debug.hwui.filter_test_overhead to true, hwui's
janktracker will attempt to filter out overhead caused
by the event injection that automated testing uses
Change-Id: I75c8dc5e7798e06e3009baf396108507c7240eec
|
|
Fixes: 27873879
If frametime > max janktracker would accidentally
double-increment totalFrameCount due to overflowing
the end of frameCounts
Change-Id: Iebfd1349b7014ade807f42d9c196139274a96684
|
|
Fixes: 27795291
Track the 10 slowest frames over the last 24 hours
to try and give approximate insight into total system health.
Change-Id: I8aa646cef0bea185d46b3c78478266bc01d17fd7
|
|
Change-Id: If8d5f5d3ace050577986a554182b2b66fd2257e1
|
|
Bug: 20853441
Calculating duration that crosses the UI-RT
sync point will now subtract out the time spent waiting
in queue under the assumption that this time will be
accounted for in the previous frame's metrics
Change-Id: Ia8213f4410638840613f5ae439e98dfb77532a6a
|
|
bug:21595702
Settle on namespace-enum for consistency. Also removes k prefix.
Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
|
|
Change-Id: I9f2e2edf276f98864b65708b746bf938a4a3c8d6
|
|
Add CLOCK_MONOTONIC to signal
when the stat collection started
to allow for tracking stats
over time
Change-Id: Iab7c52f21184eea603ddc8572b9d91a951b45a00
|
|
Change-Id: I7876dd5d0d0f68dde4cb0768699d800daff754f1
|
|
More S's for More Speed
Split JankTracker's backing data from the
class to allow for data relocation to/from ashmem regions
Pack the jank tracking data to fit in 256 bytes
Change-Id: Ife86a64b71a328fbd0c8075fe6a0404e081f725b
|
|
Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
|
|
Change-Id: Ieb6badd177bb6f67dda199dfcb3e0f483c8c4e59
|
|
Change-Id: I356d02338820bfef41a9e278c88dafc17cfe1cf9
|
|
Is a bit naive, perhaps overly aggressive, but sorta works
Change-Id: I01a774e00dbe681439c02557d9728ae43c45ce50
|