summaryrefslogtreecommitdiffstats
path: root/tools/memory_inspector
Commit message (Collapse)AuthorAgeFilesLines
* [memory-inspector] Bump the version number and release updateprimiano2015-06-011-1/+1
| | | | | | | | | | | This is to pick up crrev.com/1138523003 which introduced UI fixes (stats refresh cause scrolling to the top). BUG= TBR=petrcermak@chromium.org Review URL: https://codereview.chromium.org/1145053007 Cr-Commit-Position: refs/heads/master@{#332196}
* JS Object annotations don't need the string key type outside of chrome/.thestig2015-05-301-1/+1
| | | | | | | | TBR=brettw@chromium.org Review URL: https://codereview.chromium.org/1151423004 Cr-Commit-Position: refs/heads/master@{#332119}
* Fix some JS style nits.dbeam2015-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | Replace: Array.< Object.< With: Array< Object< See bug for rationale (. is no longer required, just extra fluff, looks more like C++, etc.) TBR=darin@chromium.org BUG=492476 NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1150173003 Cr-Commit-Position: refs/heads/master@{#331603}
* [memory-inspector] Fix zygote wrapper script and UI scrollingprimiano2015-05-133-1/+19
| | | | | | | | | | | | | | This is a minor fix to the Zygote wrapper script (for full profiles). Furthermore, this adds a workaround to a recent regression of the Google Data Table UI (https://goo.gl/TXr3vL) which was causing the Memory Inspector UI to forget its scroll position every couple of seconds. BUG= Review URL: https://codereview.chromium.org/1138523003 Cr-Commit-Position: refs/heads/master@{#329666}
* [memory-inspector] Replace getprop line splitting with a regexpetrcermak2015-02-172-4/+12
| | | | | | | | BUG=459010 Review URL: https://codereview.chromium.org/934603002 Cr-Commit-Position: refs/heads/master@{#316551}
* [memory-inspector] Add prebuilts for Android x86/x86_64primiano2015-02-0311-13/+21
| | | | | | | | | | | | | | | This change also: - adds x86/x86_64 in the list of supported ABIs. - adjusts the regexp of the REST endpoints to support the emulator: the old regex was using \w+ to match the device serial, which doesn't work with the cases such as "emulator-1234". TBR=primiano@chromium.org BUG= Review URL: https://codereview.chromium.org/887583004 Cr-Commit-Position: refs/heads/master@{#314396}
* Cleanup: Presubmit API is built into depot_tools.tfarina2015-01-311-1/+1
| | | | | | | | | | | | | Not in gcl, which probably these days nobody working on Chromium uses. BUG=None R=maruel@chromium.org TBR=maruel@chromium.org NOPRESUBMIT=true Review URL: https://codereview.chromium.org/887033002 Cr-Commit-Position: refs/heads/master@{#314039}
* [memory-inspector] UI fixes + bump version number for release.primiano2015-01-266-9/+10
| | | | | | | | | | BUG=448399 TBR=petrcercmak@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/867263002 Cr-Commit-Position: refs/heads/master@{#313057}
* [memory-inspector] disable native tracing inside Chrome Apppetrcermak2015-01-237-18/+60
| | | | | | | | | | | | This patch disables native tracing inside the Memory Inspector Chrome App because it is currently not supported. BUG=448399 NOTRY=true Review URL: https://codereview.chromium.org/867163002 Cr-Commit-Position: refs/heads/master@{#312830}
* [memory-inspector] show server error messages in a dialogpetrcermak2015-01-233-7/+17
| | | | | | | | | | | | | The Memory Inspector currently silently logs all server-side errors. Since the user might need to take some action based on the error (e.g. start the ADB daemon), we display the errors in a dialog as well. BUG=448399 NOTRY=true Review URL: https://codereview.chromium.org/866413003 Cr-Commit-Position: refs/heads/master@{#312821}
* [memory-inspector] replace window.alert with rootUi.showDialogpetrcermak2015-01-232-13/+15
| | | | | | | | | | | | This change is necessary because modal dialogs are not allowed in Chrome Apps. BUG=448399 NOTRY=true Review URL: https://codereview.chromium.org/875433002 Cr-Commit-Position: refs/heads/master@{#312815}
* Make a Memory Inspector Chrome Apppetrcermak2015-01-2222-2/+1676
| | | | | | | | | | | | | | | | | | This patch adds a Memory Inspector Chrome App which wraps the Memory Inspector tool in a PNaCl executable. Note that this patch is not ready for submission yet as it requires several modifications to the Memory Inspector tool first (see the bug below). Any suggestions and/or feedback are more than welcome. BUG=448399 NOTRY=true Review URL: https://codereview.chromium.org/857553003 Cr-Commit-Position: refs/heads/master@{#312627}
* [memory-inspector] Switch android_backend.py to the python adb client.primiano2015-01-2210-169/+114
| | | | | | | | | | | | | | | crrev.com/854093002 has introduced a pure python adb client. This is the complementary change which gets rid of (most) of the pyblib dependency (% elf_symbolizer). Also this gets rid to the old code to mock the adb binary and updates the android_backend_unittest accordingly. BUG=448399 NOTRY=true Review URL: https://codereview.chromium.org/833323004 Cr-Commit-Position: refs/heads/master@{#312620}
* Add command-line arguments to start_web_ui in Memory Inspectorpetrcermak2015-01-191-5/+26
| | | | | | | | | | | | | | | This patch adds two optional arguments: -p PORT, --port PORT the port on which the memory inspector server will run -n, --no-browser do not open the memory inspector in a web browser This change will make the start_web_ui file reusable for the Memory Inspector Chrome App. BUG=448399 Review URL: https://codereview.chromium.org/852013004 Cr-Commit-Position: refs/heads/master@{#312136}
* Remove background_tasks.TerminateAll() function from Memory Inspectorpetrcermak2015-01-192-8/+1
| | | | | | | | | | | | Now that background tasks are threads, there is no direct way to terminate them. Instead, we set them to be daemon threads which will be automatically terminated when the main program exits. BUG=448399 Review URL: https://codereview.chromium.org/845733003 Cr-Commit-Position: refs/heads/master@{#312111}
* Use our own task IDs for background tasks in Memory Inspectorpetrcermak2015-01-191-2/+5
| | | | | | | | | | | | | Thread IDs can be negative in the NaCl Python implementation (https://code.google.com/p/naclports/issues/detail?id=185). As a result, the full tracing functionality doesn't work in the Memory Inspector Chrome App. BUG=448399 Review URL: https://codereview.chromium.org/838033008 Cr-Commit-Position: refs/heads/master@{#312103}
* [memory-inspector] Add pure python ADB client.primiano2015-01-161-0/+298
| | | | | | | | | | | | | | This is to support the unbundling effort. At current state there are no clients of this class yet. The next CLs will remove the dependencies from pylib and start using this one. BUG=448399 NOTRY=true Review URL: https://codereview.chromium.org/854093002 Cr-Commit-Position: refs/heads/master@{#311910}
* [memory-inspector] Force use of https:// schema to fetch JS resources.primiano2015-01-161-5/+5
| | | | | | | | | | | | | | The current relative schema was falling on HTTP (because the local python server serves plain HTTP). Furthermore this is causing problems when packaging the Memory Inspector as a standalone web app. BUG=448399 NOTRY=true TBR=petrcermak@chromium.org Review URL: https://codereview.chromium.org/847843003 Cr-Commit-Position: refs/heads/master@{#311866}
* Replace multiprocessing with threading in memory_inspectorpetrcermak2015-01-141-12/+18
| | | | | | | | | | | | This patch is part of an ongoing process to unbundle memory_inspector and make it a chrome app. It replaces multiprocessing, which is currently not supported by naclports/python, with threading. BUG=448399 Review URL: https://codereview.chromium.org/836933004 Cr-Commit-Position: refs/heads/master@{#311515}
* Remove dependency on dateutil in memory_inspectorpetrcermak2015-01-142-12/+16
| | | | | | | | | | | | | This patch is part of an ongoing process to unbundle memory_inspector and make it a chrome app. It removes the dependency of www_server.py on the dateutil module, which is not part of the Python Standard Library. BUG=448399 Review URL: https://codereview.chromium.org/850033002 Cr-Commit-Position: refs/heads/master@{#311507}
* [Android] memory_inspector: Fix an integer parsing bug on 64-bit.primiano2014-10-061-2/+2
| | | | | | | | | | | | Fix the memory_map module to deal properly with 64-bit address spaces. BUG=340294 NOTRY=true TBR=primiano@chromium.org Review URL: https://codereview.chromium.org/628253002 Cr-Commit-Position: refs/heads/master@{#298246}
* [Android] memory_inspector: truncate process_name in CLI dumps.paulwhitton2014-09-171-3/+7
| | | | | | | | | | | If process_name is greater than 50 characters, display truncated process_name BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/559113002 Cr-Commit-Position: refs/heads/master@{#295275}
* [Android] memory_inspector: update PRESUBMIT.py to check prebuilts.primiano2014-09-161-3/+49
| | | | | | | | | | | | | Add a PRESUBMIT check to verify that all prebuilts are actually deployed to GCS (i.e. the committer didn't forget to run upload_to_google_storage.py). BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/562553003 Cr-Commit-Position: refs/heads/master@{#295057}
* [Android] memory_inspector: move backends one folder up.Primiano Tucci2014-09-166-5/+5
| | | | | | | | | | | | | | | | | This simply moves the backends in backends/android up one folder. The current naming structure was redundant and some of the classes there are not really android specific. Moving up since there is some work in progress to introduce support for other platforms, so it doesn't make much sense to keep a folder named 'android'. No functional change is intended. BUG=340294 NOTRY=true R=skyostil@chromium.org Review URL: https://codereview.chromium.org/574663002 Cr-Commit-Position: refs/heads/master@{#295040}
* [Android] memory_inspector: revert accidental changes to PRESUBMIT.pyPrimiano Tucci2014-09-161-40/+3
| | | | | | | | | | | | | | PRESUBMIT.py ened up being accidentally part of the last patchset in crrev.com/549313006. It was not intended as it is still under review in crrev.com/562553003 BUG=340294 NOTRY=true TBR=primiano@chromium.org Review URL: https://codereview.chromium.org/538363006 Cr-Commit-Position: refs/heads/master@{#295037}
* [Android] memory_inspector: add resident memory accounting.primiano2014-09-1612-48/+276
| | | | | | | | | | | | | | | | | Introduce the logic which is able to intersect mmap stats (dirty/clean priv/shared) with allocations. Essentially it contains the math to calculate the overlap (even partial) between allocations and mmaps and attribute stats counters to allocations. For the moment only resident memory is accounted. Finer grained accounting (dirty/clean) requires some changes to memdump (to have more than one bit per page in its output bitmap) and will come soon. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/563183003 Cr-Commit-Position: refs/heads/master@{#295032}
* [Android] memory_inspector: move to libheap_profiler.primiano2014-09-1624-233/+359
| | | | | | | | | | | | | | | | | | | | | This change moves towards the new libheap_profiler + heap_dump for profiling native allocations, instead of lib.debug.malloc. It introduces the code to install the library in the system (wrapping the Android zygote) and the parsers. Compared to the lib.debug.malloc, libheap_profiler is much much faster (less overhead) and able to hook also mmaps. Its output is very detailed and allows to get stack traces for each VM region. This will make it possible to intersect, in the near future, mmaps and native stack traces. This change also introduces the support to multiple ABIs to support both arm and arm64. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/549313006 Cr-Commit-Position: refs/heads/master@{#295031}
* [Android] memory_inspector: bug / UI fixes.primiano2014-09-1021-75/+140
| | | | | | | | | | | | | | | | | | | | This is a set of bug / UI fixes for memory inspector, in preparetion for next CLs which will introduce integration with libheap_profiler. Changes in this CL: - Introduce mmap de-offset heplers (will be used soon for intersecting native heap traces). - Fix symbol lookup for shared_library Chrome builds. - Add RSS column to mmaps table. - Add server crash / unreachable detection. - Update prebuilts (add also desktop ones for paul.whitton@) - Make it possible to filter tests ran by run_tests. - Minor cosmetic bugfixes. BUG=340294 Review URL: https://codereview.chromium.org/559023002 Cr-Commit-Position: refs/heads/master@{#294193}
* [Android] Add 64-bit support to memdump (and memory_inspector parser)primiano2014-09-097-30/+47
| | | | | | | | | | | | | This change makes memdump able to parse and print out 64 bit addresses. No change is intended for the 32-bit output. This also updates the memdump parser in memory_inspector to match the memdump change and updates its prebuilts. BUG=340294 Review URL: https://codereview.chromium.org/550093003 Cr-Commit-Position: refs/heads/master@{#293927}
* [Android] Switch to DeviceUtils versions of GetMemoryUsageForPid and __str__.jbudorick@chromium.org2014-07-241-1/+1
| | | | | | | | BUG=267773 Review URL: https://codereview.chromium.org/404993004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285097 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Switch to DeviceUtils versions of Ls, SetJavaAsserts, GetProp, and ↵jbudorick@chromium.org2014-07-081-5/+4
| | | | | | | | | | SetProp. BUG=267773 Review URL: https://codereview.chromium.org/371813005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281794 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Switch to DeviceUtils versions of file functions.jbudorick@chromium.org2014-07-032-4/+4
| | | | | | | | | | This includes PushChangedFiles, FileExists, PullFile, ReadFile, and WriteFile. BUG=267773 Review URL: https://codereview.chromium.org/358993003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281147 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Switch to DeviceUtils version of RunShellCommand.jbudorick@chromium.org2014-06-161-9/+6
| | | | | | | | BUG=267773 Review URL: https://codereview.chromium.org/333933003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277508 0039d316-1c4b-4281-b951-d872f2087c98
* [memory_inspector] Expose profile rules to UI and update prebuilts.primiano@chromium.org2014-05-2213-44/+216
| | | | | | | | | | | | | | | This change exposes default and user-defined rulesets to the user interface, listing them in a menu in the Storage page. Also this CL is updating the prebuilts binaries (now PIE) to run properly on recent Android releases. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/294593006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272163 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Convert to DeviceUtils versions of IsOnline, HasRoot, and EnableRoot.jbudorick@chromium.org2014-05-171-1/+9
| | | | | | | | BUG=267773 Review URL: https://codereview.chromium.org/285143002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271213 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Change object types from AndroidCommands to DeviceUtils everywhere ↵jbudorick@chromium.org2014-04-292-20/+33
| | | | | | | | | | else. BUG=267773 Review URL: https://codereview.chromium.org/243403003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266818 0039d316-1c4b-4281-b951-d872f2087c98
* Further enhancements to command_line frontend to memory_inspectorpaulwhitton@google.com2014-04-232-75/+95
| | | | | | | | | | | | Print memory maps for a process Print consolidated memory map data for a process BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/240023003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265655 0039d316-1c4b-4281-b951-d872f2087c98
* Add native_heap support to the memory_inspector frontend.primiano@chromium.org2014-04-2311-37/+318
| | | | | | | | | | | | | This is a follow-up to crrev.com/239543009/ and adds the frontend code (both server-side and client side) to support native heaps and symbolization. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/237743006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265621 0039d316-1c4b-4281-b951-d872f2087c98
* Add native heap support to the memory_inspector periodic tracer.primiano@chromium.org2014-04-238-36/+322
| | | | | | | | | | | | | | | This change introduces: - The code which interfaces with the elf_symbolizer. - The plumbing required for symbolizing native heaps. - A heuristic native heap classifier to auto infer rules from stacktraces. - Unittests. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/239543009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265620 0039d316-1c4b-4281-b951-d872f2087c98
* Enhancements to command_line frontend to memory_inspectorpaulwhitton@google.com2014-04-111-28/+60
| | | | | | | | | | | | | Removed redundant fields for output line for process list. Cosmetic change to the output line for process stats. Automatically select device if only one device is connected BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/222263003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263210 0039d316-1c4b-4281-b951-d872f2087c98
* Add command-line frontend to memory_inspector.paulwhitton@google.com2014-04-012-0/+130
| | | | | | | | | | | | | This CL adds a command-line frontend to memory_inspector. For the moment a few basic ps stats are supported. More features will follow in the next CLs. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/196343031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260845 0039d316-1c4b-4281-b951-d872f2087c98
* Add periodic tracer infrastructure to memory_inspector.primiano@chromium.org2014-03-289-39/+453
| | | | | | | | | | | | | | | | This change introduces the initial deferred (i.e. background) tracer infrastructure. This allows to start async subprocesses which periodically trace a given process. At the moment, the tracer will only dump mmaps and store them into the file archive. Furthermore, this CL introduces the possibility to dump and classify mmaps from the storage. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/216783003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260117 0039d316-1c4b-4281-b951-d872f2087c98
* Wire up the mmap profiler into the memory_inspector frontend.primiano@chromium.org2014-03-249-6/+508
| | | | | | | | | | | | | | This makes possible to get an aggregated view of a mmap dump. The change introduces also three new /profile/ endpoints to the server which allow to create a profile (for a recent mmap dump) and later grab the data for the charts corresponding to that profile. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/195893027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258934 0039d316-1c4b-4281-b951-d872f2087c98
* Minor UI/CSS refactor to memory_inspector.primiano@chromium.org2014-03-1716-195/+251
| | | | | | | | | | | | | | | - Moving css into /css subfolder - Removing the IsMmapTracingEnabled (it's a noop, so no reason should be there) - Many small HTML/JS UI fixes and some renaming. - Some whitespaces and quoting cleanup. TBR=pliard@chromium.org BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/201343002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257405 0039d316-1c4b-4281-b951-d872f2087c98
* Add mmap table and resident page UI to memory_inspector.primiano@chromium.org2014-03-137-15/+301
| | | | | | | | | | | | | | This wires-up the raw mmap dump (through memdump), introducing: - A new /ajax/dump/mmap endpoint to the server. - The HTML/JS ui to show the mmap table and the resident page list. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/196973008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256836 0039d316-1c4b-4281-b951-d872f2087c98
* Add settings UI to the memory_inspectorprimiano@chromium.org2014-03-137-7/+194
| | | | | | | | | | | | This CL adds the HTML UI for loading/storing backend and device-specific settings (plus the required server-side wiring). BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/194983005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256835 0039d316-1c4b-4281-b951-d872f2087c98
* Add HTML frontend to memory_inspector.primiano@chromium.org2014-03-1212-1/+1008
| | | | | | | | | | | | | | | This adds the basic infrastructure for the web based ui: - A python-based www server. - The HTML/JS client. At the current state, the only functionality available is listing processes/device stats. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/190853010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256646 0039d316-1c4b-4281-b951-d872f2087c98
* Small refactor to memory_inspector.primiano@chromium.org2014-03-116-45/+105
| | | | | | | | | | | | | | | Some small architectural changes required for the upcoming www UI. The main change introduced by this CL is moving the deps inclusion from run_tests to the main module initializer. Rationale: in the next cl, a new binary (start_web_ui) will need to include the same deps, so moving that to a common place. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/192033003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256204 0039d316-1c4b-4281-b951-d872f2087c98
* Add mmap and native heap classifiers to memory_inspector.primiano@chromium.org2014-03-105-0/+361
| | | | | | | | | | | | This introduces the final piece to the classifier which are able to do basic parsing for mmap and native heap traces. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/184043006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255933 0039d316-1c4b-4281-b951-d872f2087c98
* Add the core classification infrastructure to memory_inspector.primiano@chromium.org2014-03-065-0/+394
| | | | | | | | | | | | | | | This CL introduce the core classes for handling classification of data in a hierarchical fashion. It introduces two concepts: - A rule tree: hierarchy of rules defined by the end-user. - A result tree: the corresponding tree which aggregates the memory counters. BUG=340294 NOTRY=true Review URL: https://codereview.chromium.org/183173003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255352 0039d316-1c4b-4281-b951-d872f2087c98