| OLD | NEW |
| 1 <head> | 1 <head> |
| 2 <link rel="import" href="action_link.html"> |
| 2 <link rel="import" href="curly_block.html"> | 3 <link rel="import" href="curly_block.html"> |
| 3 <link rel="import" href="eval_box.html"> | 4 <link rel="import" href="eval_box.html"> |
| 4 <link rel="import" href="function_ref.html"> | 5 <link rel="import" href="function_ref.html"> |
| 6 <link rel="import" href="isolate_summary.html"> |
| 5 <link rel="import" href="library_ref.html"> | 7 <link rel="import" href="library_ref.html"> |
| 6 <link rel="import" href="nav_bar.html"> | 8 <link rel="import" href="nav_bar.html"> |
| 7 <link rel="import" href="observatory_element.html"> | 9 <link rel="import" href="observatory_element.html"> |
| 8 <link rel="import" href="script_inset.html"> | 10 <link rel="import" href="script_inset.html"> |
| 9 <link rel="import" href="script_ref.html"> | 11 <link rel="import" href="script_ref.html"> |
| 10 </head> | 12 </head> |
| 11 <polymer-element name="isolate-view" extends="observatory-element"> | 13 <polymer-element name="isolate-view" extends="observatory-element"> |
| 12 <template> | 14 <template> |
| 13 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 15 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
| 14 <style> | 16 <style> |
| 15 .sourceInset { | 17 .sourceInset { |
| 16 padding-left: 15%; | 18 padding-left: 15%; |
| 17 padding-right: 15%; | 19 padding-right: 15%; |
| 18 } | 20 } |
| 19 .miniProfileChart { | 21 .miniProfileChart { |
| 20 width: 80%; | 22 width: 80%; |
| 21 } | 23 } |
| 22 </style> | 24 </style> |
| 23 | 25 |
| 24 <nav-bar> | 26 <nav-bar> |
| 25 <top-nav-menu></top-nav-menu> | 27 <top-nav-menu></top-nav-menu> |
| 26 <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}"> | 28 <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}"> |
| 27 </isolate-nav-menu> | 29 </isolate-nav-menu> |
| 28 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 30 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 29 </nav-bar> | 31 </nav-bar> |
| 30 | 32 |
| 31 <div class="content"> | 33 <div class="content"> |
| 32 <h1>isolate '{{ isolate.name }}'</h1> | 34 <h1>isolate '{{ isolate.name }}'</h1> |
| 33 <div class="memberList"> | 35 </div> |
| 34 <div class="memberItem"> | |
| 35 <div class="memberName">status</div> | |
| 36 <div class="memberValue"> | |
| 37 <template if="{{ isolate.pausedOnStart }}"> | |
| 38 <strong style="color:darkred;">paused</strong> @ isolate start | |
| 39 <span style="padding-left:20px;"> | |
| 40 [<a on-click="{{ resume }}">resume</a>] | |
| 41 </span> | |
| 42 </template> | |
| 43 | 36 |
| 44 <template if="{{ isolate.pausedOnExit }}"> | 37 <br> |
| 45 <strong style="color:darkred;">paused</strong> @ isolate exit | 38 <div class="flex-row"> |
| 46 <span style="padding-left:20px;"> | 39 <div class="flex-item-10-percent"> |
| 47 [<a on-click="{{ resume }}">resume</a>] | 40 </div> |
| 48 </span> | 41 <div class="flex-item-20-percent"> |
| 49 </template> | 42 <isolate-run-state isolate="{{ isolate }}"></isolate-run-state> |
| 50 | 43 </div> |
| 51 <template if="{{ isolate.running }}"> | 44 <div class="flex-item-60-percent"> |
| 52 <strong>running</strong> | 45 <isolate-location isolate="{{ isolate }}"></isolate-location> |
| 53 @ | 46 </div> |
| 54 <function-ref ref="{{ isolate.topFrame['function'] }}"> | 47 <div class="flex-item-10-percent"> |
| 55 </function-ref> | |
| 56 (<script-ref ref="{{ isolate.topFrame['script'] }}" | |
| 57 pos="{{ isolate.topFrame['tokenPos'] }}"> | |
| 58 </script-ref>) | |
| 59 </template> | |
| 60 | |
| 61 <template if="{{ isolate.idle }}"> | |
| 62 <strong>idle</strong> | |
| 63 </template> | |
| 64 </div> | |
| 65 </div> | |
| 66 </div> | 48 </div> |
| 67 </div> | 49 </div> |
| 68 | |
| 69 <template if="{{ isolate.error != null }}"> | |
| 70 <div class="content"> | |
| 71 <h1>Error</h1> | |
| 72 <div class="memberList"> | |
| 73 <div class="memberItem"> | |
| 74 <div class="memberName">message</div> | |
| 75 <div class="memberValue"> | |
| 76 <pre>{{ isolate.error.message }}</pre> | |
| 77 </div> | |
| 78 </div> | |
| 79 <div class="memberItem"> | |
| 80 <template if="{{ isolate.error.exception != null }}"> | |
| 81 <div class="memberName">exception</div> | |
| 82 <div class="memberValue"> | |
| 83 <instance-ref ref="{{ isolate.error.exception }}"></instance-ref
> | |
| 84 </div> | |
| 85 </template> | |
| 86 </div> | |
| 87 <div class="memberItem"> | |
| 88 <template if="{{ isolate.error.stacktrace != null }}"> | |
| 89 <div class="memberName">stacktrace</div> | |
| 90 <div class="memberValue"> | |
| 91 <instance-ref ref="{{ isolate.error.stacktrace }}"></instance-ref> | |
| 92 </div> | |
| 93 </template> | |
| 94 </div> | |
| 95 </div> | |
| 96 </div> | |
| 97 <hr> | |
| 98 </template> | |
| 99 | |
| 100 <br> | 50 <br> |
| 101 | 51 |
| 102 <template if="{{ isolate.topFrame != null }}"> | 52 <template if="{{ isolate.topFrame != null }}"> |
| 53 <br> |
| 103 <script-inset script="{{ isolate.topFrame['script'] }}" | 54 <script-inset script="{{ isolate.topFrame['script'] }}" |
| 104 pos="{{ isolate.topFrame['tokenPos'] }}"> | 55 pos="{{ isolate.topFrame['tokenPos'] }}"> |
| 105 </script-inset> | 56 </script-inset> |
| 106 </template> | 57 </template> |
| 107 | 58 |
| 59 <div class="flex-row"> |
| 60 <div class="flex-item-20-percent"></div> |
| 61 <div class="flex-item-60-percent"><hr></div> |
| 62 <div class="flex-item-20-percent"></div> |
| 63 </div> |
| 64 |
| 108 <br> | 65 <br> |
| 109 | 66 |
| 67 <isolate-shared-summary isolate="{{ isolate }}"></isolate-shared-summary> |
| 68 |
| 69 <div class="flex-row"> |
| 70 <div class="flex-item-20-percent"></div> |
| 71 <div class="flex-item-60-percent"><hr></div> |
| 72 <div class="flex-item-20-percent"></div> |
| 73 </div> |
| 74 |
| 110 <div class="content-centered"> | 75 <div class="content-centered"> |
| 111 <div class="flex-row"> | 76 <div class="flex-row"> |
| 112 | 77 <div class="flex-item-50-percent"> |
| 113 <div class="flex-item-fixed-6-12"> | |
| 114 <div class="memberList"> | 78 <div class="memberList"> |
| 115 <div class="memberItem"> | 79 <div class="memberItem"> |
| 116 <div class="memberName">root library</div> | 80 <div class="memberName">root library</div> |
| 117 <div class="memberValue"> | 81 <div class="memberValue"> |
| 118 <library-ref ref="{{ isolate.rootLib }}"></library-ref> | 82 <library-ref ref="{{ isolate.rootLib }}"></library-ref> |
| 119 </div> | 83 </div> |
| 120 </div> | 84 </div> |
| 121 <div class="memberItem"> | 85 <div class="memberItem"> |
| 122 <template if="{{ isolate.entry != null }}"> | 86 <template if="{{ isolate.entry != null }}"> |
| 123 <div class="memberName">entry</div> | 87 <div class="memberName">entry</div> |
| 124 <div class="memberValue"> | 88 <div class="memberValue"> |
| 125 <function-ref ref="{{ isolate.entry }}"></function-ref> | 89 <function-ref ref="{{ isolate.entry }}"></function-ref> |
| 126 </div> | 90 </div> |
| 127 </template> | 91 </template> |
| 128 </div> | 92 </div> |
| 129 <div class="memberItem"> | 93 <div class="memberItem"> |
| 130 <div class="memberName">id</div> | 94 <div class="memberName">isolate id</div> |
| 131 <div class="memberValue">{{ isolate.mainPort }}</div> | 95 <div class="memberValue">{{ isolate.mainPort }}</div> |
| 132 </div> | 96 </div> |
| 133 <br> | |
| 134 <div class="memberItem"> | |
| 135 <div class="memberValue"> | |
| 136 See <a href="{{ isolate.relativeHashLink('stacktrace') }}">stack
trace</a> | |
| 137 </div> | |
| 138 </div> | |
| 139 <div class="memberItem"> | |
| 140 <div class="memberValue"> | |
| 141 See <a href="{{ isolate.relativeHashLink('profile') }}">cpu prof
ile</a> | |
| 142 </div> | |
| 143 </div> | |
| 144 <div class="memberItem"> | |
| 145 <div class="memberValue"> | |
| 146 See <a href="{{ isolate.relativeHashLink('debug/breakpoints') }}
">breakpoints</a> | |
| 147 | |
| 148 </div> | |
| 149 </div> | |
| 150 </div> | 97 </div> |
| 151 </div> | 98 </div> |
| 152 | 99 <div class="flex-item-50-percent"> |
| 153 <div class="flex-item-fixed-6-12"> | 100 <div class="memberItem"> |
| 154 <div class="memberList"> | 101 <div class="memberValue"> |
| 155 <div class="memberItem"> | 102 See <a href="{{ isolate.relativeHashLink('debug/breakpoints') }}">
breakpoints</a> |
| 156 <div class="memberName">new heap</div> | |
| 157 <div class="memberValue"> | |
| 158 {{ isolate.newHeapUsed | formatSize }} | |
| 159 of | |
| 160 {{ isolate.newHeapCapacity | formatSize }} | |
| 161 </div> | |
| 162 </div> | |
| 163 <div class="memberItem"> | |
| 164 <div class="memberName">old heap</div> | |
| 165 <div class="memberValue"> | |
| 166 {{ isolate.oldHeapUsed | formatSize }} | |
| 167 of | |
| 168 {{ isolate.oldHeapCapacity | formatSize }} | |
| 169 </div> | |
| 170 </div> | |
| 171 </div> | |
| 172 <br> | |
| 173 <div class="memberList"> | |
| 174 <div class="memberItem"> | |
| 175 <div class="memberValue"> | |
| 176 See <a href="{{ isolate.relativeHashLink('allocationprofile') }}
">allocation profile</a> | |
| 177 </div> | |
| 178 </div> | |
| 179 <div class="memberItem"> | |
| 180 <div class="memberValue"> | |
| 181 See <a href="{{ isolate.relativeHashLink('heapmap') }}">heap map
</a> | |
| 182 </div> | |
| 183 </div> | 103 </div> |
| 184 </div> | 104 </div> |
| 185 </div> | 105 </div> |
| 186 | 106 </div> |
| 187 </div> <!-- flex row --> | 107 </div> |
| 188 </div> <!-- content --> | |
| 189 | 108 |
| 190 <hr> | 109 <hr> |
| 191 | 110 |
| 192 <div class="content"> | 111 <div class="content"> |
| 193 libraries ({{ isolate.libraries.length }}) | 112 libraries ({{ isolate.libraries.length }}) |
| 194 <curly-block expand="{{ isolate.libraries.length <= 8 }}"> | 113 <curly-block expand="{{ isolate.libraries.length <= 8 }}"> |
| 195 <div class="memberList"> | 114 <div class="memberList"> |
| 196 <template repeat="{{ lib in isolate.libraries }}"> | 115 <template repeat="{{ lib in isolate.libraries }}"> |
| 197 <div class="memberItem"> | 116 <div class="memberItem"> |
| 198 <div class="memberName"> | 117 <div class="memberName"> |
| 199 <library-ref ref="{{ lib }}"></library-ref> | 118 <library-ref ref="{{ lib }}"></library-ref> |
| 200 </div> | 119 </div> |
| 201 </div> | 120 </div> |
| 202 </template> | 121 </template> |
| 203 </div> | 122 </div> |
| 204 </curly-block> | 123 </curly-block> |
| 205 </div> | 124 </div> |
| 206 | 125 |
| 207 <hr> | 126 <hr> |
| 208 | 127 |
| 209 <div class="content"> | 128 <div class="content"> |
| 210 <div class="memberValue">Isolate execution</div> | |
| 211 <template repeat="{{ key in isolate.counters.keys }}"> | |
| 212 <div class="memberValue">{{ key }} ({{ isolate.counters[key] }})</div> | |
| 213 </template> | |
| 214 </div> | |
| 215 | |
| 216 <div class="content"> | |
| 217 <div id="tagProfileChart" class="miniProfileChart" style="height: 600px"><
/div> | 129 <div id="tagProfileChart" class="miniProfileChart" style="height: 600px"><
/div> |
| 218 </div> | 130 </div> |
| 219 | 131 |
| 220 <hr> | 132 <hr> |
| 221 | 133 |
| 222 <div class="content"> | 134 <div class="content"> |
| 223 <eval-box callback="{{ eval }}"></eval-box> | 135 <eval-box callback="{{ eval }}"></eval-box> |
| 224 </div> | 136 </div> |
| 225 <br><br><br><br> | 137 <br><br><br><br> |
| 226 <br><br><br><br> | 138 <br><br><br><br> |
| 227 </template> | 139 </template> |
| 228 <script type="application/dart" src="isolate_view.dart"></script> | 140 <script type="application/dart" src="isolate_view.dart"></script> |
| 229 </polymer-element> | 141 </polymer-element> |
| OLD | NEW |