03974984bf23a24ec81fa87764e567590da14608 |
|
21-Oct-2016 |
Felipe Leme <felipeal@google.com> |
DO NOT MERGE. Added a is_zipping() function. BUG: 32219165 Fixes: 32335112 Change-Id: I2bc630f9c840ccd3a2e0474ed16a766e8a405ad8
/frameworks/native/cmds/dumpstate/dumpstate.h
|
02b7e00c1e1b0bf22997ab7ed913a9451e5b6b8a |
|
22-Jul-2016 |
Felipe Leme <felipeal@google.com> |
Added a -p option to bugreportz to show progress. BUG: 28609499 Change-Id: I1e60078dfda7e5679fbd19f4981a5dc7a69c4fc7
/frameworks/native/cmds/dumpstate/dumpstate.h
|
249beee359da256f7c41c481d45c06765b6a1d8a |
|
04-Jun-2016 |
Calvin On <con@google.com> |
Expose more useful functions that can be used by dumpstate_board(). BUG: 28640932 Fixes: 28867848 Change-Id: I38123e5b348f4560212559176eb60dbad4f22364
/frameworks/native/cmds/dumpstate/dumpstate.h
|
71ca15eadd3da0c102a8539f7a88294a94456623 |
|
20-May-2016 |
Felipe Leme <felipeal@google.com> |
Expose functions used to add entries to the zip file. Currently only dumpstate.cpp is using the new functions and variables used to add an entry to the zip file so they're defined locally, but they should be exposed through the .h so they can be used by the device-specific dumpstate_board() implementations. This CL moves the following definitions to the .h: - bugreport_dir - ZIP_ROOT_DIR - add_zip_entry() - add_zip_entry_from_fd() It also refactored functions that were taking a specific file location to use bugreport_dir instead, to avoid pollution on main(). BUG: 28867848 Change-Id: Ic5faa203b0863bc950d640f22fb91977e52b6bfc
/frameworks/native/cmds/dumpstate/dumpstate.h
|
2628e9e939fda323fa44c5cb743f4a77b12a312a |
|
13-Apr-2016 |
Felipe Leme <felipeal@google.com> |
Added support for 'bugreport -z'. Dumpstate now supports zipped bugreport, whose output is more complete than the flat-file bugreports provided prior to N. The whole workflow is split in different components: - adb supports a 'bugreport -z <ZIP_FILE>' option, which calls a bugreportz binary. - bugreportz starts the dumpstatez service. - dumpstatez starts dumpstate with some flags that opens a socket for control (not output). - Once dumpstate is finished, it prints the bugreport location to stdout. - adb pulls the zip file and renames according to the command-line argument. - bugreport prints a deprecation message. The reason for a new binary (bugreportz) instead of passing arguments to bugreport (like -z) is backward compatibility: pre-N versions of bugreport would ignore such argument and generate a text bugreport, which is not what adb would be expecting. BUG: 27653204 Change-Id: I47f6f677eba11d5fb54818ae5a0b3cab069776ee
/frameworks/native/cmds/dumpstate/dumpstate.h
|
29c39715b8a45ca2e97aecd8ebb63183f63da72b |
|
01-Apr-2016 |
Felipe Leme <felipeal@google.com> |
Added option to redirect stdout on run_command_always. There are cases where a command should not write to stdout. For example, when sending the initial broadcast before the header is printed. This change adds this option to run_command_always, and uses enums to make it easier to read what's been passed to it. BUG: 27953643 Change-Id: I9aed0cb0df4112b31d2079241114e206b9d0bb0c
/frameworks/native/cmds/dumpstate/dumpstate.h
|
faf67e3fe2451e75d0369906a579d3e1386a5064 |
|
28-Mar-2016 |
Felipe Leme <felipeal@google.com> |
Increased estimated max progress of bugreports. The initial estimate was based on earlier work done before new sections were added, and it was too slow. Ideally we should have a per-device estimate, but for N we'll just increase the common max. BUG: 26373682 Change-Id: I1a8ce7f09fc6588ac1513a20fa1149aab8c38351
/frameworks/native/cmds/dumpstate/dumpstate.h
|
7363bafd0a94aa98a267edbbcb27abc9ef72f1dd |
|
21-Mar-2016 |
Felipe Leme <felipeal@google.com> |
Merge "Don't use su to when calling am or dumpsys." into nyc-dev
|
71a74ac75c8687195d27642fa0db31a796102c59 |
|
17-Mar-2016 |
Felipe Leme <felipeal@google.com> |
Capture systrace buffers. When tracing is enabled (/sys/kernel/debug/tracing/tracing_on = 1), dumpstate will run 'atrace --async_dump' and redirect its output to a systrace.txt entry in the zip file. BUG: 27419521 Change-Id: Ia6de46a691b25febac31331fe0aa8701c9a84ebb
/frameworks/native/cmds/dumpstate/dumpstate.h
|
cf6a8b47dc04f1c33ddc337b5e21f2c5b7354cb5 |
|
11-Mar-2016 |
Felipe Leme <felipeal@google.com> |
Don't use su to when calling am or dumpsys. su is not available on user builds anymore, hence the bugreport notifications would never be sent on those builds. Instead, it should explicitly drop root using system calls. BUG: 27583193 Change-Id: Ia6256b241fdd6ab4c059fb764b10b4445ad6551d
/frameworks/native/cmds/dumpstate/dumpstate.h
|
a34efb7ae17a7ea1078cce75be634120bd72a421 |
|
11-Mar-2016 |
Felipe Leme <felipeal@google.com> |
Improve logging of child commands. When execvpe() is called it doesn't return, so the child error handling should be done at the parent, otherwise the failure is not printed in the bugreport. BUG: 27583193 Change-Id: I6161e4c72b7b0da7b82bff7fd72d7a5aaf4d6e89
/frameworks/native/cmds/dumpstate/dumpstate.h
|
88c7933df551f6dadd8cc931d104b01d6d1609e4 |
|
22-Feb-2016 |
Felipe Leme <felipeal@google.com> |
Improved dumpstate logging. BUG: 26906985 Change-Id: Id439560504a365961337fddcca4ba6c1ef9f377d
/frameworks/native/cmds/dumpstate/dumpstate.h
|
60869c9e1e91170d487715fc30b795d786630c54 |
|
10-Feb-2016 |
Felipe Leme <felipeal@google.com> |
Fixed C++ syntax. Change-Id: I9702fdede589dd37cb498bbf63c0773816a7e3b8
/frameworks/native/cmds/dumpstate/dumpstate.h
|
a297c3258f6f7ea52cc2dcc42d62f85fda12a163 |
|
06-Feb-2016 |
Mark Salyzyn <salyzyn@google.com> |
dumpstate: report process times (cherry picked from commit 0751efa64cddfab69749236193e776058c9db595) - Fix per-pid helper to pick up comm if cmdline is empty and assume kernel thread. - Add per pid report command line user time if not kernel thread, system time and I/O time, plus percentage if non zero. Bug: 26966375 Change-Id: I6b499f535cc3687eb468b32ae39e7d151dffb11f
/frameworks/native/cmds/dumpstate/dumpstate.h
|
cbce55d4fdbdd2e5a5515054c48d2116c5db2712 |
|
08-Feb-2016 |
Felipe Leme <felipeal@google.com> |
Improved dumpstate logging. dumpstate generates 3 types of output: - stdout: used for the bugreport itself and is redirected to a file if requested. - stderr: used for errors, is only useful when dumpstate is called from adb (otherwise is ignored). - ALOG: logged into logcat and available in the bugreport. This current approach has 2 problems: - stderr output is ignored when dumpstatet is called from bugreport services. - bugs on dumpstate are often hard to diagnose (AKA 'Who watches the watchmen?'). This change mitigates these problems by redirecting stderr into a log file (which will also be included in the bugreport notification) and by keeping the .tmp file around (for the extreme cases where the .zip file could not be generated or got corrupted). BUG: 26906985 Change-Id: I73e7b1dd10ad9f83b7aa1043131ff3b74c426fdb
/frameworks/native/cmds/dumpstate/dumpstate.h
|
111b9d06cc0fc72438782c9234f28675e5077ef4 |
|
03-Feb-2016 |
Felipe Leme <felipeal@google.com> |
Improved how the Shell directories are created. When dumpstate is run for the first time, the /data/data/com.android.shell/files/bugreports does not exist, which was crashing dumpstate because the code that added the version.txt entry was not checking if the zip_writer was NULL. The crash itself was fixed by adding a sanity check in the functions that add entries to the zip file, but that only hid the real problem: it is necessary to create the parent directories before creating the zip file, otherwise the first run will always generate a .txt file (since dumpstate falls back to .txt when it cannot create the .zip). This change also improves how the parent directories are created by checking if they exist first, rather than always calling mkdir(). BUG: 26949960 Change-Id: I1434be5c36a3fad0b3a2a26c7eaaab03a1228c30
/frameworks/native/cmds/dumpstate/dumpstate.h
|
608385dd151e36a93f3e3f4a7514b1e720d20ae9 |
|
01-Feb-2016 |
Felipe Leme <felipeal@google.com> |
Redirect output to file ASAP, otherwise printf() calls might be missed. Also removed the duraction reporter on add_zip_entry_from_fd - since it was spamming the report and the timing could be infered by calculating the delta between each ALOGD entry anyways - and logged PID and statistics. BUG: 26885492 Change-Id: Iadb00957daac68b7a40b0e36ee5cce2b82264588
/frameworks/native/cmds/dumpstate/dumpstate.h
|
0c80cf0caaf5dce5ef4d0265b249bd1ec680cca1 |
|
05-Jan-2016 |
Felipe Leme <felipeal@google.com> |
Adds all tombstone files when writing to zipped file. Currently, a bugreport simply cats any tombstone file modified in the last half an hour into the bugreport. This is a problem since the tombstones contain a lot of really valuable information, and sometimes users don't get a bugreport in this time frame. In addition, some of our monkey testing has the same problem. Since now dumpstate can create a zip file, we can include all directly on it, although still using the old mechanism when it's creating it (for example, when invoked through 'adb bugreport'). BUG: 25974224 Change-Id: Ie29fd7d91953d91232b0db1c9588043aee13f93e
/frameworks/native/cmds/dumpstate/dumpstate.h
|
78f2c86235d5882a8dc84c85a1c1864062e5f3af |
|
21-Dec-2015 |
Felipe Leme <felipeal@google.com> |
Prints out how long it takes to generate each section. It's done using a DurationReporter helper class that prints starts counting when constructed and prints the duration when destructed. Typical usage: function do_something() { DurationReporter duration_reporter(title); // Do something. } Change-Id: I87134d9a1b003300384376c242a3c034a46244c4
/frameworks/native/cmds/dumpstate/dumpstate.h
|
f55d402132afa4b9dd38aa69e50ec7b7efb1927c |
|
11-Dec-2015 |
Mark Salyzyn <salyzyn@google.com> |
resolve merge conflicts of 01c1129fe6 to master. Change-Id: I84f862b4858ecc97461750833a0e6f9cf96c34c4
|
8c8130eb68c89987a94db084608a4229bad06c18 |
|
09-Dec-2015 |
Mark Salyzyn <salyzyn@google.com> |
dumpstate: Dump eMMC 5.0 stats Extended csd EXT_CSD_REV, PRE_EOL_INFO, DEVICE_LIFE_TIME_EST_TYP_A, and DEVICE_LIFE_TIME_EST_TYP_B fields printed if available. Allow dumpstate access to /sys/kernel/debug/mmc0/mmc0:0001/ext_csd. Bug: 24200279 Change-Id: I310bdcf546a9307cf927f109359ad5a6d24b70f8
/frameworks/native/cmds/dumpstate/dumpstate.h
|
3634a1e3459cb609da709646107e246cafbc01f9 |
|
09-Dec-2015 |
Felipe Leme <felipeal@google.com> |
Fixed logic that was passing NULL to a std::string parameter and crashing dumpstate. BUG: 8420215 Change-Id: If2f3ebad559683b5b6a8c2209de93ac3bec4fb1e
/frameworks/native/cmds/dumpstate/dumpstate.h
|
e338bf60701e5b955ab0a097f2631f2190218894 |
|
07-Dec-2015 |
Felipe Leme <felipeal@google.com> |
Take screenshot right away when invoked with -P. Traditionally, the screenshot was not taken right away because it could skew other services like the Surface Flinger, and such approach often resulted on irrelevant screenshots. Now there is more user-friendly workflow, where the bugreport progress is shown in the UI and the user can take further actions. In this workflow, it's ok to take the screeshot right away, since the other features might already be causing interference: if the user doesn't want interference, the old workflow should be used instead. Since the new workflow requires the -P (for Progress) parameter, such parameter can also be used to determine when to take the screenshot. Also added progress statistics at the end of the bugreport. BUG: 8420215 Change-Id: I9dad8ea59d47848f217182ccec0f527b42e07f50
/frameworks/native/cmds/dumpstate/dumpstate.h
|
ad5f6c475934ac6a658a203069a9f055540946e7 |
|
30-Nov-2015 |
Felipe Leme <felipeal@google.com> |
Minor improvements in the bugreport progress workflow: - Allow users to rename the suffix in the bugreport files by setting the dumpstate.pid.name system property. For example, instead of bugreport-2015-12-02-15-23-46, it could be bugreport-My-App-Crashed. - Dynamically adjust the max weight if the current progress overflows the previous max (and set the dumpstate.pid.max system property accordingly, so UI can be updated as well). - Strip .txt from the name sent on BUGREPORT_STARTED. BUG: 25794470 Change-Id: I7634ddd2975bcf93d6612d16c09da1cd7b4e1d91
/frameworks/native/cmds/dumpstate/dumpstate.h
|
71bbfc57974331dce79242ce806d92035fce06ba |
|
23-Nov-2015 |
Felipe Leme <felipeal@google.com> |
Adds a -P option so dumpstate can report its progress. The old workflow was: 1. dumpstate starts. 2. When dumpstate finishes, it sends a BUGREPORT_FINISHED event. 3. Shell's BugreportReceiver receives the BUGREPORT_FINISHED and issues a system notification so user can share the bug report. The new workflow is: 1. When dumpstate starts, it sends a BUGREPORT_STARTED with its pid and the estimated total effort. 2. When Shell's BugreportReceiver receives the BUGREPORT_STARTED, it: 2.1 Issues a system notification so user can watch the progresss (which is 0% initially). 2.2 Starts a service (BugreportProgressService) responsible for polling the dumpstate progress (using system properties and the pid) and updating the system notification. 3. As dumpstate progress, it updates the proper system property. 4. When dumpstate finishes, it sends a BUGREPORT_FINISHED event. 5. When Shell's BugreportReceiver receives the BUGREPORT_FINISHED, it: 5.1 Finishes the service if necessary. 5.2 Issues a system notification so user can share the bug report. This CL handles the dumpstate changes only, the Shell changes will be handled in a separate CL. BUG: 25794470 Change-Id: I6e04203411802c88ab0d093420ccdfd26700d565
/frameworks/native/cmds/dumpstate/dumpstate.h
|
36b3f6ff17e456dea81501006e33d5fdd1d3b480 |
|
20-Nov-2015 |
Felipe Leme <felipeal@google.com> |
Allow broadcasting of bug reports without a screenshot. BUG: 25751868 Change-Id: Ideaa6c549f639aa64b30225147b2fad6c5f2d556
/frameworks/native/cmds/dumpstate/dumpstate.h
|
ed24d2ae2cd6e8b0afb86efa555f18bcfaf74a64 |
|
12-Nov-2015 |
Christopher Ferris <cferris@google.com> |
Fix a few bugs related to dumping files. Fixes: - Fix double print of header in dump_file. - Fix a few possible file descriptor leaks. - Add /d/ as another directory which should be skipped when printing out last mod time of a file. - Fix possible crash if the path passed to _dump_file_from_fd is less than the length of one of the directory checks. Change-Id: I450dfab76fd0ce4d4dca9ed39c82a980054f3cc3
/frameworks/native/cmds/dumpstate/dumpstate.h
|
93d705b6d742e8f00167ff2384e35c2205a6f9da |
|
11-Nov-2015 |
Felipe Leme <felipeal@google.com> |
Add option to #define _DUMPSTATE_DRY_RUN_ to skip the actual dumps. Such option is useful when debugging dumpstate itself, since it will finish much sooner and its output will be much smaller. Change-Id: If821ed21715461bf82eea0b2be4b926239ad69da
/frameworks/native/cmds/dumpstate/dumpstate.h
|
8620bb4118a68721d10c29529dc6978847d08d00 |
|
10-Nov-2015 |
Felipe Leme <felipeal@google.com> |
Migrated dumpstate to C++. Changes required: - Explicity casting function pointers. - Moving variables initialization before 'goto' statements. - Changing string references from 'char *' to 'const char *'. - Using 'extern "C"' so device-dependent implementation of 'dumpstate_board()' can be written in C or C++. BUG: 25563823 Change-Id: I5712c2adbe181c6d17983cbb136b17757900b4ba
/frameworks/native/cmds/dumpstate/dumpstate.h
|
326842fca4883f1256aa9ed019bb3206ee76fca7 |
|
30-Apr-2015 |
Mark Salyzyn <salyzyn@google.com> |
dumpstate: report per-partition MMC performance (Cherry pick from commit 540e3de99fa1baa5eaf3eb3d49f4e98fd9f5bd91) Change-Id: If5cabe186d8377056effa1c0672a90e277cd7221
/frameworks/native/cmds/dumpstate/dumpstate.h
|
123edd9f812c93973de923397f2a5cb6fdaa4135 |
|
26-Feb-2015 |
Christopher Ferris <cferris@google.com> |
resolved conflicts for merge of 04e13acd to master Change-Id: I9bbc9907a5cbde8b374398493bc0dc6b056ea734
|
54bcc5ffd5a79f4f194089c58d3de571532bf39b |
|
10-Feb-2015 |
Christopher Ferris <cferris@google.com> |
Add timeout for dump_file. It turns out dump_file is used on a number of /proc and system files. In one case, the read of a file stalled and caused a bugreport to hang forever. It's still possible if there is a kernel bug that this could stall forever, but less likely. Also, change the return type of nanotime to uint64_t. Testing: - Created a named fifo and verified that dump_file fails with a timeout. - Created a large /data/anr/traces.txt to verify that large files still dump properly and that the additional NONBLOCK parameter doesn't cause a problem. - Created a dummy /data/tombstones/tombstone_00 to verify that the dump of these files still works. - Compared a dump using the old dumpstate to the new dumpstate to verify nothing obviously different. Bug: 19117030 Change-Id: I0d3dd27583c853cdaccd2fd278748cb5f9ccd4fb
/frameworks/native/cmds/dumpstate/dumpstate.h
|
d527bcbc10b1fb6b998b94bbac7bfbfd3a9efdf6 |
|
17-Feb-2015 |
Svetoslav <svetoslavganov@google.com> |
Remove unnecessary settings state dump. The settings provider now implements dump, hance special dump code is no longer needed. Change-Id: I93af3f6acac4ac70d6bbf569d2348cb16b8c0946
/frameworks/native/cmds/dumpstate/dumpstate.h
|
ff4a4dc7e6e3ead12020b4dc17548d767a419dde |
|
10-Feb-2015 |
Christopher Ferris <cferris@google.com> |
Remove -z option. This option doesn't work with the current selinux protections and doesn't serve much of a purpose. You can get the same results running this: dumpstate | gzip > /data/local/tmp/dump.txt.gz Bug: 19271141 Change-Id: Icc76200df33dc708e30c556ec8a0f393f995fe7c
/frameworks/native/cmds/dumpstate/dumpstate.h
|
672e3a51bd12d6d89078b4eb452199398334c800 |
|
24-Jul-2014 |
Christopher Ferris <cferris@google.com> |
resolved conflicts for merge of e8878921 to lmp-dev-plus-aosp Change-Id: I930dda54336a3f6d694cec06299f09e3580671a0
|
1fe6107b66516b225e0843836d60a69b1b57f3c3 |
|
23-Jul-2014 |
Christopher Ferris <cferris@google.com> |
Add dumping of tombstones to dumpstate. Dump only those tombstones modified within the last half an hour. Change-Id: I8ce836b2e19eba7a9c0c31a4f312f9a382526da7
/frameworks/native/cmds/dumpstate/dumpstate.h
|
a055fd358bd64f5d49e7957fc8aeb83b170787e9 |
|
14-Jul-2014 |
Sreeram Ramachandran <sreeram@google.com> |
resolved conflicts for merge of 0d2bee0c to lmp-dev-plus-aosp Change-Id: If782ce04be50e2154cec232c9e9d60fe38f41831
|
2b3bba34aec65b612be8d1f52cd124d9c30955f9 |
|
09-Jul-2014 |
Sreeram Ramachandran <sreeram@google.com> |
Dump all the correct routing tables. The list of tables is maintained in /data/misc/net/rt_tables by netd. Change-Id: I55475c08c5e43bcf61af916210e680c47480ac32
/frameworks/native/cmds/dumpstate/dumpstate.h
|
5ecd4beef8f10f91febf916414c65d3d0e1cf734 |
|
29-Jan-2014 |
John Spurlock <jspurlock@google.com> |
Dump system settings for all users Change-Id: Ic832b19fe698da1984876b2949c3f26990ae5076
/frameworks/native/cmds/dumpstate/dumpstate.h
|
0c22e8b31651caf12a2b4d4acef5bc65d486e570 |
|
02-Nov-2012 |
Colin Cross <ccross@android.com> |
dumpstate: dump all threads in show_wchan for_each_pid only finds processes and not their threads. Add for_each_tid and call it for show_wchan so we can see where all threads are blocked in the kernel. Change-Id: Iffb59f7c2933cecf51cdd358a36e19932c2f24c7
/frameworks/native/cmds/dumpstate/dumpstate.h
|
bf7f49238d0af497d4300f7e611cf831854d6434 |
|
08-Jun-2012 |
Jeff Brown <jeffbrown@google.com> |
Include stack traces for certain native processes in bugreport. Bug: 6615693 Change-Id: I64c3b3ce0bba62d9c332a795f7d979fb753dc27b
/frameworks/native/cmds/dumpstate/dumpstate.h
|
f45fa6b2853cc32385375a0b63ee39ad6a968869 |
|
26-Mar-2012 |
Colin Cross <ccross@android.com> |
move dumpstate and dumpsys from frameworks/base to frameworks/native Change-Id: I8a5318022ce5cd3e7c8055f21fe5da74639aa6c0
/frameworks/native/cmds/dumpstate/dumpstate.h
|