Commit Graph

494 Commits

Author SHA1 Message Date
johnmccutchan@google.com 182fcd0921 Add isolate tag-profile model and UI.
Distinction between a Dart Error and a ServiceError/ServiceException.
Better Observatory behaviour when a ServiceError/ServiceExceptions occurs.
Display isolate's sticky error.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//205713004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34377 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-25 18:09:02 +00:00
koda@google.com c1437c3673 Add 'address' vm service message that finds heap objects.
Will be used to navigate from heap map to individual objects.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//206583003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34206 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-20 21:08:24 +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
koda@google.com 9a8671276b Add class and address information to heap map; display on hover.
Display a string like "String @ 0xe97c3328" while hovering over the map.

Also add page separators (black).

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//204103009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34195 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-20 18:56:45 +00:00
regis@google.com fe667b6d9a Support displaying of types in the observatory (back-end only for now):
- canonical type arguments cached in the global hash table
- subset of the above, but with cached instantiations
- canonical types cached by the type class

And of course, it should now be possible to display any type, e.g.
field types, function signature types, classes super types, interface types,
etc...

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//184653003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34181 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-20 16:41:59 +00:00
johnmccutchan@google.com 95b2427f6f Support wedging isolates before startup or before exit.
R=turnidge@google.com

Review URL: https://codereview.chromium.org//204003002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34079 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-18 23:32:36 +00:00
johnmccutchan@google.com 6952f5ddfe Use VM tag in profile and add stack trace trie
R=asiva@google.com, turnidge@google.com

Review URL: https://codereview.chromium.org//201213004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34064 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-18 21:20:41 +00:00
turnidge@google.com 7fbb7cd5dc Rework library and class view pages.
Add expression evaluation support for libraries and classes.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//199363002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33755 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-17 17:43:07 +00:00
johnmccutchan@google.com 6ea46abd34 Create a shadow table to track CodeRegions of reused code address space.
R=asiva@google.com, turnidge@google.com

Review URL: https://codereview.chromium.org//197803004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33665 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-13 21:00:44 +00:00
koda@google.com c62fcdf3c4 Heap maps: add VM service message.
A heap map is serialized as arrays of sizes + class ids:

{"type":"HeapMap","id":"heapmap","pages":[[15,2,10,3,...,100,0],...,]}

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//197663006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33608 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-12 20:46:09 +00:00
turnidge@google.com a73703b08a Improve the instance-view page in observatory.
Add an eval-box element which is used to evaluate expressions.

Support expression evaluation for instances in the vm service.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//194623006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33592 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-12 17:18:14 +00:00
johnmccutchan@google.com 6edd276df8 Switch Observatory to use only ServiceObject instances.
All fetched objects are upgraded to a ServiceObject.
ServiceObjectCache.
Uniform updating / refreshing.
Fix UTF8 string escaping in TextBuffer (should fix invalid character bug https://code.google.com/p/dart/issues/detail?id=16590)

R=turnidge@google.com

Review URL: https://codereview.chromium.org//192443004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33541 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-11 17:48:09 +00:00
turnidge@google.com 058510ebd0 Handle collected objects and expired handles more gracefully.
Prints <collected> or <expired>.

Added tooltips to explain these to users.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//177473004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33386 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-06 17:38:16 +00:00
johnmccutchan@google.com 97fe225e63 Display sample count and refresh time.
Fix some uninitialized variables.
Don't send disassembly by default.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//185563013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33380 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-06 16:48:49 +00:00
asiva@google.com a01ab16991 1. When reading a full snapshot use the class id from the snapshot instead
of generating a new one. This ensures that assumptions made about the
   class id when generating a snapshot will still hold in the version that
   runs from a snapshot.

2. remove ObjectHistogram code as it is not used anymore and has been replaced
   by VM service.

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

Review URL: https://codereview.chromium.org//187133004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33340 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-05 19:24:02 +00:00
johnmccutchan@google.com 0f79171efb Add user resetable accumulator to allocation profiler.
Display aggregate of new and old space in a separate table.
Speed up display of tables by 10x.
Fix heap display bug (heap stats were always for new space).
Keep sort across refreshes.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//173013004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33220 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-03 15:39:06 +00:00
johnmccutchan@google.com e9e54f6af6 Cleanup native, collected, and stub code handling in profiler
R=iposva@google.com, turnidge@google.com

Review URL: https://codereview.chromium.org//182703003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33177 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-28 22:55:53 +00:00
johnmccutchan@google.com 7aefd3e945 Add flag to pin and service command to release isolates
BUG=

Review URL: https://codereview.chromium.org//181503006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33125 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-27 18:14:51 +00:00
zra@google.com fd366da1cf Updates refactoring of CPU feature detection
with fix that uses cpuid for Intel/Linux.

R=asiva@google.com

Review URL: https://codereview.chromium.org//136303012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32980 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-24 19:28:30 +00:00
fschneider@google.com 16857e0b13 Revert r32930 (Add more timing information in the VM to track time...)
It caused severe performance regressions that should be addressed.

TBR=asiva@google.com

Review URL: https://codereview.chromium.org//177733002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32959 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-24 12:15:55 +00:00
asiva@google.com 6d313d3797 Add more timing information in the VM to track time spent is dart code Vs native code.
R=johnmccutchan@google.com, turnidge@google.com

Review URL: https://codereview.chromium.org//137483010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32930 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-21 21:30:29 +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 7d4b415fe3 Improved how closures are displayed by <instance-ref>.
Make <optimized out> look a bit nicer.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//167713002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32760 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-18 19:45:36 +00:00
johnmccutchan@google.com 1baf2b8e16 Trace VM service requests
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org//164503002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32751 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-18 17:50:26 +00:00
zra@google.com 3693beeb6b Reverts refactoring of CPU feature detection for
assertion failure in Dartium.

R=asiva@google.com

Review URL: https://codereview.chromium.org//142663004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32560 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-11 16:05:43 +00:00
zra@google.com 6f2096face Refactors some CPU feature detection into new class CpuInfo, and uses new information in VM service.
This change rewrites the code from the ARM assembler for parsing /proc/cpuinfo on Linux and Android, and collects it into a CpuInfo class that can be used for other architectures as well. This code is in cpuinfo_*.cc. /proc/cpuinfo equivalents are used for Mac and Windows. CpuInfo is used by the VM service to report on the hardware dart is running on. In the future CpuInfo can also be used here to provide more information.

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

Review URL: https://codereview.chromium.org//120723003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32468 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-08 22:27:27 +00:00
turnidge@google.com b891e78325 Post-meetup feature extravaganza.
Remodel the top-level isolate summary page.

Add variables to stack frames in the stack trace.

Stop putting small integers and bools in the object id ring.

Rework how we pass down null references (and null-like references like
uninitialized values).

Collect all isolate timers by default.

Change the lifetime of IsolateSpawnState so that we can refer to it
later to know how an isolate started up.  Stop pretending that
IsolateSpawnState is a void*.  Clean up vestigial IsolateStartData.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//145323002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32128 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-29 18:40:12 +00:00
johnmccutchan@google.com 9ca09b50e7 Track live instance and allocation counts for classes.
R=iposva@google.com

Review URL: https://codereview.chromium.org//51653006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31978 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-22 19:21:22 +00:00
johnmccutchan@google.com a6399981e6 Code coverage in Observatory
R=turnidge@google.com

Review URL: https://codereview.chromium.org//143973005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31970 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-22 00:46:30 +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
johnmccutchan@google.com 7da1f4f3ba Build map of code regions and address ticks for profile report.
Profile pauses should be less than 500 ms even when handling 120,000 samples (2 minutes @ 1000 hz).
Code objects are referenced by hex address: "code/cafebabe".
Test for retrieving code objects over the service.
Remove old profile tool scripts. Replaced by dprof (https://github.com/dart-lang/dprof) and Observatory UI for profiler.
Support for stable service refs to implicit closures and dispatcher functions.

R=srdjan@google.com

Review URL: https://codereview.chromium.org//100103011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31447 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-03 19:55:50 +00:00
johnmccutchan@google.com 727d29d6b6 Refactor VM service IDs:
- IDs are strings which can be concatenated together like paths.
- Isolate ID is now "/isolates/XXX"
- Function, field, class, library, and script IDs are now stable.
- Introduce <type-ref> tags.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//98253009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31358 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 22:35:55 +00:00
turnidge@google.com b640712e6b Handle vmservice messages while at breakpoint.
Allow rudimentary inspection of breakpoints from vmservice.

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

Review URL: https://codereview.chromium.org//113513004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31233 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 17:45:17 +00:00
zra@google.com aa4c080b5c Adds CPU message type to vm service.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//98253007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31209 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 22:22:12 +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 c86bdc5bcf Expose field data, use class id, and merge all collections into "objects"
R=asiva@google.com

Review URL: https://codereview.chromium.org//24075002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27684 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-20 00:59:42 +00:00
iposva@google.com 52a736ee38 - Disallow copy constructors.
Review URL: https://codereview.chromium.org//23903034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27346 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-10 17:47:55 +00:00
iposva@google.com 74b2a34d5b - Base JSON stream printing on stack objects.
- Simplify creation of a JSONStream.

- Add experimental coverage output to the VM.

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

Review URL: https://codereview.chromium.org//23875015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27344 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-10 17:21:59 +00:00
hausner@google.com 8e9139da08 Fix debugger stack traces
This change fixes the lookup of exception handlers that are
contained in activation frames that are not user-visible
(e.g. frames in dart library code).

Fixes issue 12318 (https://code.google.com/p/dart/issues/detail?id=12318)

R=srdjan@google.com

Review URL: https://codereview.chromium.org//23000011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26445 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-21 17:22:30 +00:00
johnmccutchan@google.com f91c0967ef Expose classes, codes, functions, and libraries collections.
R=iposva@google.com

Review URL: https://codereview.chromium.org//22297008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25900 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 20:35:37 +00:00
johnmccutchan@google.com 631b2d3773 Expose arguments and options to handlers through JSONStream
R=asiva@google.com

Review URL: https://codereview.chromium.org//22238002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25814 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-06 14:46:20 +00:00
johnmccutchan@google.com 97ef50a1b2 Support stacktrace and objecthistogram service commands
R=asiva@google.com

Review URL: https://codereview.chromium.org//19870006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25726 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-02 00:24:09 +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