Ryan Macnak
e3a9d70591
[vm, service] Remove unsafe querying across threads during Isolate::PrintJSON.
...
Note this would be unsafe even if under a safepoint operation because not all of the queried threads participate in safepoints.
TEST=tsan
Bug: https://github.com/dart-lang/sdk/issues/44304
Bug: https://github.com/dart-lang/sdk/issues/44385
Change-Id: I8156e8c6049165e5c53b66c3391f3e8a496ddaaf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175000
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2020-12-08 00:36:38 +00:00
Ryan Macnak
edf0de533c
[observatory] Progress on making heap snapshot analysis a public library.
...
- Clean up loading flow.
- Replace manual iterators with generator functions.
- Produce clearer messages when running out of memory.
- Make various implementation functions and constants private.
Change-Id: I9e016b37552e3110baf00f3052b131dc0d79b748
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132027
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2020-01-17 18:40:14 +00:00
Alexander Aprelev
9e636b5ab4
Reland "[vm/service] Introduce IsolateGroup entity to vm service api.""
...
This reverts commit f020ce5d23 with patchset 1 having original revert, rest - fixes
for calling destructors on unlinked IntrusiveDL elements and for assuming int is int64(which breaks down on simarm, ia32 bots).
Fixes https://github.com/dart-lang/sdk/issues/38926
Issue https://github.com/dart-lang/sdk/issues/36097
Change-Id: I867526c7de3786806670d1f43dbff07228f80028
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121870
Commit-Queue: Alexander Aprelev <aam@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-10-17 03:45:41 +00:00
Alexander Aprelev
f020ce5d23
Revert "[vm/service] Introduce IsolateGroup entity to vm service api."
...
This reverts commit f219e5152d as it breaks few bots.
Change-Id: I8d1d42d1ac662c2dba9ea9270c7a6cdc4f0621bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121886
Reviewed-by: Ben Konyi <bkonyi@google.com >
2019-10-16 19:45:23 +00:00
Alexander Aprelev
f219e5152d
[vm/service] Introduce IsolateGroup entity to vm service api.
...
This is to enable vm clients to ask how much memory is consumed by isolate group.
Issue https://github.com/dart-lang/sdk/issues/36097
Change-Id: I4f1c499bf02c20b80e9802d8ad60e7ea65cfb375
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119724
Commit-Queue: Alexander Aprelev <aam@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-16 18:05:06 +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
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
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
0cbbeeb288
Restore "Add current rss and embedder name to Observatory"
...
Made benchmark_test.cc independent from Service by using the
implementation of MaxRSS from bin::Process
Related https://github.com/dart-lang/sdk/commit/ce736d3ef009bf334a92d5b7d354fc0b04805b4f
R=bkonyi@google.com
TBR=rmacnak@google.com
Review-Url: https://codereview.chromium.org/2994223002 .
2017-08-14 17:02:30 -07:00
Carlo Bernaschina
2f5a59e658
Revert "Add current rss and embedder name to Observatory"
...
This reverts commit ce736d3ef0 .
TBR=zra@google.com
Review-Url: https://codereview.chromium.org/2999933002 .
2017-08-14 15:45:13 -07:00
Carlo Bernaschina
ce736d3ef0
Add current rss and embedder name to Observatory
...
Moved the responsibility to provide MaxRSS and CurrentRSS from the VM to
the embedder.
The embedder can opt-it by setting a Dart_GetEmbedderInformation
callback using the public Dart_SetEmbedderInformationCallback API.
The implementation of the Dart_GetEmbedderInformation should mandatory
fill the version field and the ones it is able to fill.
The name field must reference a constant C style string, it will not be
freed by the VM code.
R=zra@google.com
Review-Url: https://codereview.chromium.org/2996803002 .
2017-08-14 15:22:46 -07:00
Carlo Bernaschina
df8bf384eb
Introduce external services registration
...
A new RPC is introduced `_registerService` which allow clients to
register new services that are accessible from all the other clients.
Each registered endpoint is identified by 3 strings:
- `service`
a non empty string which identifies the provided service
(e.g. `HotReload`, `OpenFile`)
- `alias`
an alias for that particular endpoint used by clients to identify it
(e.g. `Flutter`, `IntelliJ`)
- `method` __generated__
the RPC method that should be invoked from a client to request it
A new _stream_ `_Service` is introduce, and two related events:
- `ServiceRegistered`
which is triggered when a new client is registered.
All the related information (`service`, `alias`, `method`) are sent.
- `ServiceUnregistered`
which is triggered when a client, which previously registered a
service, disconnects.
Just `service` and `method` are sent.
Related https://github.com/dart-lang/sdk/issues/30023
R=asiva@google.com , bkonyi@google.com
Review-Url: https://codereview.chromium.org/2980733003 .
2017-07-13 18:18:51 -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
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
Ben Konyi
5bf4fcee29
Added thread.dart and zone.dart to the observatory sources to resolve build issues.
...
BUG=
R=johnmccutchan@google.com
Review-Url: https://codereview.chromium.org/2583313002 .
2016-12-19 12:36:36 -08:00
Ben Konyi
f1de9b09d7
Revert "Added ability to request zone memory information for all isolates through the VM service and added tests."
...
This reverts commit 9622f1a2df .
BUG=
R=zra@google.com
Review-Url: https://codereview.chromium.org/2588083002 .
2016-12-19 10:31:29 -08:00
Ben Konyi
9622f1a2df
Added ability to request zone memory information for all isolates through the VM service and added tests.
...
BUG=
R=johnmccutchan@google.com , zra@google.com
Review-Url: https://codereview.chromium.org/2574643003 .
2016-12-19 10:08:19 -08: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
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
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
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
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
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
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
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
ba0f803fbe
Centralized event streams
...
R=turnidge@google.com
Review URL: https://codereview.chromium.org/2211603002 .
2016-08-04 17:11:16 -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
Carlo Bernaschina
e76ad0353b
Converted Observatory code-ref function-ref element
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2194383002 .
2016-08-01 17:23:21 -07:00
Carlo Bernaschina
445180ad41
Converted Observatory source-link & script-ref elements
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2180553002 .
2016-08-01 16:29:49 -07:00
Carlo Bernaschina
cb468c2c47
Converted Observatory vm-connect element
...
R=johnmccutchan@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org/2180803002 .
2016-07-27 13:43:38 -07:00
Carlo Bernaschina
61e34b244b
Converted Observatory nav-notify element
...
Still writing tests.
R=johnmccutchan@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org/2167053002 .
2016-07-24 12:54:04 -07:00
Carlo Bernaschina
a66cee26bd
Converted Observatory class-nav-menu element
...
R=johnmccutchan@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org/2165913004 .
2016-07-22 17:22:50 -07:00
Carlo Bernaschina
e71c000ce4
Converted Observatory vm-nav-menu element
...
R=johnmccutchan@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org/2170723002 .
2016-07-22 15:08:05 -07:00
Carlo Bernaschina
3ccc1f337f
Converted Observatory isolate-nav-menu element
...
R=johnmccutchan@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org/2168463004 .
2016-07-22 14:27:34 -07:00