| Index: runtime/bin/vmservice/client/deployed/web/index_devtools.html
|
| diff --git a/runtime/bin/vmservice/client/deployed/web/index_devtools.html b/runtime/bin/vmservice/client/deployed/web/index_devtools.html
|
| index 6fbc01e0ffb09487bf3735cc0617bafdaf1fe635..69f642ccc7f3503c3cb5096106fe233357a29ee6 100644
|
| --- a/runtime/bin/vmservice/client/deployed/web/index_devtools.html
|
| +++ b/runtime/bin/vmservice/client/deployed/web/index_devtools.html
|
| @@ -10,7 +10,156 @@
|
| <script src="index_devtools.html_bootstrap.dart.js"></script>
|
|
|
| </head>
|
| -<body><polymer-element name="observatory-element">
|
| +<body><polymer-element name="curly-block">
|
| + <template>
|
| + <style>
|
| + .idle {
|
| + display: inline-block;
|
| + color: #0489c3;
|
| + cursor: pointer;
|
| + }
|
| + .busy {
|
| + display: inline-block;
|
| + color: white;
|
| + cursor: wait;
|
| + }
|
| + </style>
|
| + <template if="{{ expanded }}">
|
| + <template if="{{ busy }}">
|
| + {<div class="busy"> ⊟ </div>
|
| + <br>
|
| + <content></content>
|
| + }
|
| + </template>
|
| + <template if="{{ !busy }}">
|
| + {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊟ </div></a>
|
| + <br>
|
| + <content></content>
|
| + }
|
| + </template>
|
| + </template>
|
| +
|
| + <template if="{{ !expanded }}">
|
| + <template if="{{ busy }}">
|
| + {<div class="busy"> ⊞ </div>}
|
| + </template>
|
| + <template if="{{ !busy }}">
|
| + {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊞ </div></a>}
|
| + </template>
|
| + </template>
|
| + </template>
|
| +
|
| +</polymer-element>
|
| +<polymer-element name="observatory-element">
|
| +
|
| +</polymer-element>
|
| +<polymer-element name="service-ref" extends="observatory-element">
|
| +
|
| +</polymer-element><polymer-element name="instance-ref" extends="service-ref">
|
| + <template>
|
| + <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css">
|
| + <style>
|
| + .errorBox {
|
| + background-color: #f5f5f5;
|
| + border: 1px solid #ccc;
|
| + padding: 10px;
|
| + font-family: consolas, courier, monospace;
|
| + font-size: 1em;
|
| + line-height: 1.2em;
|
| + white-space: pre;
|
| + }
|
| + </style>
|
| + <span>
|
| + <template if="{{ isError(ref.serviceType) }}">
|
| + <pre class="errorBox">{{ ref.message }}</pre>
|
| + </template>
|
| +
|
| + <template if="{{ isUnexpected(ref.serviceType) }}">
|
| + unexpected reference type <{{ ref.serviceType }}>
|
| + </template>
|
| +
|
| + <template if="{{ isNull(ref.serviceType) }}">
|
| + <div title="{{ hoverText }}">{{ ref['valueAsString'] }}</div>
|
| + </template>
|
| +
|
| + <template if="{{ (isString(ref.serviceType) ||
|
| + isBool(ref.serviceType) ||
|
| + isInt(ref.serviceType)) ||
|
| + isDouble(ref.serviceType)) }}">
|
| + <a href="{{ url }}">{{ ref['valueAsString'] }}</a>
|
| + </template>
|
| +
|
| + <template if="{{ (isType(ref.serviceType)) }}">
|
| + <a href="{{ url }}">{{ ref['user_name'] }}</a>
|
| + </template>
|
| +
|
| + <template if="{{ isInstance(ref.serviceType) &&
|
| + ref['closureFunc'] != null}}">
|
| + <a href="{{ url }}">
|
| + <!-- TODO(turnidge): Switch this to fully-qualified function -->
|
| + {{ ref['closureFunc']['user_name'] }}
|
| + </a>
|
| + </template>
|
| +
|
| + <template if="{{ isInstance(ref.serviceType) &&
|
| + ref['closureFunc'] == null}}">
|
| + <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em></a>
|
| + <curly-block callback="{{ expander() }}">
|
| + <div class="memberList">
|
| + <template repeat="{{ field in ref['fields'] }}">
|
| + <div class="memberItem">
|
| + <div class="memberName">
|
| + {{ field['decl']['user_name'] }}
|
| + </div>
|
| + <div class="memberValue">
|
| + <instance-ref ref="{{ field['value'] }}"></instance-ref>
|
| + </div>
|
| + </div>
|
| + </template>
|
| + </div>
|
| + </curly-block>
|
| + </template>
|
| +
|
| + <template if="{{ isList(ref.serviceType) }}">
|
| + <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em> ({{ ref['length']}})</a>
|
| + <curly-block callback="{{ expander() }}">
|
| + <div class="memberList">
|
| + <template repeat="{{ element in ref['elements'] }}">
|
| + <div class="memberItem">
|
| + <div class="memberName">[{{ element['index']}}]</div>
|
| + <div class="memberValue">
|
| + <instance-ref ref="{{ element['value'] }}"></instance-ref>
|
| + </div>
|
| + </div>
|
| + </template>
|
| + </div>
|
| + </curly-block>
|
| + </template>
|
| + </span>
|
| + </template>
|
| +
|
| +</polymer-element>
|
| +<polymer-element name="action-link">
|
| + <template>
|
| + <style>
|
| + .idle {
|
| + color: #0489c3;
|
| + cursor: pointer;
|
| + }
|
| + .busy {
|
| + color: #aaa;
|
| + cursor: wait;
|
| + }
|
| + </style>
|
| +
|
| + <template if="{{ busy }}">
|
| + <span class="busy">[{{ label }}]</span>
|
| + </template>
|
| + <template if="{{ !busy }}">
|
| + <span class="idle"><a on-click="{{ doAction }}">[{{ label }}]</a></span>
|
| + </template>
|
| +
|
| + </template>
|
|
|
| </polymer-element>
|
| <polymer-element name="nav-bar" extends="observatory-element">
|
| @@ -91,7 +240,8 @@
|
| }
|
| </style>
|
|
|
| - <li class="menu"><a href="{{ link }}">{{ anchor }}</a>
|
| + <li class="menu">
|
| + <a href="{{ link }}">{{ anchor }}</a>
|
| <ul><content></content></ul>
|
| </li>
|
| <template if="{{ !last }}">
|
| @@ -239,138 +389,12 @@
|
| </template>
|
|
|
| </polymer-element>
|
| -<polymer-element name="service-ref" extends="observatory-element">
|
| -
|
| -</polymer-element><polymer-element name="class-ref" extends="service-ref">
|
| +<polymer-element name="class-ref" extends="service-ref">
|
|
|
| <template><link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css"><a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a></template>
|
|
|
|
|
| </polymer-element>
|
| -<polymer-element name="curly-block">
|
| - <template>
|
| - <style>
|
| - .idle {
|
| - display: inline-block;
|
| - color: #0489c3;
|
| - cursor: pointer;
|
| - }
|
| - .busy {
|
| - display: inline-block;
|
| - color: white;
|
| - cursor: wait;
|
| - }
|
| - </style>
|
| - <template if="{{ expanded }}">
|
| - <template if="{{ busy }}">
|
| - {<div class="busy"> ⊟ </div>
|
| - <br>
|
| - <content></content>
|
| - }
|
| - </template>
|
| - <template if="{{ !busy }}">
|
| - {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊟ </div></a>
|
| - <br>
|
| - <content></content>
|
| - }
|
| - </template>
|
| - </template>
|
| -
|
| - <template if="{{ !expanded }}">
|
| - <template if="{{ busy }}">
|
| - {<div class="busy"> ⊞ </div>}
|
| - </template>
|
| - <template if="{{ !busy }}">
|
| - {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊞ </div></a>}
|
| - </template>
|
| - </template>
|
| - </template>
|
| -
|
| -</polymer-element>
|
| -<polymer-element name="instance-ref" extends="service-ref">
|
| - <template>
|
| - <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css">
|
| - <style>
|
| - .errorBox {
|
| - background-color: #f5f5f5;
|
| - border: 1px solid #ccc;
|
| - padding: 10px;
|
| - font-family: consolas, courier, monospace;
|
| - font-size: 1em;
|
| - line-height: 1.2em;
|
| - white-space: pre;
|
| - }
|
| - </style>
|
| - <span>
|
| - <template if="{{ isError(ref.serviceType) }}">
|
| - <pre class="errorBox">{{ ref.message }}</pre>
|
| - </template>
|
| -
|
| - <template if="{{ isUnexpected(ref.serviceType) }}">
|
| - unexpected reference type <{{ ref.serviceType }}>
|
| - </template>
|
| -
|
| - <template if="{{ isNull(ref.serviceType) }}">
|
| - <div title="{{ hoverText }}">{{ ref['valueAsString'] }}</div>
|
| - </template>
|
| -
|
| - <template if="{{ (isString(ref.serviceType) ||
|
| - isBool(ref.serviceType) ||
|
| - isInt(ref.serviceType)) ||
|
| - isDouble(ref.serviceType)) }}">
|
| - <a href="{{ url }}">{{ ref['valueAsString'] }}</a>
|
| - </template>
|
| -
|
| - <template if="{{ (isType(ref.serviceType)) }}">
|
| - <a href="{{ url }}">{{ ref['user_name'] }}</a>
|
| - </template>
|
| -
|
| - <template if="{{ isInstance(ref.serviceType) &&
|
| - ref['closureFunc'] != null}}">
|
| - <a href="{{ url }}">
|
| - <!-- TODO(turnidge): Switch this to fully-qualified function -->
|
| - {{ ref['closureFunc']['user_name'] }}
|
| - </a>
|
| - </template>
|
| -
|
| - <template if="{{ isInstance(ref.serviceType) &&
|
| - ref['closureFunc'] == null}}">
|
| - <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em></a>
|
| - <curly-block callback="{{ expander() }}">
|
| - <div class="memberList">
|
| - <template repeat="{{ field in ref['fields'] }}">
|
| - <div class="memberItem">
|
| - <div class="memberName">
|
| - {{ field['decl']['user_name'] }}
|
| - </div>
|
| - <div class="memberValue">
|
| - <instance-ref ref="{{ field['value'] }}"></instance-ref>
|
| - </div>
|
| - </div>
|
| - </template>
|
| - </div>
|
| - </curly-block>
|
| - </template>
|
| -
|
| - <template if="{{ isList(ref.serviceType) }}">
|
| - <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em> ({{ ref['length']}})</a>
|
| - <curly-block callback="{{ expander() }}">
|
| - <div class="memberList">
|
| - <template repeat="{{ element in ref['elements'] }}">
|
| - <div class="memberItem">
|
| - <div class="memberName">[{{ element['index']}}]</div>
|
| - <div class="memberValue">
|
| - <instance-ref ref="{{ element['value'] }}"></instance-ref>
|
| - </div>
|
| - </div>
|
| - </template>
|
| - </div>
|
| - </curly-block>
|
| - </template>
|
| - </span>
|
| - </template>
|
| -
|
| -</polymer-element>
|
| <polymer-element name="eval-box" extends="observatory-element">
|
| <template>
|
| <style>
|
| @@ -1149,64 +1173,173 @@
|
| <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 class="flex-item-10-percent">
|
| + <img src="packages/observatory/src/elements/img/isolate_icon.png">
|
| </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 class="flex-item-10-percent">
|
| + <isolate-ref ref="{{ isolate }}"></isolate-ref>
|
| </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 class="flex-item-20-percent">
|
| + <isolate-run-state isolate="{{ isolate }}"></isolate-run-state>
|
| + </div>
|
| + <div class="flex-item-50-percent">
|
| + <isolate-location isolate="{{ isolate }}"></isolate-location>
|
| + </div>
|
| + <div class="flex-item-10-percent">
|
| </div>
|
| </div>
|
|
|
| - <div class="counters">
|
| - <template repeat="{{ key in isolate.counters.keys }}">
|
| - <div class="counter">{{ key }} ({{ isolate.counters[key] }})</div>
|
| - </template>
|
| + <div class="flex-row">
|
| + <div class="flex-item-20-percent"></div>
|
| + <div class="flex-item-60-percent">
|
| + <hr>
|
| + </div>
|
| + <div class="flex-item-20-percent"></div>
|
| </div>
|
|
|
| - <template if="{{ isolate.topFrame != null }}">
|
| - <script-inset script="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}">
|
| - <function-ref ref="{{ isolate.topFrame['function'] }}"></function-ref>
|
| + <isolate-shared-summary isolate="{{ isolate }}"></isolate-shared-summary>
|
| +
|
| + </template>
|
| +</polymer-element>
|
| +
|
| +<polymer-element name="isolate-run-state" extends="observatory-element">
|
| + <template>
|
| + <template if="{{ isolate.pauseEvent != null }}">
|
| + <strong>paused</strong>
|
| + <action-link callback="{{ resume }}" label="resume"></action-link>
|
| + </template>
|
| +
|
| + <template if="{{ isolate.running }}">
|
| + <strong>running</strong>
|
| + <action-link callback="{{ pause }}" label="pause"></action-link>
|
| + </template>
|
| +
|
| + <template if="{{ isolate.idle }}">
|
| + <strong>idle</strong>
|
| + </template>
|
| +
|
| + <template if="{{ isolate.loading }}">
|
| + <strong>loading...</strong>
|
| + </template>
|
| + </template>
|
| +</polymer-element>
|
| +
|
| +<polymer-element name="isolate-location" extends="observatory-element">
|
| + <template>
|
| + <template if="{{ isolate.pauseEvent != null }}">
|
| + <template if="{{ isolate.pauseEvent['eventType'] == 'IsolateCreated' }}">
|
| + at isolate start
|
| + </template>
|
| + <template if="{{ isolate.pauseEvent['eventType'] == 'IsolateShutdown' }}">
|
| + at isolate exit
|
| + </template>
|
| + <template if="{{ isolate.pauseEvent['eventType'] == 'IsolateInterrupted' }}">
|
| + at
|
| + <function-ref ref="{{ isolate.topFrame['function'] }}">
|
| + </function-ref>
|
| (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
|
| - </script-inset>
|
| + </template>
|
| + <template if="{{ isolate.pauseEvent['eventType'] == 'BreakpointReached' }}">
|
| + at breakpoint {{ isolate.pauseEvent['breakpoint']['id'] }}
|
| + <function-ref ref="{{ isolate.topFrame['function'] }}">
|
| + </function-ref>
|
| + (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
|
| + </template>
|
| + </template>
|
| +
|
| + <template if="{{ isolate.running }}">
|
| + at
|
| + <function-ref ref="{{ isolate.topFrame['function'] }}">
|
| + </function-ref>
|
| + (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
|
| </template>
|
| +
|
| </template>
|
| -
|
| </polymer-element>
|
| +
|
| +<polymer-element name="isolate-shared-summary" extends="observatory-element">
|
| + <template>
|
| + <style>
|
| + .errorBox {
|
| + background-color: #f5f5f5;
|
| + border: 1px solid #ccc;
|
| + padding: 10px;
|
| + font-family: consolas, courier, monospace;
|
| + font-size: 1em;
|
| + line-height: 1.2em;
|
| + white-space: pre;
|
| + }
|
| + </style>
|
| + <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css">
|
| + <template if="{{ isolate.error != null }}">
|
| + <div class="content-centered">
|
| + <pre class="errorBox">{{ isolate.error.message }}</pre>
|
| + <br>
|
| + </div>
|
| + </template>
|
| + <div class="flex-row">
|
| + <div class="flex-item-10-percent">
|
| + </div>
|
| + <div class="flex-item-40-percent">
|
| + <isolate-counter-chart counters="{{ isolate.counters }}"></isolate-counter-chart>
|
| + </div>
|
| + <div class="flex-item-40-percent">
|
| + <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="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="memberList">
|
| + <div class="memberItem">
|
| + <div class="memberValue">
|
| + See <a href="{{ isolate.relativeHashLink('allocationprofile') }}">allocation profile</a>
|
| + </div>
|
| + </div>
|
| + <div class="memberItem">
|
| + <div class="memberValue">
|
| + See <a href="{{ isolate.relativeHashLink('heapmap') }}">heap map</a>
|
| + </div>
|
| + </div>
|
| + </div>
|
| + </div>
|
| + <div class="flex-item-10-percent">
|
| + </div>
|
| + </div>
|
| + </template>
|
| +</polymer-element>
|
| +
|
| +<polymer-element name="isolate-counter-chart" extends="observatory-element">
|
| + <template>
|
| + <div id="counterPieChart" style="height: 200px"></div>
|
| + </template>
|
| +</polymer-element>
|
| +
|
| +
|
| <polymer-element name="isolate-view" extends="observatory-element">
|
| <template>
|
| <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css">
|
| @@ -1229,85 +1362,48 @@
|
|
|
| <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.pausedOnStart }}">
|
| - <strong style="color:darkred;">paused</strong> @ isolate start
|
| - <span style="padding-left:20px;">
|
| - [<a on-click="{{ resume }}">resume</a>]
|
| - </span>
|
| - </template>
|
| -
|
| - <template if="{{ isolate.pausedOnExit }}">
|
| - <strong style="color:darkred;">paused</strong> @ isolate exit
|
| - <span style="padding-left:20px;">
|
| - [<a on-click="{{ resume }}">resume</a>]
|
| - </span>
|
| - </template>
|
| -
|
| - <template if="{{ isolate.running }}">
|
| - <strong>running</strong>
|
| - @
|
| - <function-ref ref="{{ isolate.topFrame['function'] }}">
|
| - </function-ref>
|
| - (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}">
|
| - </script-ref>)
|
| - </template>
|
| -
|
| - <template if="{{ isolate.idle }}">
|
| - <strong>idle</strong>
|
| - </template>
|
| - </div>
|
| - </div>
|
| - </div>
|
| </div>
|
|
|
| - <template if="{{ isolate.error != null }}">
|
| - <div class="content">
|
| - <h1>Error</h1>
|
| - <div class="memberList">
|
| - <div class="memberItem">
|
| - <div class="memberName">message</div>
|
| - <div class="memberValue">
|
| - <pre>{{ isolate.error.message }}</pre>
|
| - </div>
|
| - </div>
|
| - <div class="memberItem">
|
| - <template if="{{ isolate.error.exception != null }}">
|
| - <div class="memberName">exception</div>
|
| - <div class="memberValue">
|
| - <instance-ref ref="{{ isolate.error.exception }}"></instance-ref>
|
| - </div>
|
| - </template>
|
| - </div>
|
| - <div class="memberItem">
|
| - <template if="{{ isolate.error.stacktrace != null }}">
|
| - <div class="memberName">stacktrace</div>
|
| - <div class="memberValue">
|
| - <instance-ref ref="{{ isolate.error.stacktrace }}"></instance-ref>
|
| - </div>
|
| - </template>
|
| - </div>
|
| - </div>
|
| + <br>
|
| + <div class="flex-row">
|
| + <div class="flex-item-10-percent">
|
| </div>
|
| - <hr>
|
| - </template>
|
| -
|
| + <div class="flex-item-20-percent">
|
| + <isolate-run-state isolate="{{ isolate }}"></isolate-run-state>
|
| + </div>
|
| + <div class="flex-item-60-percent">
|
| + <isolate-location isolate="{{ isolate }}"></isolate-location>
|
| + </div>
|
| + <div class="flex-item-10-percent">
|
| + </div>
|
| + </div>
|
| <br>
|
|
|
| <template if="{{ isolate.topFrame != null }}">
|
| + <br>
|
| <script-inset script="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}">
|
| </script-inset>
|
| </template>
|
|
|
| + <div class="flex-row">
|
| + <div class="flex-item-20-percent"></div>
|
| + <div class="flex-item-60-percent"><hr></div>
|
| + <div class="flex-item-20-percent"></div>
|
| + </div>
|
| +
|
| <br>
|
|
|
| + <isolate-shared-summary isolate="{{ isolate }}"></isolate-shared-summary>
|
| +
|
| + <div class="flex-row">
|
| + <div class="flex-item-20-percent"></div>
|
| + <div class="flex-item-60-percent"><hr></div>
|
| + <div class="flex-item-20-percent"></div>
|
| + </div>
|
| +
|
| <div class="content-centered">
|
| <div class="flex-row">
|
| -
|
| - <div class="flex-item-fixed-6-12">
|
| + <div class="flex-item-50-percent">
|
| <div class="memberList">
|
| <div class="memberItem">
|
| <div class="memberName">root library</div>
|
| @@ -1324,65 +1420,20 @@
|
| </template>
|
| </div>
|
| <div class="memberItem">
|
| - <div class="memberName">id</div>
|
| + <div class="memberName">isolate id</div>
|
| <div class="memberValue">{{ isolate.mainPort }}</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>
|
| -
|
| - <div class="flex-item-fixed-6-12">
|
| - <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') }}">allocation profile</a>
|
| - </div>
|
| - </div>
|
| - <div class="memberItem">
|
| - <div class="memberValue">
|
| - See <a href="{{ isolate.relativeHashLink('heapmap') }}">heap map</a>
|
| - </div>
|
| + <div class="flex-item-50-percent">
|
| + <div class="memberItem">
|
| + <div class="memberValue">
|
| + See <a href="{{ isolate.relativeHashLink('debug/breakpoints') }}">breakpoints</a>
|
| </div>
|
| </div>
|
| </div>
|
| -
|
| - </div> <!-- flex row -->
|
| - </div> <!-- content -->
|
| + </div>
|
| + </div>
|
|
|
| <hr>
|
|
|
| @@ -1404,13 +1455,6 @@
|
| <hr>
|
|
|
| <div class="content">
|
| - <div class="memberValue">Isolate execution</div>
|
| - <template repeat="{{ key in isolate.counters.keys }}">
|
| - <div class="memberValue">{{ key }} ({{ isolate.counters[key] }})</div>
|
| - </template>
|
| - </div>
|
| -
|
| - <div class="content">
|
| <div id="tagProfileChart" class="miniProfileChart" style="height: 600px"></div>
|
| </div>
|
|
|
| @@ -2087,6 +2131,7 @@
|
| </polymer-element>
|
| <polymer-element name="script-view" extends="observatory-element">
|
| <template>
|
| + <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css">
|
| <nav-bar>
|
| <top-nav-menu></top-nav-menu>
|
| <isolate-nav-menu isolate="{{ script.isolate }}">
|
|
|