diff options
author | Dileep Marchya <dmarchya@codeaurora.org> | 2015-12-03 14:39:35 -0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-03-13 03:28:46 -0700 |
commit | a9cbaf5097c089372cf152401007d70bcb13a95d (patch) | |
tree | c1c3fc0de430c031e261efbb9e5212ea8e9ae571 /services/surfaceflinger/SurfaceFlinger.cpp | |
parent | 0e898965c31abd6a861c0af3223f0759b1a4ef6d (diff) | |
download | frameworks_native-a9cbaf5097c089372cf152401007d70bcb13a95d.zip frameworks_native-a9cbaf5097c089372cf152401007d70bcb13a95d.tar.gz frameworks_native-a9cbaf5097c089372cf152401007d70bcb13a95d.tar.bz2 |
SurfaceFlinger: Add support for continuous dumpsys to file.
- Collect dumpsys to an outfile file when triggered.
- Collect dumpsys before calling Prepare on hwc module in
each draw cycle. Recollect dumpsys if Commit goes through
successfully and replace former dumpsys with this.
- Wrap around if file size reaches appx 20 MB.
- Generate output file at /data/misc/display/dumpsys.txt
- Syntax:
adb shell dumpsys SurfaceFlinger --file [--no-limit]
--file : Ouput dumpsys to file
--no-limit : Do not wrap around, keep appending
Use same command to trigger start and end of dumping.
- Output format:
| start code | after commit? | time stamp | dump size | dump data |
CRs-Fixed: 947084
Change-Id: Ie520f51c69757aeec88b9400688a7f3271472349
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 43a0bd8..a457019 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -1081,6 +1081,8 @@ void SurfaceFlinger::postComposition() mAnimFrameTracker.advanceFrame(); } + dumpDrawCycle(false); + if (hw->getPowerMode() == HWC_POWER_MODE_OFF) { return; } @@ -1248,6 +1250,8 @@ void SurfaceFlinger::setUpHWComposer() { } } + dumpDrawCycle(true); + status_t err = hwc.prepare(); ALOGE_IF(err, "HWComposer::prepare failed (%s)", strerror(-err)); |