blob: d56d00d4e82f70bcfdf5afafd2a7469c4be92153 [file] [log] [blame]
<head>
<link rel="import" href="observatory_element.html">
</head>
<polymer-element name="isolate-summary" extends="observatory-element">
<template>
<div class="row">
<div class="col-md-1">
<img src="img/isolate_icon.png" class="img-polaroid">
</div>
<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-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-2">
<a href="{{ app.locationManager.relativeLink(isolate.id, 'allocationprofile') }}">
{{ isolate.newHeapUsed | formatSize }}/{{ isolate.oldHeapUsed | formatSize }}
</a>
</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'] }} &nbsp; {{ 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>