blob: c58b43f962a83fbfad0cd41f977a4c9739e28cb0 [file] [log] [blame]
<head>
<link rel="import" href="function_ref.html">
<link rel="import" href="isolate_ref.html">
<link rel="import" href="observatory_element.html">
<link rel="import" href="script_inset.html">
<link rel="import" href="script_ref.html">
</head>
<polymer-element name="isolate-summary" extends="observatory-element">
<template>
<link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css">
<style>
.counters {
display: flex;
flex-direction: row;
justify-content: center;
}
.counter {
margin: 10px;
}
</style>
<div class="flex-row">
<div class="flex-item-fixed-1-12"><img src="packages/observatory/src/elements/img/isolate_icon.png"></div>
<div class="flex-item-fixed-1-12">{{ isolate.mainPort }}</div>
<div class="flex-item-fixed-4-12">
<div class="flex-row">
<isolate-ref ref="{{ isolate }}"></isolate-ref>
</div>
<div class="flex-row">
<small>
(<a href="{{ isolate.rootLib.hashLink }}">library</a>)
(<a href="{{ isolate.relativeHashLink('debug/breakpoints') }}">breakpoints</a>)
(<a href="{{ isolate.relativeHashLink('profile') }}">profile</a>)
</small>
</div>
</div>
<div class="flex-item-fixed-2-12">
<a href="{{ isolate.relativeHashLink('allocationprofile') }}">
{{ isolate.newHeapUsed | formatSize }}/{{ isolate.oldHeapUsed | formatSize }}
</a>
( <a href="{{ isolate.relativeHashLink('heapmap') }}">map</a> )
</div>
<div class="flex-item-fixed-2-12">
<template if="{{ isolate.topFrame == null }}">
idle
</template>
<template if="{{ isolate.topFrame != null }}">
run
</template>
( <a href="{{ isolate.relativeHashLink('stacktrace') }}">stack trace</a> )
</div>
</div>
<div class="counters">
<template repeat="{{ key in isolate.counters.keys }}">
<div class="counter">{{ key }} ({{ isolate.counters[key] }})</div>
</template>
</div>
<template if="{{ isolate.topFrame != null }}">
<script-inset script="{{ isolate.topFrame['script'] }}"
pos="{{ isolate.topFrame['tokenPos'] }}">
<function-ref ref="{{ isolate.topFrame['function'] }}"></function-ref>
(<script-ref ref="{{ isolate.topFrame['script'] }}"
pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
</script-inset>
</template>
</template>
<script type="application/dart" src="isolate_summary.dart"></script>
</polymer-element>