| Index: runtime/bin/vmservice/client/lib/src/elements/isolate_view.html
|
| diff --git a/runtime/bin/vmservice/client/lib/src/elements/isolate_view.html b/runtime/bin/vmservice/client/lib/src/elements/isolate_view.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..209c73df7ce32468b7fe2d023c43851c35c7f4d4
|
| --- /dev/null
|
| +++ b/runtime/bin/vmservice/client/lib/src/elements/isolate_view.html
|
| @@ -0,0 +1,163 @@
|
| +<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'] }} {{ 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>
|
|
|