Index: runtime/bin/vmservice/client/deployed/web/index_devtools.html |
diff --git a/runtime/bin/vmservice/client/deployed/web/index_devtools.html b/runtime/bin/vmservice/client/deployed/web/index_devtools.html |
index ad27465f3780364fe34d485abdedb98c45c747f3..dc46b0e80fc12bdacba902a7937fb2f35a7a988c 100644 |
--- a/runtime/bin/vmservice/client/deployed/web/index_devtools.html |
+++ b/runtime/bin/vmservice/client/deployed/web/index_devtools.html |
@@ -162,7 +162,7 @@ |
<polymer-element name="top-nav-menu"> |
<template> |
- <nav-menu link="#" anchor="Observatory" last="{{ last }}"> |
+ <nav-menu link="#/vm" anchor="Observatory" last="{{ last }}"> |
<content></content> |
</nav-menu> |
</template> |
@@ -729,6 +729,10 @@ |
</polymer-element><polymer-element name="error-view" extends="observatory-element"> |
<template> |
+ <nav-bar> |
+ <top-nav-menu last="{{ true }}"></top-nav-menu> |
+ </nav-bar> |
+ |
<div class="row"> |
<div class="col-md-8 col-md-offset-2"> |
<div class="panel panel-danger"> |
@@ -741,7 +745,8 @@ |
</div> |
</template> |
-</polymer-element><polymer-element name="field-view" extends="observatory-element"> |
+</polymer-element> |
+<polymer-element name="field-view" extends="observatory-element"> |
<template> |
<nav-bar> |
<top-nav-menu></top-nav-menu> |
@@ -887,7 +892,7 @@ |
<img src="img/isolate_icon.png" class="img-polaroid"> |
</div> |
- <div class="col-md-1">{{ isolate.vmName }}</div> |
+ <div class="col-md-1">{{ isolate.mainPort }}</div> |
<!-- TODO(turnidge): Use function-ref when it can take isolate param --> |
<div class="col-md-4"> |
@@ -907,27 +912,27 @@ |
<div class="col-md-2"> |
<div class="row"> |
- <div class="col-md-3">{{ isolate.timers['total'] | formatTime }}</div> |
+ <div class="col-md-5">{{ isolate.timers['total'] | formatTimePrecise }}</div> |
<div class="col-md-1"></div> |
<div class="col-md-3"><p class="text-muted">total</p></div> |
</div> |
<div class="row"> |
- <div class="col-md-3">{{ isolate.timers['dart'] | formatTime }}</div> |
+ <div class="col-md-5">{{ isolate.timers['dart'] | formatTimePrecise }}</div> |
<div class="col-md-1"></div> |
<div class="col-md-3"><p class="text-muted">dart</p></div> |
</div> |
<div class="row"> |
- <div class="col-md-3">{{ isolate.timers['compile'] | formatTime }}</div> |
+ <div class="col-md-5">{{ isolate.timers['compile'] | formatTimePrecise }}</div> |
<div class="col-md-1"></div> |
<div class="col-md-3"><p class="text-muted">compile</p></div> |
</div> |
<div class="row"> |
- <div class="col-md-3">{{ isolate.timers['gc'] | formatTime }}</div> |
+ <div class="col-md-5">{{ isolate.timers['gc'] | formatTimePrecise }}</div> |
<div class="col-md-1"></div> |
<div class="col-md-3"><p class="text-muted">gc</p></div> |
</div> |
<div class="row"> |
- <div class="col-md-3">{{ isolate.timers['init'] | formatTime }}</div> |
+ <div class="col-md-5">{{ isolate.timers['init'] | formatTimePrecise }}</div> |
<div class="col-md-1"></div> |
<div class="col-md-3"><p class="text-muted">init</p></div> |
</div> |
@@ -965,23 +970,6 @@ |
</template> |
</polymer-element> |
-<polymer-element name="isolate-list" extends="observatory-element"> |
- <template> |
- <nav-bar> |
- <top-nav-menu last="{{ true }}"></top-nav-menu> |
- <!-- TODO(turnidge): Why doesn't "this.refresh" work? --> |
- <nav-refresh callback="{{ refresh } }}"></nav-refresh> |
- </nav-bar> |
- <ul class="list-group"> |
- <template repeat="{{ isolate in isolates.isolates.values }}"> |
- <li class="list-group-item"> |
- <isolate-summary isolate="{{ isolate }}"></isolate-summary> |
- </li> |
- </template> |
- </ul> |
- </template> |
- |
-</polymer-element> |
<polymer-element name="isolate-view" extends="observatory-element"> |
<template> |
<style> |
@@ -1014,6 +1002,7 @@ |
<top-nav-menu></top-nav-menu> |
<isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}"> |
</isolate-nav-menu> |
+ <nav-refresh callback="{{ refresh }}"></nav-refresh> |
</nav-bar> |
<div class="content"> |
@@ -1022,16 +1011,31 @@ |
<div class="memberItem"> |
<div class="memberName">status</div> |
<div class="memberValue"> |
- <template if="{{ isolate.topFrame == null }}"> |
- <strong>idle</strong> |
+ <template if="{{ isolate.pausedOnStart }}"> |
+ <strong style="color:darkred;">paused</strong> @ isolate start |
+ <span style="padding-left:20px;"> |
+ [<a on-click="{{ resume }}">resume</a>] |
+ </span> |
+ </template> |
+ |
+ <template if="{{ isolate.pausedOnExit }}"> |
+ <strong style="color:darkred;">paused</strong> @ isolate exit |
+ <span style="padding-left:20px;"> |
+ [<a on-click="{{ resume }}">resume</a>] |
+ </span> |
</template> |
- <template if="{{ isolate.topFrame != null }}"> |
+ |
+ <template if="{{ isolate.running }}"> |
<strong>running</strong> |
@ |
<function-ref ref="{{ isolate.topFrame['function'] }}"> |
</function-ref> |
(<script-ref ref="{{ isolate.topFrame['script'] }}" line="{{ isolate.topFrame['line'] }}"></script-ref>) |
</template> |
+ |
+ <template if="{{ isolate.idle }}"> |
+ <strong>idle</strong> |
+ </template> |
</div> |
</div> |
</div> |
@@ -1064,7 +1068,7 @@ |
</div> |
<div class="memberItem"> |
<div class="memberName">id</div> |
- <div class="memberValue">{{ isolate.vmName }}</div> |
+ <div class="memberValue">{{ isolate.mainPort }}</div> |
</div> |
<br> |
<div class="memberItem"> |
@@ -1113,7 +1117,7 @@ |
<div class="memberList"> |
<div class="memberItem"> |
<div class="memberValue"> |
- See <a href="{{ isolate.relativeHashLink('allocationprofile') }}">heap profile</a> |
+ See <a href="{{ isolate.relativeHashLink('allocationprofile') }}">allocation profile</a> |
</div> |
</div> |
<div class="memberItem"> |
@@ -1777,6 +1781,65 @@ |
</template> |
</polymer-element> |
+<polymer-element name="vm-view" extends="observatory-element"> |
+ <template> |
+ <style> |
+ .content { |
+ padding-left: 10%; |
+ font: 400 14px 'Montserrat', sans-serif; |
+ } |
+ h1 { |
+ font: 400 18px 'Montserrat', sans-serif; |
+ } |
+ .memberList { |
+ display: table; |
+ } |
+ .memberItem { |
+ display: table-row; |
+ } |
+ .memberName, .memberValue { |
+ display: table-cell; |
+ vertical-align: top; |
+ padding: 3px 0 3px 1em; |
+ font: 400 14px 'Montserrat', sans-serif; |
+ } |
+ .sourceInset { |
+ padding-left: 15%; |
+ padding-right: 15%; |
+ } |
+ </style> |
+ |
+ <nav-bar> |
+ <top-nav-menu last="{{ true }}"></top-nav-menu> |
+ <nav-refresh callback="{{ refresh }}"></nav-refresh> |
+ </nav-bar> |
+ |
+ <div class="content"> |
+ <h1>VM</h1> |
+ <div class="memberList"> |
+ <div class="memberItem"> |
+ <div class="memberName">version</div> |
+ <div class="memberValue">{{ vm.version }}</div> |
+ </div> |
+ <div class="memberItem"> |
+ <div class="memberName">uptime</div> |
+ <div class="memberValue">{{ vm.uptime | formatTime }}</div> |
+ </div> |
+ </div> |
+ </div> |
+ |
+ <br> |
+ |
+ <ul class="list-group"> |
+ <template repeat="{{ isolate in vm.allIsolates }}"> |
+ <li class="list-group-item"> |
+ <isolate-summary isolate="{{ isolate }}"></isolate-summary> |
+ </li> |
+ </template> |
+ </ul> |
+ </template> |
+ |
+</polymer-element> |
<polymer-element name="service-view" extends="observatory-element"> |
<!-- This element explicitly manages the child elements to avoid setting |
an observable property on the old element to an invalid type. --> |
@@ -1793,6 +1856,12 @@ |
</template> |
</polymer-element> |
+<polymer-element name="vm-ref" extends="service-ref"> |
+<template> |
+ <a href="{{ url }}">{{ ref.name }}</a> |
+</template> |
+ |
+</polymer-element> |
<observatory-application devtools="true"></observatory-application> |