Index: runtime/bin/vmservice/client/lib/src/observatory_elements/isolate_summary.html |
=================================================================== |
--- runtime/bin/vmservice/client/lib/src/observatory_elements/isolate_summary.html (revision 32126) |
+++ runtime/bin/vmservice/client/lib/src/observatory_elements/isolate_summary.html (working copy) |
@@ -3,32 +3,97 @@ |
</head> |
<polymer-element name="isolate-summary" extends="observatory-element"> |
<template> |
- <div class="row"> |
- <div class="col-md-1"> |
+ <div class="row"> |
+ <div class="col-md-1"> |
<img src="img/isolate_icon.png" class="img-polaroid"> |
- </div> |
- <div class="col-md-1">{{ isolate }}</div> |
- <div class="col-md-10">{{ name }}</div> |
- </div> |
- <div class="row"> |
- <div class="col-md-2"></div> |
- <div class="col-md-1"> |
- <a href="{{ app.locationManager.relativeLink(isolate, 'stacktrace') }}">Stacktrace</a> |
- </div> |
- <div class="col-md-1"> |
- <a href="{{ app.locationManager.relativeLink(isolate, 'library') }}">Library</a> |
</div> |
- <div class="col-md-1"> |
- <a href="{{ app.locationManager.relativeLink(isolate, 'debug/breakpoints') }}">Breakpoints</a> |
+ |
+ <div class="col-md-1">{{ isolate.name }}</div> |
+ |
+ <!-- TODO(turnidge): Use function-ref when it can take isolate param --> |
+ <div class="col-md-4"> |
+ |
+ <div class="row"> |
+ <template if="{{ isolate.entry['id'] != null }}"> |
+ <a href="{{ app.locationManager.relativeLink(isolate.id, isolate.entry['id']) }}"> |
+ {{ isolate.entry['name'] }} |
+ </a> |
+ </template> |
+ <template if="{{ isolate.entry['id'] == null }}"> |
+ <!-- fred --> |
+ root isolate |
+ </template> |
+ </div> |
+ |
+ <div class="row"> |
+ <small> |
+ (<a href="{{ app.locationManager.relativeLink(isolate.id, isolate.rootLib) }}">library</a>) |
+ (<a href="{{ app.locationManager.relativeLink(isolate.id, 'debug/breakpoints') }}">breakpoints</a>) |
+ (<a href="{{ app.locationManager.relativeLink(isolate.id, 'profile') }}">profile</a>) |
+ </small> |
+ </div> |
</div> |
- <div class="col-md-1"> |
- <a href="{{ app.locationManager.relativeLink(isolate, 'profile') }}">Profile</a> |
+ |
+ <div class="col-md-2"> |
+ <div class="row"> |
+ <div class="col-md-3">{{ isolate.timers['total'] | formatTime }}</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-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-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-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-1"></div> |
+ <div class="col-md-3"><p class="text-muted">init</p></div> |
+ </div> |
</div> |
- <div class="col-md-1"> |
- <a href="{{ app.locationManager.relativeLink(isolate, 'allocationprofile') }}">Allocation Profile</a> |
+ <div class="col-md-2"> |
+ <a href="{{ app.locationManager.relativeLink(isolate.id, 'allocationprofile') }}"> |
+ {{ isolate.newHeapUsed | formatSize }}/{{ isolate.oldHeapUsed | formatSize }} |
+ </a> |
</div> |
- <div class="col-md-8"></div> |
+ <div class="col-md-2"> |
+ <template if="{{ isolate.topFrame == null }}"> |
+ idle |
+ </template> |
+ <template if="{{ isolate.topFrame != null }}"> |
+ run |
+ </template> |
+ ( <a href="{{ app.locationManager.relativeLink(isolate.id, 'stacktrace') }}">stack trace</a> ) |
+ </div> |
</div> |
+ <div class="row"> |
+ <div class="col-md-3"> |
+ </div> |
+ <div class="col-md-6"> |
+ <template if="{{ isolate.topFrame != null }}"> |
+ <a href="{{ app.locationManager.relativeLink(isolate.id, isolate.topFrame['function']['id']) }}"> |
+ {{ isolate.topFrame['function']['user_name'] }} |
+ </a> |
+ (<a href="{{ app.locationManager.relativeLink(isolate.id, isolate.topFrame['script']['id']) }}"> |
+ {{ isolate.topFrame | fileAndLine }} |
+ </a>) |
+ <br> |
+ <pre>{{ isolate.topFrame['line'] }} {{ isolate.topFrame['lineString'] }}</pre> |
+ </template> |
+ </div> |
+ <div class="col-md-3"> |
+ </div> |
+ </div> |
</template> |
<script type="application/dart" src="isolate_summary.dart"></script> |
</polymer-element> |