johnmccutchan@google.com
36a1740aa5
Make service lifecycle checks thread safe
...
RunLoop tests were getting wedged trying to communicate with the vm-isolate that was shutdown before a test isolate started up. dartbug.com/22219
This CL:
* ensures that any 'is the service running' checks are done with a lock held.
* Normalizes trace messages printed from the vm-service.
Review URL: https://codereview.chromium.org//871373012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43348 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-30 22:03:18 +00:00
johnmccutchan@google.com
172baa03ff
Service isolate rework take 2
...
Review URL: https://codereview.chromium.org//889443002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43306 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 18:31:27 +00:00
johnmccutchan@google.com
db271b0477
Revert r43217, r43215, r43208, r43207, and r43202.
...
Reverting because of some isolate spawn issues (on Windows, and pub bots).
Review URL: https://codereview.chromium.org//867113003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43219 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 22:56:18 +00:00
johnmccutchan@google.com
66aa470fc6
* Create vm-service isolate at Dart_Initialize time.
...
* Remove Service create callback.
* Simplify creation of service isolate.
* Creation is done on thread pool.
* Use vm-service isolate for loading in standalone embedder.
* Remove import of dart:io from builtin library.
performance changes:
no service isolate:
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | - 0]
always start service isolate (as a thread pool task):
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:45 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:44 | 100% | +12363 | - 0]
service does I/O (calls to Dart_LoadScript block until service is running):
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | - 0]
$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | - 0]
R=asiva@google.com
Review URL: https://codereview.chromium.org//584023004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43202 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 19:45:48 +00:00
koda@google.com
96576ad59e
vmservice: basic object graph serialization.
...
Sends a service event with binary data encoding the basic shape of the object graph; for each object, its:
* size
* class id
* neighbors (excluding smis and nulls)
This is a minimal implementation to make the first unit test pass (TDD).
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//773573005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42070 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 19:33:09 +00:00
johnmccutchan@google.com
435c6ad7ac
Reduce service isolate startup time from ~80ms to ~30ms
...
- Get access to dart:io internal signal listening function using API instead of mirrors.
- Service isolate can start with service deactivated.
- Load Observatory front end resources only when service activated.
- Do not execute Dart Service code until service is activated.
- Register live isolates when service is activated.
- Startup refactored to allow for future use of script snapshots.
R=asiva@google.com
Review URL: https://codereview.chromium.org//533073005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40124 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-10 22:38:33 +00:00
koda@google.com
5d5deec4e6
Optional binary payloads in VM service events.
...
Allow an event to send a binary blob in addition to its JSON message.
For testing, add _Echo event type that is triggered by an _echo/event request.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//474633002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39332 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-18 15:35:03 +00:00
koda@google.com
6312736130
Add a new event family for GC-related events, and generate an event after each garbage collection with basic stats.
...
One reason for this is to provide a structured alternative to the ad hoc logging format of --verbose_gc, and to move some functionality currently provided by standalone one-off scripts into the observatory.
Add first unit test for events.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//434763002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39014 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 23:52:18 +00:00
johnmccutchan@google.com
58a4356ef6
Dartium doesn't have a library tag handler installed in the service isolate. Allow for no embedder provided library tag handler so long as no imports need to be handled.
...
Fixes part of https://code.google.com/p/dart/issues/detail?id=20049
R=asiva@google.com
Review URL: https://codereview.chromium.org//391943003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38239 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 16:33:56 +00:00
iposva@google.com
5686b6a793
- Implement Isolate.pause and Isolate.resume.
...
- Implement a minimum Capability functionality.
R=asiva@google.com
Review URL: https://codereview.chromium.org//354763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37982 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-03 12:56:02 +00:00
turnidge@google.com
f849afc751
Add support for asynchronous event notification to the observatory.
...
Implement "isolate pause" notifications.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//340443006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37841 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-30 22:46:27 +00:00
turnidge@google.com
9c5c7040dc
Add a VM page to the observatory.
...
Make the VM a ServiceObject. Some refactoring in the ServiceObject
implementation.
IsolateList is no longer a ServiceObject. It should eventually become more like our caches.
Support the /vm request in the vm. Remove isolate list request.
Improvements to Isolate::PrintToJSONStream: always provide a
reasonable name. Use the same code to produce isolate refs and
non-refs.
Improve isolate status message when the isolate is paused at
start/exit. Add a resume link to the isolate view.
Add a navbar to the error page so that dartium users are less likely
to get stuck.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//206213004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34204 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-20 21:00:10 +00:00
johnmccutchan@google.com
2820a12766
Allow for embedder provided service request handlers
...
BUG=
R=turnidge@google.com
Review URL: https://codereview.chromium.org//170943003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32769 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-18 22:38:11 +00:00
turnidge@google.com
12f8555b19
Allow root level requests in the vm service.
...
Move /cpu to the root level.
Move PostReply to the command handlers. This will allow command
handlers to reply asynchronously (by delegating elsewhere) if they
need to.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//131973007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31849 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-15 20:45:39 +00:00
johnmccutchan@google.com
c76b6eb1c2
Split service into VM and embedder specific bits.
...
Move most service sources into the VM.
R=asiva@google.com
Review URL: https://codereview.chromium.org//125103004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31809 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-14 22:34:43 +00:00
iposva@google.com
1e8061f060
- Remove the reply_port from the VM internal message object.
...
- Adjust all the uses of this API.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//93873015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31205 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 21:11:18 +00:00
johnmccutchan@google.com
ea3a5cfb93
VM Service isolate listing
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19622003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25279 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 15:39:03 +00:00