Commit Graph

30 Commits

Author SHA1 Message Date
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
Jason Simmons eeb7a92b21 Pass the authentication code when fetching timeline and CPU profile data
See https://github.com/flutter/flutter/issues/31565

Change-Id: I0e84df9539a8b25776b510148a7583294cf90c1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100521
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-04-25 15:49:51 +00:00
Ben Konyi 2028006a25 [Observatory] Updated Dart icon to new colour scheme
Change-Id: I8565e23df3b6945f424b7d3979787b290dfc3d7a
Reviewed-on: https://dart-review.googlesource.com/c/70742
Auto-Submit: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-01-16 22:14:51 +00:00
Ryan Macnak 65a3c4443b [observatory] Update packages and remove dead dependencies.
Change-Id: I6dbf547e30a6be9a303d7fc08c9f4c024164334e
Reviewed-on: https://dart-review.googlesource.com/62200
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-25 22:09:54 +00:00
asiva c1432bf7a3 [observatory] Remove references to pkg:browser from web/index.html
Updated version of dart-lang/observatory_pub_packages in DEPS

Updated generated pubspec.yaml file after removing web_components from
third_party/observatory_pub_packages

This should fix part of issue https://github.com/dart-lang/sdk/issues/32539

Bug: 32539
Change-Id: I3d48fd59f1fedc9d64a652cde7d0229c0a7ace28
Reviewed-on: https://dart-review.googlesource.com/48804
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2018-03-30 21:13:52 +00:00
Ryan Macnak 2108fb25f8 [observatory] Omit VM and User tags and the trie root from profile data added to the timeline.
I.e., no "Dart", "Native", "Default", "Root", etc.

Change-Id: Id1a1b70934daca7f43c9657bd9fa4d3f779067a9
Reviewed-on: https://dart-review.googlesource.com/35800
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-01-19 21:39:36 +00:00
Carlo Bernaschina 62045a4590 Add Logical Frame View to Timeline Dashboard
This version of the Timeline allows the developer to see a logical
view over the operations involved in each frame.
Events are grouped by frame and shifted accordingly to avoid to have
overlapped frame.

See runtime/observatory/web/timeline.js for the undestrand the steps
involded in the process.

Change-Id: I3980a3278a32fe69ed70db07cfa7189dc0c9a643
Reviewed-on: https://dart-review.googlesource.com/5603
Commit-Queue: Carlo Bernaschina <cbernaschina@google.com>
Reviewed-by: Todd Turnidge <turnidge@google.com>
2017-09-14 23:53:57 +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
Ryan Macnak c301c62b1f Avoid error in Observatory about trying to load file not included in the Observatory assets.
Related to issue #29577

R=zra@google.com

Review-Url: https://codereview.chromium.org/2870713002 .
2017-05-08 14:00:11 -07:00
John McCutchan 7fca076fbb Use dartfmt on Observatory code
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2345023003 .
2016-09-16 06:59:51 -07:00
John McCutchan ce8d0653da Improve async stack traces in Observatory
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2333923007 .
2016-09-15 13:44:51 -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 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 3ebcc9fdd5 Added custom tags helper classes to the Observatory
R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2154343002 .
2016-07-18 11:08:32 -07:00
John McCutchan db07faaa8c Improve Observatory Timeline UI
- [x] Remove Stop / Start buttons and replace with fine grained category control.
- [x] Restrict the cpu profile to the time span of the timeline.
- [x] Display recorder name.
- [x] Show a popup when fetching the timeline from the VM.
- [x] Show a popup when fetching the cpu profile(s) from the VM.

Fixes #26401
Fixes #26394

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1972523003 .
2016-05-12 07:16:19 -07:00
John McCutchan 29225365fd Automatically fetch timeline when timeline page is loaded
R=asiva@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/1847043003 .
2016-03-31 11:03:14 -07:00
John McCutchan bb70592aa0 Update trace-viewer to a154c2f5e4ee5e7bafa82340a69b3cd32047de8c
BUG=

Review URL: https://codereview.chromium.org/1834223010 .
2016-03-31 10:07:53 -07:00
Ryan Macnak 366f1f1ed1 Collect samples for background threads.
- Don't tick vm tags for background threads so the Observatory's summary pie chart reflects how the mutator spent its time.
 - Similarly, don't factor background samples in the CPU profile view.
 - Do include background samples in the timeline view.

Use a different event name for background compilations.

Add timeline events for the mark and sweep tasks.

Reload the isolate list when refreshing the timeline view so it includes profile ticks when the page is loading directly (e.g., F5) instead of only after visiting the vm page.

Fix loading the timeline when profiling is disabled.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1814813003 .
2016-03-18 10:18:38 -07:00
John McCutchan b39b2c8cfb Add ability to save and load timelines from Observatory
Fixes #25180

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1722373002 .
2016-02-24 09:12:30 -08:00
Ryan Macnak a0e0ac78cb Observatory: Include profiler samples in the timeline view.
- Add pre-isolate service RPC that emits profiler samples in about:tracing format.
 - Make timeline UI automatically merge the event timeline with the sample timelines.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1525913002 .
2015-12-16 10:11:44 -08:00
John McCutchan 43b0ae00e7 Timeline service protocol support with Observatory UI
Service Protocol:
- _clearVMTimeline (clear timeline)
- _getVMTimeline (fetch timeline)
- _setVMTimelineFlag (control recording)
- _getVMTimelineFlag (...)
- _getVMTimeline service unit test

Observatory:
- timeline page with record on/off, clear timeline, and refresh buttons.
- trace-viewer based timeline view that runs in an iframe driven by a small javascript program

Misc:
- Fix default enable logic bugs
- Add 'Debugger Pause' timeline event
- Threads can have a name and that name will be displayed in Observatory
- Tighten up locking when printing JSON

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1406413006 .
2015-11-10 08:02:22 -08:00
John McCutchan 95513b0a1d Switch from Google charts to Charted
R=turnidge@google.com

Review URL: https://codereview.chromium.org//1310153002 .
2015-09-29 12:59:05 -07:00
John McCutchan 851ef4a4af Ports page for isolates
Per isolate list of open ports and their handler

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1189543003.
2015-06-18 10:24:28 -07:00
johnmccutchan@google.com 1c16abecf7 Fix breakage due to package upgrades
Paired with https://codereview.chromium.org/1129463003/

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45567 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 14:53:12 +00:00
johnmccutchan@google.com 583f48a132 Add crash dumps to service protocol and Observatory
- Add _getCrashDump RPC
- crash dump service response is map of request uris to responses, includes:
  -- getVM
  -- getFlagList
  -- for each isolate:
      -- getIsolate
      -- _getAllocationProfile
      -- getStack
- Add FakeVM to service library
- Add load crash dump to Observatory connect page
- Removes old chromium target support from connect page
- Make debugger page display stack even if libraries can't be loaded
- Fix reload of vm-connect page
- Fix polymer initialization calls

R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45390 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 00:08:07 +00:00
johnmccutchan@google.com 7794b4a71e Small refactor of pages
BUG=
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43408 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 17:11:23 +00:00
johnmccutchan@google.com 4b1c7f2de8 Remove unnecessary polyfill script include
BUG=
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42665 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 16:39:02 +00:00
johnmccutchan@google.com 261200c587 Build Observatory as part of runtime
Relanding https://codereview.chromium.org/810623005/

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42645 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 21:59:42 +00:00
whesse@google.com aa5a986d5d Revert "Build Observatory with runtime"
This reverts commit 76df7b3c1bf83c08d3994d61df4c9c530fadb4e5.
This commit breaks dartium compilation.

BUG=
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42619 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 10:07:58 +00:00
johnmccutchan@google.com 9d6ac72b46 1) Remove prebuilt Observatory sources
2) Move observatory from runtime/bin/vmservice/observatory to runtime/observatory

3) Add two tools scripts:
- tools/run_pub.py (runs pub before SDK is built)
- tools/obs_tool.py (helper for get, build, and deploy stages)

4) Build Observatory with runtime:
- pub get --offline
- pub build
- deploy

5) Build artifacts are now in standard output directory, for example, out/DebugIA32/observatory.

6) Add a new 'dart_boostrap' host target (no snapshot, no observatory) that can be used as the Dart executable to run pub when building Observatory. This is behind a build.py flag --use-bootstrap-for-observatory because:

- It is only necessary on older Linux distributions that are incompatible with the prebuilt Dart testing executable.
- running pub build with the boostrap Debug build is significantly slower.

7) Detect if the prebuilt executable doesn't work and automatically switch to the 'dart_bootstrap' executable. Also, warn the user and provide a Wiki link with more information.

R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42614 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 21:26:52 +00:00