Commit Graph

91 Commits

Author SHA1 Message Date
Ryan Macnak f124f0fcfc [vm, service] Add getProcessMemory, which reports a tree of major ownership of memory known to the VM.
Removes the private extension to heap snapshots, which did not represent nesting.

Change-Id: I62e60922f094db68cf63bac037140e1a8b2b9fd7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152424
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2020-06-25 19:51:12 +00:00
Ryan Macnak 6e987b6eb5 [vm, service] Add requestHeapSnapshot.
This replaces _requestHeapSnapshot and _getObjectByAddresses, which relied on the invalid assumption that objects don't move and the heap hasn't mutated since the initial snapshot.

Updates Observatory to the new format. Adds treemap visualization of the dominator tree. Adds the ability to save and load heap snapshots to files. Removes analysis grouping references by source and target class. Removes ability to navigate from a pixel in the fragmentation view to inspector. Removes ability to query the top retaining instance from an ordinary class browser.

Change-Id: Ia7781c05d43bf3ec149f8b4ecab803b37c3ee981
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112181
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-08-19 19:31:42 +00:00
Kevin Moore eba45291fb [observatory] Cleanup unused imports, fix warning about SDK version
Change-Id: I80f1861b8dd1d1fa5eea93cc305fa0ee2475580d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101884
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
Auto-Submit: Kevin Moore <kevmoo@google.com>
2019-05-13 16:27:41 +00:00
Ryan Macnak a91cc6c701 [observatory] Remove use of custom elements.
document.registerElement is going away soon, and dart2js never implemented window.customElements.define.

Replace the inheritance with composition for each FooElement.

When used to create a DOM tree, replace `new FooElement()` with `new FooElement().element`.

In CSS, replace each custom element selector with a class selector, i.e. `foo-element` with `.foo-element`.

Bug: https://github.com/dart-lang/sdk/issues/34107
Change-Id: Id5ab5b6104a6165a8ad3b01d73ee9d76e46024ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101061
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-05-08 18:23:26 +00:00
Ryan Macnak 662ff7f112 [vm] Remove TokenStream, TokenValue, CompilerStats.
(CompilerStats timers have been replaced with the timeline events.)

Change-Id: Iddcb752c085de9762eb802371b6d2905fa608a76
Reviewed-on: https://dart-review.googlesource.com/c/79086
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-10-10 21:39:45 +00:00
Carlo Bernaschina bf358a7c27 Add searchBar to VirtualCollections in Observatory
With CTRL+F (or CMD+F on Mac) virtual-collection elements properly
configured with a search helper will show a search bar which allows to
navigate between the results of the current query.

Closes https://github.com/dart-lang/sdk/issues/27136

Change-Id: Ia18207b1cb451a39f314a3477a38a2337ca73f8b
Reviewed-on: https://dart-review.googlesource.com/3860
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2017-09-07 20:54:44 +00:00
Carlo Bernaschina 0e32851cfd Add Timeline Dashboard hidden page in Observatory
- Refactoring of the TimelinePage in order to remove the
  dependencies from the Service objects.
- Implemented TimelineRepository to abstract the communication layer
- Structured new TimelineDashboardPage with simplified UI and event
  filtering

The VM returns lists of events which are forwarded to Catapult.
Some events are white-listed for the common user.
Due to limitations in the way the events are generated the only way to
attach the white-list flag to the events is by adding an extra argument.
By setting the hash of timeline.html to #basic we inform JavaScript that
we require the activation of the filter which forwards just the events
white-listed to Captapult, while preserving all the others during
dumping operations.

See https://docs.google.com/document/d/1sDKI3ROYM1ORaKhelt063ayfveF_6WC8aq9MiqHjYBs/edit#

Change-Id: I38435d8d32f37305ce3c366daf55f82e8287959d
Reviewed-on: https://dart-review.googlesource.com/3346
Commit-Queue: Carlo Bernaschina <cbernaschina@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2017-09-07 20:38:19 +00:00
Carlo Bernaschina c6a71098b6 Add memory-dashboard page to Observatory
A new hidden page in observatory that will be used from external IDEs.
This initial version focuses on the evolution of the memory usage in time
and per isolate allocation profile.

Related https://github.com/dart-lang/sdk/issues/30023
Related https://codereview.chromium.org/2990913002/

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2989083002 .
2017-08-03 15:52:23 -07:00
Carlo Bernaschina 0d86f5f3c5 Added Editor stream and sendObjectToEditor RPC into Service Protocol
Related=https://github.com/dart-lang/sdk/issues/30023

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2962593002 .
2017-06-29 10:08:12 -07:00
Ben Konyi 7c820f4363 Resubmission of native memory allocation info surfacing in Observatory. Fixed crashing tests and stack trace collection skip counts for different configurations.
Fixed missing method referenced when MallocHooks is unsupported.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2771293003 .
2017-03-27 13:25:26 -07:00
Ben Konyi 9ea672efc0 Revert "Added page to Observatory to display native memory allocation information."
This reverts commit f30f312b48.

Revert "Fixed missing method referenced when MallocHooks is unsupported."

This reverts commit a0b9c5a178.

TBR=johnmccutchan@google.com

BUG=

Review-Url: https://codereview.chromium.org/2773073003 .
2017-03-24 09:47:29 -07:00
Ben Konyi f30f312b48 Added page to Observatory to display native memory allocation information.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2748403002 .
2017-03-24 09:20:25 -07:00
Ryan Macnak 8d6aca7085 Add Observatory support for UnlinkedCall, SingleTargetCache and SubtypeTestCache.
Apply dartfmt to the touched files.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2742333007 .
2017-03-16 12:34:31 -07:00
Carlo Bernaschina 5177c2bca9 Removed polymer & mirror from Observatory
web_components are still necessary, but avoiding to use shadow dom
allows us to use the lite version

Closes=https://github.com/dart-lang/sdk/issues/27239
Closes=https://github.com/dart-lang/sdk/issues/27148
Closes=https://github.com/dart-lang/sdk/issues/26952

R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2310003004 .
2016-09-07 14:15:27 -07:00
Carlo Bernaschina 876f49999a Converted Observatory debugger elements
R=rmacnak@google.com, turnidge@google.com

Review URL: https://codereview.chromium.org/2312553002 .
2016-09-06 15:05:44 -07:00
Carlo Bernaschina cfefe97495 Converted Observatory metrics-page element
Major restyle

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2303173002 .
2016-09-06 09:56:16 -07:00
Carlo Bernaschina c38769ea9a Converted Observatory timeline-page element
Not fully testable

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2299613004 .
2016-09-02 10:38:40 -07:00
Carlo Bernaschina 2eab4de315 Converted Observatory logging-page element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2299893003 .
2016-09-02 10:27:48 -07:00
Carlo Bernaschina b31829db24 Converted Observatory json-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2305693003 .
2016-09-02 10:23:29 -07:00
Carlo Bernaschina 741d99f100 Converted Observatory code-view element
Not fully testable

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2306483002 .
2016-09-01 13:56:45 -07:00
Carlo Bernaschina 90c50c52f2 Converted Observatory vm-view && isolate-view elements
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2304463002 .
2016-09-01 10:46:36 -07:00
Carlo Bernaschina 1341e94321 Converted Observatory class-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2294073003 .
2016-08-31 17:03:38 -07:00
Carlo Bernaschina bf7d220741 Converted Observatory instance-view element
R=turnidge@google.com

Review URL: https://codereview.chromium.org/2291233002 .
2016-08-30 14:53:24 -07:00
Carlo Bernaschina 19e9627ea0 Converted Observatory library-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2289953003 .
2016-08-30 13:58:15 -07:00
Carlo Bernaschina 0083d2610e Converted Observatory object-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2294473002 .
2016-08-30 13:39:12 -07:00
Carlo Bernaschina b63546ac57 Converted Observatory function-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2291823002 .
2016-08-29 16:39:38 -07:00
Carlo Bernaschina 3b16691da1 Converted Observatory script-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2283263002 .
2016-08-29 13:33:55 -07:00
Carlo Bernaschina a326a56eb1 Converted Observatory object-pool-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2283863003 .
2016-08-29 11:14:18 -07:00
Carlo Bernaschina 8e7725a8b4 Converted Observatory field-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2287793002 .
2016-08-29 10:47:05 -07:00
Carlo Bernaschina 5e1b224ef8 Converted Observatory megamorphiccache-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2279203003 .
2016-08-26 15:22:51 -07:00
Carlo Bernaschina 2dbd1b2158 Converted Observatory error-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2286503002 .
2016-08-26 10:23:34 -07:00
Carlo Bernaschina 12e8f86cf6 Converted Observatory persistent-hangles-page element
R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2273203004 .
2016-08-26 10:15:34 -07:00
Carlo Bernaschina bdbd443317 Converted Observatory heap-map element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2279973002 .
2016-08-26 10:00:48 -07:00
Carlo Bernaschina 4f96ad0440 Converted Observatory objectstore-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2274013006 .
2016-08-26 09:44:24 -07:00
Carlo Bernaschina c39868c8a5 Converted script-inset, source-inset and eval-box elements
Testing postponed

R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2277543004 .
2016-08-26 09:27:56 -07:00
Carlo Bernaschina 3d415d5ac0 Converted Observatory icdata-view element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2271083002 .
2016-08-24 09:33:37 -07:00
Carlo Bernaschina 44d2b85d3d Converted Observatory cpu-profile-table element
Fixes=https://github.com/dart-lang/sdk/issues/27116

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2273993002 .
2016-08-24 08:51:37 -07:00
Carlo Bernaschina fc6954171e Converted Observatory context-view element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2270013002 .
2016-08-23 13:16:23 -07:00
Carlo Bernaschina 547d71add7 Converted Observatory heap-snapshot element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2266343002 .
2016-08-23 12:55:43 -07:00
Carlo Bernaschina c6fdc01b91 Converted Observatory ports-page element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2267863002 .
2016-08-22 09:47:22 -07:00
Carlo Bernaschina d272f763d8 Converted Observatory object-common element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2265513003 .
2016-08-19 17:07:07 -07:00
Carlo Bernaschina 0b4fe4825f Removed Instructions object from Observatory models
Review URL: https://codereview.chromium.org/2252273002 .
2016-08-17 18:51:18 -07:00
Carlo Bernaschina b0582b3bb7 Converted Observatory heap-profile element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2255613002 .
2016-08-17 15:51:38 -07:00
Carlo Bernaschina a1edad30ea Converted Observatory refs elements
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2244433003 .
2016-08-17 12:31:38 -07:00
Carlo Bernaschina a1e4f44aa5 Removed IO related Observatory elements
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2255653002 .
2016-08-17 07:21:02 -07:00
Carlo Bernaschina 9ce171ac33 Converted Observatory cpu-profile element
Fixes https://github.com/dart-lang/sdk/issues/26043

R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2204563003 .
2016-08-09 14:34:00 -07:00
Carlo Bernaschina a5443086a0 Converted Observatory isolate-summary element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2217723004 .
2016-08-09 13:15:21 -07:00
Carlo Bernaschina 4329f962b2 Converted Observatory isolate-reconnect element
R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2202973002 .
2016-08-08 13:07:08 -07:00
Carlo Bernaschina 3c786269cb Converted Observatory class-tree element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2212253002 .
2016-08-05 12:48:07 -07:00
Carlo Bernaschina 60afd8bddd Converted observatory flag-list element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2213613002 .
2016-08-03 19:53:05 -07:00