blob: 209c73df7ce32468b7fe2d023c43851c35c7f4d4 [file] [log] [blame]
<head>
<link rel="import" href="curly_block.html">
<link rel="import" href="eval_box.html">
<link rel="import" href="function_ref.html">
<link rel="import" href="library_ref.html">
<link rel="import" href="nav_bar.html">
<link rel="import" href="observatory_element.html">
<link rel="import" href="script_ref.html">
</head>
<polymer-element name="isolate-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></top-nav-menu>
<isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}">
</isolate-nav-menu>
</nav-bar>
<div class="content">
<h1>isolate '{{ isolate.name }}'</h1>
<div class="memberList">
<div class="memberItem">
<div class="memberName">status</div>
<div class="memberValue">
<template if="{{ isolate.topFrame == null }}">
<strong>idle</strong>
</template>
<template if="{{ isolate.topFrame != null }}">
<strong>running</strong>
@
<function-ref ref="{{ isolate.topFrame['function'] }}">
</function-ref>
(<script-ref ref="{{ isolate.topFrame['script'] }}"
line="{{ isolate.topFrame['line'] }}"></script-ref>)
</template>
</div>
</div>
</div>
</div>
<template if="{{ isolate.topFrame != null }}">
<br>
<div class="sourceInset">
<pre>
{{ isolate.topFrame['line'] }} &nbsp; {{ isolate.topFrame['lineString'] }}</pre>
</div>
</template>
<br>
<div class="content">
<div class="memberList">
<div class="memberItem">
<div class="memberName">root library</div>
<div class="memberValue">
<function-ref ref="{{ isolate.rootLib }}"></function-ref>
</div>
</div>
<div class="memberItem">
<template if="{{ isolate.entry != null }}">
<div class="memberName">entry</div>
<div class="memberValue">
<function-ref ref="{{ isolate.entry }}"></function-ref>
</div>
</template>
</div>
<div class="memberItem">
<div class="memberName">id</div>
<div class="memberValue">{{ isolate.vmName }}</div>
</div>
<br>
<div class="memberItem">
<div class="memberValue">
See <a href="{{ isolate.relativeHashLink('stacktrace') }}">stack trace</a>
</div>
</div>
<div class="memberItem">
<div class="memberValue">
See <a href="{{ isolate.relativeHashLink('profile') }}">cpu profile</a>
</div>
</div>
<div class="memberItem">
<div class="memberValue">
See <a href="{{ isolate.relativeHashLink('debug/breakpoints') }}">breakpoints</a>
</div>
</div>
</div>
</div>
<hr>
<div class="content">
<div class="memberList">
<div class="memberItem">
<div class="memberName">new heap</div>
<div class="memberValue">
{{ isolate.newHeapUsed | formatSize }}
of
{{ isolate.newHeapCapacity | formatSize }}
</div>
</div>
<div class="memberItem">
<div class="memberName">old heap</div>
<div class="memberValue">
{{ isolate.oldHeapUsed | formatSize }}
of
{{ isolate.oldHeapCapacity | formatSize }}
</div>
</div>
</div>
<br>
<div class="memberList">
<div class="memberItem">
<div class="memberValue">
See <a href="{{ isolate.relativeHashLink('allocationprofile') }}">heap profile</a>
</div>
</div>
<div class="memberItem">
<div class="memberValue">
See <a href="{{ isolate.relativeHashLink('heapmap') }}">heap map</a>
</div>
</div>
</div>
</div>
<hr>
<div class="content">
<eval-box callback="{{ eval }}"></eval-box>
</div>
<br><br><br><br>
<br><br><br><br>
</template>
<script type="application/dart" src="isolate_view.dart"></script>
</polymer-element>