OLD | NEW |
1 <!DOCTYPE html><html><head><script src="packages/shadow_dom/shadow_dom.debug.js"
></script> | 1 <!DOCTYPE html><html><head><script src="packages/shadow_dom/shadow_dom.debug.js"
></script> |
2 <script src="packages/custom_element/custom-elements.debug.js"></script> | 2 <script src="packages/custom_element/custom-elements.debug.js"></script> |
3 | 3 |
4 <meta charset="utf-8"> | 4 <meta charset="utf-8"> |
5 <title>Dart VM Observatory</title> | 5 <title>Dart VM Observatory</title> |
6 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css"
> | 6 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css"
> |
7 <script type="text/javascript" src="https://www.google.com/jsapi"></script> | 7 <script type="text/javascript" src="https://www.google.com/jsapi"></script> |
8 <script src="packages/browser/interop.js"></script> | 8 <script src="packages/browser/interop.js"></script> |
9 | 9 |
10 <script src="index.html_bootstrap.dart.js"></script> | 10 <script src="index.html_bootstrap.dart.js"></script> |
11 | 11 |
12 </head> | 12 </head> |
13 <body><polymer-element name="observatory-element"> | 13 <body><polymer-element name="curly-block"> |
| 14 <template> |
| 15 <style> |
| 16 .idle { |
| 17 display: inline-block; |
| 18 color: #0489c3; |
| 19 cursor: pointer; |
| 20 } |
| 21 .busy { |
| 22 display: inline-block; |
| 23 color: white; |
| 24 cursor: wait; |
| 25 } |
| 26 </style> |
| 27 <template if="{{ expanded }}"> |
| 28 <template if="{{ busy }}"> |
| 29 {<div class="busy"> ⊟ </div> |
| 30 <br> |
| 31 <content></content> |
| 32 } |
| 33 </template> |
| 34 <template if="{{ !busy }}"> |
| 35 {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊟ &
nbsp;</div></a> |
| 36 <br> |
| 37 <content></content> |
| 38 } |
| 39 </template> |
| 40 </template> |
| 41 |
| 42 <template if="{{ !expanded }}"> |
| 43 <template if="{{ busy }}"> |
| 44 {<div class="busy"> ⊞ </div>} |
| 45 </template> |
| 46 <template if="{{ !busy }}"> |
| 47 {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊞ &
nbsp;</div></a>} |
| 48 </template> |
| 49 </template> |
| 50 </template> |
| 51 |
| 52 </polymer-element> |
| 53 <polymer-element name="observatory-element"> |
| 54 |
| 55 </polymer-element> |
| 56 <polymer-element name="service-ref" extends="observatory-element"> |
| 57 |
| 58 </polymer-element><polymer-element name="instance-ref" extends="service-ref"> |
| 59 <template> |
| 60 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
| 61 <style> |
| 62 .errorBox { |
| 63 background-color: #f5f5f5; |
| 64 border: 1px solid #ccc; |
| 65 padding: 10px; |
| 66 font-family: consolas, courier, monospace; |
| 67 font-size: 1em; |
| 68 line-height: 1.2em; |
| 69 white-space: pre; |
| 70 } |
| 71 </style> |
| 72 <span> |
| 73 <template if="{{ isError(ref.serviceType) }}"> |
| 74 <pre class="errorBox">{{ ref.message }}</pre> |
| 75 </template> |
| 76 |
| 77 <template if="{{ isUnexpected(ref.serviceType) }}"> |
| 78 unexpected reference type <{{ ref.serviceType }}> |
| 79 </template> |
| 80 |
| 81 <template if="{{ isNull(ref.serviceType) }}"> |
| 82 <div title="{{ hoverText }}">{{ ref['valueAsString'] }}</div> |
| 83 </template> |
| 84 |
| 85 <template if="{{ (isString(ref.serviceType) || |
| 86 isBool(ref.serviceType) || |
| 87 isInt(ref.serviceType)) || |
| 88 isDouble(ref.serviceType)) }}"> |
| 89 <a href="{{ url }}">{{ ref['valueAsString'] }}</a> |
| 90 </template> |
| 91 |
| 92 <template if="{{ (isType(ref.serviceType)) }}"> |
| 93 <a href="{{ url }}">{{ ref['user_name'] }}</a> |
| 94 </template> |
| 95 |
| 96 <template if="{{ isInstance(ref.serviceType) && |
| 97 ref['closureFunc'] != null}}"> |
| 98 <a href="{{ url }}"> |
| 99 <!-- TODO(turnidge): Switch this to fully-qualified function --> |
| 100 {{ ref['closureFunc']['user_name'] }} |
| 101 </a> |
| 102 </template> |
| 103 |
| 104 <template if="{{ isInstance(ref.serviceType) && |
| 105 ref['closureFunc'] == null}}"> |
| 106 <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em></a> |
| 107 <curly-block callback="{{ expander() }}"> |
| 108 <div class="memberList"> |
| 109 <template repeat="{{ field in ref['fields'] }}"> |
| 110 <div class="memberItem"> |
| 111 <div class="memberName"> |
| 112 {{ field['decl']['user_name'] }} |
| 113 </div> |
| 114 <div class="memberValue"> |
| 115 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| 116 </div> |
| 117 </div> |
| 118 </template> |
| 119 </div> |
| 120 </curly-block> |
| 121 </template> |
| 122 |
| 123 <template if="{{ isList(ref.serviceType) }}"> |
| 124 <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em> ({{ ref['le
ngth']}})</a> |
| 125 <curly-block callback="{{ expander() }}"> |
| 126 <div class="memberList"> |
| 127 <template repeat="{{ element in ref['elements'] }}"> |
| 128 <div class="memberItem"> |
| 129 <div class="memberName">[{{ element['index']}}]</div> |
| 130 <div class="memberValue"> |
| 131 <instance-ref ref="{{ element['value'] }}"></instance-ref> |
| 132 </div> |
| 133 </div> |
| 134 </template> |
| 135 </div> |
| 136 </curly-block> |
| 137 </template> |
| 138 </span> |
| 139 </template> |
| 140 |
| 141 </polymer-element> |
| 142 <polymer-element name="action-link"> |
| 143 <template> |
| 144 <style> |
| 145 .idle { |
| 146 color: #0489c3; |
| 147 cursor: pointer; |
| 148 } |
| 149 .busy { |
| 150 color: #aaa; |
| 151 cursor: wait; |
| 152 } |
| 153 </style> |
| 154 |
| 155 <template if="{{ busy }}"> |
| 156 <span class="busy">[{{ label }}]</span> |
| 157 </template> |
| 158 <template if="{{ !busy }}"> |
| 159 <span class="idle"><a on-click="{{ doAction }}">[{{ label }}]</a></span> |
| 160 </template> |
| 161 |
| 162 </template> |
14 | 163 |
15 </polymer-element> | 164 </polymer-element> |
16 <polymer-element name="nav-bar" extends="observatory-element"> | 165 <polymer-element name="nav-bar" extends="observatory-element"> |
17 <template> | 166 <template> |
18 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 167 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
19 <style> | 168 <style> |
20 nav { | 169 nav { |
21 position: fixed; | 170 position: fixed; |
22 width: 100%; | 171 width: 100%; |
23 z-index: 1000; | 172 z-index: 1000; |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 background: #567; | 233 background: #567; |
85 } | 234 } |
86 .menu ul:after { | 235 .menu ul:after { |
87 content: ""; clear: both; display: block; | 236 content: ""; clear: both; display: block; |
88 } | 237 } |
89 .menu:hover > ul { | 238 .menu:hover > ul { |
90 display: block; | 239 display: block; |
91 } | 240 } |
92 </style> | 241 </style> |
93 | 242 |
94 <li class="menu"><a href="{{ link }}">{{ anchor }}</a> | 243 <li class="menu"> |
| 244 <a href="{{ link }}">{{ anchor }}</a> |
95 <ul><content></content></ul> | 245 <ul><content></content></ul> |
96 </li> | 246 </li> |
97 <template if="{{ !last }}"> | 247 <template if="{{ !last }}"> |
98 <li class="spacer">></li> | 248 <li class="spacer">></li> |
99 </template> | 249 </template> |
100 | 250 |
101 </template> | 251 </template> |
102 </polymer-element> | 252 </polymer-element> |
103 | 253 |
104 <polymer-element name="nav-menu-item" extends="observatory-element"> | 254 <polymer-element name="nav-menu-item" extends="observatory-element"> |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 <template repeat="{{ bpt in msg['breakpoints'] }}"> | 382 <template repeat="{{ bpt in msg['breakpoints'] }}"> |
233 <li class="list-group-item"> | 383 <li class="list-group-item"> |
234 {{ bpt }} | 384 {{ bpt }} |
235 </li> | 385 </li> |
236 </template> | 386 </template> |
237 </ul> | 387 </ul> |
238 </template> | 388 </template> |
239 </template> | 389 </template> |
240 | 390 |
241 </polymer-element> | 391 </polymer-element> |
242 <polymer-element name="service-ref" extends="observatory-element"> | 392 <polymer-element name="class-ref" extends="service-ref"> |
243 | |
244 </polymer-element><polymer-element name="class-ref" extends="service-ref"> | |
245 | 393 |
246 <template><link rel="stylesheet" href="packages/observatory/src/elements/css/sha
red.css"><a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a></template> | 394 <template><link rel="stylesheet" href="packages/observatory/src/elements/css/sha
red.css"><a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a></template> |
247 | 395 |
248 | 396 |
249 </polymer-element> | 397 </polymer-element> |
250 <polymer-element name="curly-block"> | |
251 <template> | |
252 <style> | |
253 .idle { | |
254 display: inline-block; | |
255 color: #0489c3; | |
256 cursor: pointer; | |
257 } | |
258 .busy { | |
259 display: inline-block; | |
260 color: white; | |
261 cursor: wait; | |
262 } | |
263 </style> | |
264 <template if="{{ expanded }}"> | |
265 <template if="{{ busy }}"> | |
266 {<div class="busy"> ⊟ </div> | |
267 <br> | |
268 <content></content> | |
269 } | |
270 </template> | |
271 <template if="{{ !busy }}"> | |
272 {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊟ &
nbsp;</div></a> | |
273 <br> | |
274 <content></content> | |
275 } | |
276 </template> | |
277 </template> | |
278 | |
279 <template if="{{ !expanded }}"> | |
280 <template if="{{ busy }}"> | |
281 {<div class="busy"> ⊞ </div>} | |
282 </template> | |
283 <template if="{{ !busy }}"> | |
284 {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊞ &
nbsp;</div></a>} | |
285 </template> | |
286 </template> | |
287 </template> | |
288 | |
289 </polymer-element> | |
290 <polymer-element name="instance-ref" extends="service-ref"> | |
291 <template> | |
292 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | |
293 <style> | |
294 .errorBox { | |
295 background-color: #f5f5f5; | |
296 border: 1px solid #ccc; | |
297 padding: 10px; | |
298 font-family: consolas, courier, monospace; | |
299 font-size: 1em; | |
300 line-height: 1.2em; | |
301 white-space: pre; | |
302 } | |
303 </style> | |
304 <span> | |
305 <template if="{{ isError(ref.serviceType) }}"> | |
306 <pre class="errorBox">{{ ref.message }}</pre> | |
307 </template> | |
308 | |
309 <template if="{{ isUnexpected(ref.serviceType) }}"> | |
310 unexpected reference type <{{ ref.serviceType }}> | |
311 </template> | |
312 | |
313 <template if="{{ isNull(ref.serviceType) }}"> | |
314 <div title="{{ hoverText }}">{{ ref['valueAsString'] }}</div> | |
315 </template> | |
316 | |
317 <template if="{{ (isString(ref.serviceType) || | |
318 isBool(ref.serviceType) || | |
319 isInt(ref.serviceType)) || | |
320 isDouble(ref.serviceType)) }}"> | |
321 <a href="{{ url }}">{{ ref['valueAsString'] }}</a> | |
322 </template> | |
323 | |
324 <template if="{{ (isType(ref.serviceType)) }}"> | |
325 <a href="{{ url }}">{{ ref['user_name'] }}</a> | |
326 </template> | |
327 | |
328 <template if="{{ isInstance(ref.serviceType) && | |
329 ref['closureFunc'] != null}}"> | |
330 <a href="{{ url }}"> | |
331 <!-- TODO(turnidge): Switch this to fully-qualified function --> | |
332 {{ ref['closureFunc']['user_name'] }} | |
333 </a> | |
334 </template> | |
335 | |
336 <template if="{{ isInstance(ref.serviceType) && | |
337 ref['closureFunc'] == null}}"> | |
338 <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em></a> | |
339 <curly-block callback="{{ expander() }}"> | |
340 <div class="memberList"> | |
341 <template repeat="{{ field in ref['fields'] }}"> | |
342 <div class="memberItem"> | |
343 <div class="memberName"> | |
344 {{ field['decl']['user_name'] }} | |
345 </div> | |
346 <div class="memberValue"> | |
347 <instance-ref ref="{{ field['value'] }}"></instance-ref> | |
348 </div> | |
349 </div> | |
350 </template> | |
351 </div> | |
352 </curly-block> | |
353 </template> | |
354 | |
355 <template if="{{ isList(ref.serviceType) }}"> | |
356 <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em> ({{ ref['le
ngth']}})</a> | |
357 <curly-block callback="{{ expander() }}"> | |
358 <div class="memberList"> | |
359 <template repeat="{{ element in ref['elements'] }}"> | |
360 <div class="memberItem"> | |
361 <div class="memberName">[{{ element['index']}}]</div> | |
362 <div class="memberValue"> | |
363 <instance-ref ref="{{ element['value'] }}"></instance-ref> | |
364 </div> | |
365 </div> | |
366 </template> | |
367 </div> | |
368 </curly-block> | |
369 </template> | |
370 </span> | |
371 </template> | |
372 | |
373 </polymer-element> | |
374 <polymer-element name="eval-box" extends="observatory-element"> | 398 <polymer-element name="eval-box" extends="observatory-element"> |
375 <template> | 399 <template> |
376 <style> | 400 <style> |
377 .textbox { | 401 .textbox { |
378 width: 80ex; | 402 width: 80ex; |
379 font: 400 16px 'Montserrat', sans-serif; | 403 font: 400 16px 'Montserrat', sans-serif; |
380 } | 404 } |
381 .bigtextbox { | 405 .bigtextbox { |
382 font: 400 16px 'Montserrat', sans-serif; | 406 font: 400 16px 'Montserrat', sans-serif; |
383 } | 407 } |
(...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1142 </polymer-element> | 1166 </polymer-element> |
1143 <polymer-element name="isolate-ref" extends="service-ref"> | 1167 <polymer-element name="isolate-ref" extends="service-ref"> |
1144 <template><link rel="stylesheet" href="packages/observatory/src/elements/css/sha
red.css"> | 1168 <template><link rel="stylesheet" href="packages/observatory/src/elements/css/sha
red.css"> |
1145 <a href="{{ url }}">{{ ref.name }}</a> | 1169 <a href="{{ url }}">{{ ref.name }}</a> |
1146 </template> | 1170 </template> |
1147 | 1171 |
1148 </polymer-element> | 1172 </polymer-element> |
1149 <polymer-element name="isolate-summary" extends="observatory-element"> | 1173 <polymer-element name="isolate-summary" extends="observatory-element"> |
1150 <template> | 1174 <template> |
1151 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 1175 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
1152 <style> | |
1153 .counters { | |
1154 display: flex; | |
1155 flex-direction: row; | |
1156 justify-content: center; | |
1157 } | |
1158 .counter { | |
1159 margin: 10px; | |
1160 } | |
1161 </style> | |
1162 <div class="flex-row"> | 1176 <div class="flex-row"> |
1163 <div class="flex-item-fixed-1-12"><img src="packages/observatory/src/eleme
nts/img/isolate_icon.png"></div> | 1177 <div class="flex-item-10-percent"> |
1164 <div class="flex-item-fixed-1-12">{{ isolate.mainPort }}</div> | 1178 <img src="packages/observatory/src/elements/img/isolate_icon.png"> |
1165 <div class="flex-item-fixed-4-12"> | |
1166 <div class="flex-row"> | |
1167 <isolate-ref ref="{{ isolate }}"></isolate-ref> | |
1168 </div> | |
1169 <div class="flex-row"> | |
1170 <small> | |
1171 (<a href="{{ isolate.rootLib.hashLink }}">library</a>) | |
1172 (<a href="{{ isolate.relativeHashLink('debug/breakpoints') }}">break
points</a>) | |
1173 (<a href="{{ isolate.relativeHashLink('profile') }}">profile</a>) | |
1174 </small> | |
1175 </div> | |
1176 </div> | 1179 </div> |
1177 | 1180 <div class="flex-item-10-percent"> |
1178 <div class="flex-item-fixed-2-12"> | 1181 <isolate-ref ref="{{ isolate }}"></isolate-ref> |
1179 <a href="{{ isolate.relativeHashLink('allocationprofile') }}"> | |
1180 {{ isolate.newHeapUsed | formatSize }}/{{ isolate.oldHeapUsed | format
Size }} | |
1181 </a> | |
1182 ( <a href="{{ isolate.relativeHashLink('heapmap') }}">map</a> ) | |
1183 </div> | 1182 </div> |
1184 <div class="flex-item-fixed-2-12"> | 1183 <div class="flex-item-20-percent"> |
1185 <template if="{{ isolate.topFrame == null }}"> | 1184 <isolate-run-state isolate="{{ isolate }}"></isolate-run-state> |
1186 idle | 1185 </div> |
1187 </template> | 1186 <div class="flex-item-50-percent"> |
1188 <template if="{{ isolate.topFrame != null }}"> | 1187 <isolate-location isolate="{{ isolate }}"></isolate-location> |
1189 run | 1188 </div> |
1190 </template> | 1189 <div class="flex-item-10-percent"> |
1191 ( <a href="{{ isolate.relativeHashLink('stacktrace') }}">stack trace</a>
) | |
1192 </div> | 1190 </div> |
1193 </div> | 1191 </div> |
1194 | 1192 |
1195 <div class="counters"> | 1193 <div class="flex-row"> |
1196 <template repeat="{{ key in isolate.counters.keys }}"> | 1194 <div class="flex-item-20-percent"></div> |
1197 <div class="counter">{{ key }} ({{ isolate.counters[key] }})</div> | 1195 <div class="flex-item-60-percent"> |
1198 </template> | 1196 <hr> |
| 1197 </div> |
| 1198 <div class="flex-item-20-percent"></div> |
1199 </div> | 1199 </div> |
1200 | 1200 |
1201 <template if="{{ isolate.topFrame != null }}"> | 1201 <isolate-shared-summary isolate="{{ isolate }}"></isolate-shared-summary> |
1202 <script-inset script="{{ isolate.topFrame['script'] }}" pos="{{ isolate.to
pFrame['tokenPos'] }}"> | 1202 |
1203 <function-ref ref="{{ isolate.topFrame['function'] }}"></function-ref> | 1203 </template> |
1204 (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topF
rame['tokenPos'] }}"></script-ref>) | 1204 </polymer-element> |
1205 </script-inset> | 1205 |
| 1206 <polymer-element name="isolate-run-state" extends="observatory-element"> |
| 1207 <template> |
| 1208 <template if="{{ isolate.pauseEvent != null }}"> |
| 1209 <strong>paused</strong> |
| 1210 <action-link callback="{{ resume }}" label="resume"></action-link> |
| 1211 </template> |
| 1212 |
| 1213 <template if="{{ isolate.running }}"> |
| 1214 <strong>running</strong> |
| 1215 <action-link callback="{{ pause }}" label="pause"></action-link> |
| 1216 </template> |
| 1217 |
| 1218 <template if="{{ isolate.idle }}"> |
| 1219 <strong>idle</strong> |
| 1220 </template> |
| 1221 |
| 1222 <template if="{{ isolate.loading }}"> |
| 1223 <strong>loading...</strong> |
1206 </template> | 1224 </template> |
1207 </template> | 1225 </template> |
1208 | |
1209 </polymer-element> | 1226 </polymer-element> |
| 1227 |
| 1228 <polymer-element name="isolate-location" extends="observatory-element"> |
| 1229 <template> |
| 1230 <template if="{{ isolate.pauseEvent != null }}"> |
| 1231 <template if="{{ isolate.pauseEvent['eventType'] == 'IsolateCreated' }}"> |
| 1232 at isolate start |
| 1233 </template> |
| 1234 <template if="{{ isolate.pauseEvent['eventType'] == 'IsolateShutdown' }}"> |
| 1235 at isolate exit |
| 1236 </template> |
| 1237 <template if="{{ isolate.pauseEvent['eventType'] == 'IsolateInterrupted' }
}"> |
| 1238 at |
| 1239 <function-ref ref="{{ isolate.topFrame['function'] }}"> |
| 1240 </function-ref> |
| 1241 (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topF
rame['tokenPos'] }}"></script-ref>) |
| 1242 </template> |
| 1243 <template if="{{ isolate.pauseEvent['eventType'] == 'BreakpointReached' }}
"> |
| 1244 at breakpoint {{ isolate.pauseEvent['breakpoint']['id'] }} |
| 1245 <function-ref ref="{{ isolate.topFrame['function'] }}"> |
| 1246 </function-ref> |
| 1247 (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topF
rame['tokenPos'] }}"></script-ref>) |
| 1248 </template> |
| 1249 </template> |
| 1250 |
| 1251 <template if="{{ isolate.running }}"> |
| 1252 at |
| 1253 <function-ref ref="{{ isolate.topFrame['function'] }}"> |
| 1254 </function-ref> |
| 1255 (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFra
me['tokenPos'] }}"></script-ref>) |
| 1256 </template> |
| 1257 |
| 1258 </template> |
| 1259 </polymer-element> |
| 1260 |
| 1261 <polymer-element name="isolate-shared-summary" extends="observatory-element"> |
| 1262 <template> |
| 1263 <style> |
| 1264 .errorBox { |
| 1265 background-color: #f5f5f5; |
| 1266 border: 1px solid #ccc; |
| 1267 padding: 10px; |
| 1268 font-family: consolas, courier, monospace; |
| 1269 font-size: 1em; |
| 1270 line-height: 1.2em; |
| 1271 white-space: pre; |
| 1272 } |
| 1273 </style> |
| 1274 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
| 1275 <template if="{{ isolate.error != null }}"> |
| 1276 <div class="content-centered"> |
| 1277 <pre class="errorBox">{{ isolate.error.message }}</pre> |
| 1278 <br> |
| 1279 </div> |
| 1280 </template> |
| 1281 <div class="flex-row"> |
| 1282 <div class="flex-item-10-percent"> |
| 1283 </div> |
| 1284 <div class="flex-item-40-percent"> |
| 1285 <isolate-counter-chart counters="{{ isolate.counters }}"></isolate-count
er-chart> |
| 1286 </div> |
| 1287 <div class="flex-item-40-percent"> |
| 1288 <div class="memberList"> |
| 1289 <div class="memberItem"> |
| 1290 <div class="memberName">new heap</div> |
| 1291 <div class="memberValue"> |
| 1292 {{ isolate.newHeapUsed | formatSize }} |
| 1293 of |
| 1294 {{ isolate.newHeapCapacity | formatSize }} |
| 1295 </div> |
| 1296 </div> |
| 1297 <div class="memberItem"> |
| 1298 <div class="memberName">old heap</div> |
| 1299 <div class="memberValue"> |
| 1300 {{ isolate.oldHeapUsed | formatSize }} |
| 1301 of |
| 1302 {{ isolate.oldHeapCapacity | formatSize }} |
| 1303 </div> |
| 1304 </div> |
| 1305 </div> |
| 1306 <br> |
| 1307 <div class="memberItem"> |
| 1308 <div class="memberValue"> |
| 1309 See <a href="{{ isolate.relativeHashLink('stacktrace') }}">stack t
race</a> |
| 1310 </div> |
| 1311 </div> |
| 1312 <div class="memberItem"> |
| 1313 <div class="memberValue"> |
| 1314 See <a href="{{ isolate.relativeHashLink('profile') }}">cpu profil
e</a> |
| 1315 </div> |
| 1316 </div> |
| 1317 <div class="memberList"> |
| 1318 <div class="memberItem"> |
| 1319 <div class="memberValue"> |
| 1320 See <a href="{{ isolate.relativeHashLink('allocationprofile') }}
">allocation profile</a> |
| 1321 </div> |
| 1322 </div> |
| 1323 <div class="memberItem"> |
| 1324 <div class="memberValue"> |
| 1325 See <a href="{{ isolate.relativeHashLink('heapmap') }}">heap map
</a> |
| 1326 </div> |
| 1327 </div> |
| 1328 </div> |
| 1329 </div> |
| 1330 <div class="flex-item-10-percent"> |
| 1331 </div> |
| 1332 </div> |
| 1333 </template> |
| 1334 </polymer-element> |
| 1335 |
| 1336 <polymer-element name="isolate-counter-chart" extends="observatory-element"> |
| 1337 <template> |
| 1338 <div id="counterPieChart" style="height: 200px"></div> |
| 1339 </template> |
| 1340 </polymer-element> |
| 1341 |
| 1342 |
1210 <polymer-element name="isolate-view" extends="observatory-element"> | 1343 <polymer-element name="isolate-view" extends="observatory-element"> |
1211 <template> | 1344 <template> |
1212 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> | 1345 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs
s"> |
1213 <style> | 1346 <style> |
1214 .sourceInset { | 1347 .sourceInset { |
1215 padding-left: 15%; | 1348 padding-left: 15%; |
1216 padding-right: 15%; | 1349 padding-right: 15%; |
1217 } | 1350 } |
1218 .miniProfileChart { | 1351 .miniProfileChart { |
1219 width: 80%; | 1352 width: 80%; |
1220 } | 1353 } |
1221 </style> | 1354 </style> |
1222 | 1355 |
1223 <nav-bar> | 1356 <nav-bar> |
1224 <top-nav-menu></top-nav-menu> | 1357 <top-nav-menu></top-nav-menu> |
1225 <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}"> | 1358 <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}"> |
1226 </isolate-nav-menu> | 1359 </isolate-nav-menu> |
1227 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 1360 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
1228 </nav-bar> | 1361 </nav-bar> |
1229 | 1362 |
1230 <div class="content"> | 1363 <div class="content"> |
1231 <h1>isolate '{{ isolate.name }}'</h1> | 1364 <h1>isolate '{{ isolate.name }}'</h1> |
1232 <div class="memberList"> | 1365 </div> |
1233 <div class="memberItem"> | |
1234 <div class="memberName">status</div> | |
1235 <div class="memberValue"> | |
1236 <template if="{{ isolate.pausedOnStart }}"> | |
1237 <strong style="color:darkred;">paused</strong> @ isolate start | |
1238 <span style="padding-left:20px;"> | |
1239 [<a on-click="{{ resume }}">resume</a>] | |
1240 </span> | |
1241 </template> | |
1242 | 1366 |
1243 <template if="{{ isolate.pausedOnExit }}"> | 1367 <br> |
1244 <strong style="color:darkred;">paused</strong> @ isolate exit | 1368 <div class="flex-row"> |
1245 <span style="padding-left:20px;"> | 1369 <div class="flex-item-10-percent"> |
1246 [<a on-click="{{ resume }}">resume</a>] | 1370 </div> |
1247 </span> | 1371 <div class="flex-item-20-percent"> |
1248 </template> | 1372 <isolate-run-state isolate="{{ isolate }}"></isolate-run-state> |
1249 | 1373 </div> |
1250 <template if="{{ isolate.running }}"> | 1374 <div class="flex-item-60-percent"> |
1251 <strong>running</strong> | 1375 <isolate-location isolate="{{ isolate }}"></isolate-location> |
1252 @ | 1376 </div> |
1253 <function-ref ref="{{ isolate.topFrame['function'] }}"> | 1377 <div class="flex-item-10-percent"> |
1254 </function-ref> | |
1255 (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolat
e.topFrame['tokenPos'] }}"> | |
1256 </script-ref>) | |
1257 </template> | |
1258 | |
1259 <template if="{{ isolate.idle }}"> | |
1260 <strong>idle</strong> | |
1261 </template> | |
1262 </div> | |
1263 </div> | |
1264 </div> | 1378 </div> |
1265 </div> | 1379 </div> |
1266 | |
1267 <template if="{{ isolate.error != null }}"> | |
1268 <div class="content"> | |
1269 <h1>Error</h1> | |
1270 <div class="memberList"> | |
1271 <div class="memberItem"> | |
1272 <div class="memberName">message</div> | |
1273 <div class="memberValue"> | |
1274 <pre>{{ isolate.error.message }}</pre> | |
1275 </div> | |
1276 </div> | |
1277 <div class="memberItem"> | |
1278 <template if="{{ isolate.error.exception != null }}"> | |
1279 <div class="memberName">exception</div> | |
1280 <div class="memberValue"> | |
1281 <instance-ref ref="{{ isolate.error.exception }}"></instance-ref
> | |
1282 </div> | |
1283 </template> | |
1284 </div> | |
1285 <div class="memberItem"> | |
1286 <template if="{{ isolate.error.stacktrace != null }}"> | |
1287 <div class="memberName">stacktrace</div> | |
1288 <div class="memberValue"> | |
1289 <instance-ref ref="{{ isolate.error.stacktrace }}"></instance-ref> | |
1290 </div> | |
1291 </template> | |
1292 </div> | |
1293 </div> | |
1294 </div> | |
1295 <hr> | |
1296 </template> | |
1297 | |
1298 <br> | 1380 <br> |
1299 | 1381 |
1300 <template if="{{ isolate.topFrame != null }}"> | 1382 <template if="{{ isolate.topFrame != null }}"> |
| 1383 <br> |
1301 <script-inset script="{{ isolate.topFrame['script'] }}" pos="{{ isolate.to
pFrame['tokenPos'] }}"> | 1384 <script-inset script="{{ isolate.topFrame['script'] }}" pos="{{ isolate.to
pFrame['tokenPos'] }}"> |
1302 </script-inset> | 1385 </script-inset> |
1303 </template> | 1386 </template> |
1304 | 1387 |
| 1388 <div class="flex-row"> |
| 1389 <div class="flex-item-20-percent"></div> |
| 1390 <div class="flex-item-60-percent"><hr></div> |
| 1391 <div class="flex-item-20-percent"></div> |
| 1392 </div> |
| 1393 |
1305 <br> | 1394 <br> |
1306 | 1395 |
| 1396 <isolate-shared-summary isolate="{{ isolate }}"></isolate-shared-summary> |
| 1397 |
| 1398 <div class="flex-row"> |
| 1399 <div class="flex-item-20-percent"></div> |
| 1400 <div class="flex-item-60-percent"><hr></div> |
| 1401 <div class="flex-item-20-percent"></div> |
| 1402 </div> |
| 1403 |
1307 <div class="content-centered"> | 1404 <div class="content-centered"> |
1308 <div class="flex-row"> | 1405 <div class="flex-row"> |
1309 | 1406 <div class="flex-item-50-percent"> |
1310 <div class="flex-item-fixed-6-12"> | |
1311 <div class="memberList"> | 1407 <div class="memberList"> |
1312 <div class="memberItem"> | 1408 <div class="memberItem"> |
1313 <div class="memberName">root library</div> | 1409 <div class="memberName">root library</div> |
1314 <div class="memberValue"> | 1410 <div class="memberValue"> |
1315 <library-ref ref="{{ isolate.rootLib }}"></library-ref> | 1411 <library-ref ref="{{ isolate.rootLib }}"></library-ref> |
1316 </div> | 1412 </div> |
1317 </div> | 1413 </div> |
1318 <div class="memberItem"> | 1414 <div class="memberItem"> |
1319 <template if="{{ isolate.entry != null }}"> | 1415 <template if="{{ isolate.entry != null }}"> |
1320 <div class="memberName">entry</div> | 1416 <div class="memberName">entry</div> |
1321 <div class="memberValue"> | 1417 <div class="memberValue"> |
1322 <function-ref ref="{{ isolate.entry }}"></function-ref> | 1418 <function-ref ref="{{ isolate.entry }}"></function-ref> |
1323 </div> | 1419 </div> |
1324 </template> | 1420 </template> |
1325 </div> | 1421 </div> |
1326 <div class="memberItem"> | 1422 <div class="memberItem"> |
1327 <div class="memberName">id</div> | 1423 <div class="memberName">isolate id</div> |
1328 <div class="memberValue">{{ isolate.mainPort }}</div> | 1424 <div class="memberValue">{{ isolate.mainPort }}</div> |
1329 </div> | 1425 </div> |
1330 <br> | |
1331 <div class="memberItem"> | |
1332 <div class="memberValue"> | |
1333 See <a href="{{ isolate.relativeHashLink('stacktrace') }}">stack
trace</a> | |
1334 </div> | |
1335 </div> | |
1336 <div class="memberItem"> | |
1337 <div class="memberValue"> | |
1338 See <a href="{{ isolate.relativeHashLink('profile') }}">cpu prof
ile</a> | |
1339 </div> | |
1340 </div> | |
1341 <div class="memberItem"> | |
1342 <div class="memberValue"> | |
1343 See <a href="{{ isolate.relativeHashLink('debug/breakpoints') }}
">breakpoints</a> | |
1344 | |
1345 </div> | |
1346 </div> | |
1347 </div> | 1426 </div> |
1348 </div> | 1427 </div> |
1349 | 1428 <div class="flex-item-50-percent"> |
1350 <div class="flex-item-fixed-6-12"> | 1429 <div class="memberItem"> |
1351 <div class="memberList"> | 1430 <div class="memberValue"> |
1352 <div class="memberItem"> | 1431 See <a href="{{ isolate.relativeHashLink('debug/breakpoints') }}">
breakpoints</a> |
1353 <div class="memberName">new heap</div> | |
1354 <div class="memberValue"> | |
1355 {{ isolate.newHeapUsed | formatSize }} | |
1356 of | |
1357 {{ isolate.newHeapCapacity | formatSize }} | |
1358 </div> | |
1359 </div> | |
1360 <div class="memberItem"> | |
1361 <div class="memberName">old heap</div> | |
1362 <div class="memberValue"> | |
1363 {{ isolate.oldHeapUsed | formatSize }} | |
1364 of | |
1365 {{ isolate.oldHeapCapacity | formatSize }} | |
1366 </div> | |
1367 </div> | |
1368 </div> | |
1369 <br> | |
1370 <div class="memberList"> | |
1371 <div class="memberItem"> | |
1372 <div class="memberValue"> | |
1373 See <a href="{{ isolate.relativeHashLink('allocationprofile') }}
">allocation profile</a> | |
1374 </div> | |
1375 </div> | |
1376 <div class="memberItem"> | |
1377 <div class="memberValue"> | |
1378 See <a href="{{ isolate.relativeHashLink('heapmap') }}">heap map
</a> | |
1379 </div> | |
1380 </div> | 1432 </div> |
1381 </div> | 1433 </div> |
1382 </div> | 1434 </div> |
1383 | 1435 </div> |
1384 </div> <!-- flex row --> | 1436 </div> |
1385 </div> <!-- content --> | |
1386 | 1437 |
1387 <hr> | 1438 <hr> |
1388 | 1439 |
1389 <div class="content"> | 1440 <div class="content"> |
1390 libraries ({{ isolate.libraries.length }}) | 1441 libraries ({{ isolate.libraries.length }}) |
1391 <curly-block expand="{{ isolate.libraries.length <= 8 }}"> | 1442 <curly-block expand="{{ isolate.libraries.length <= 8 }}"> |
1392 <div class="memberList"> | 1443 <div class="memberList"> |
1393 <template repeat="{{ lib in isolate.libraries }}"> | 1444 <template repeat="{{ lib in isolate.libraries }}"> |
1394 <div class="memberItem"> | 1445 <div class="memberItem"> |
1395 <div class="memberName"> | 1446 <div class="memberName"> |
1396 <library-ref ref="{{ lib }}"></library-ref> | 1447 <library-ref ref="{{ lib }}"></library-ref> |
1397 </div> | 1448 </div> |
1398 </div> | 1449 </div> |
1399 </template> | 1450 </template> |
1400 </div> | 1451 </div> |
1401 </curly-block> | 1452 </curly-block> |
1402 </div> | 1453 </div> |
1403 | 1454 |
1404 <hr> | 1455 <hr> |
1405 | 1456 |
1406 <div class="content"> | 1457 <div class="content"> |
1407 <div class="memberValue">Isolate execution</div> | |
1408 <template repeat="{{ key in isolate.counters.keys }}"> | |
1409 <div class="memberValue">{{ key }} ({{ isolate.counters[key] }})</div> | |
1410 </template> | |
1411 </div> | |
1412 | |
1413 <div class="content"> | |
1414 <div id="tagProfileChart" class="miniProfileChart" style="height: 600px"><
/div> | 1458 <div id="tagProfileChart" class="miniProfileChart" style="height: 600px"><
/div> |
1415 </div> | 1459 </div> |
1416 | 1460 |
1417 <hr> | 1461 <hr> |
1418 | 1462 |
1419 <div class="content"> | 1463 <div class="content"> |
1420 <eval-box callback="{{ eval }}"></eval-box> | 1464 <eval-box callback="{{ eval }}"></eval-box> |
1421 </div> | 1465 </div> |
1422 <br><br><br><br> | 1466 <br><br><br><br> |
1423 <br><br><br><br> | 1467 <br><br><br><br> |
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2080 <td title="{{ classTable.getValue(row, 8) }}">{{ classTable.getFormatt
edValue(row, 8) }}</td> | 2124 <td title="{{ classTable.getValue(row, 8) }}">{{ classTable.getFormatt
edValue(row, 8) }}</td> |
2081 </tr> | 2125 </tr> |
2082 </tbody> | 2126 </tbody> |
2083 </table> | 2127 </table> |
2084 </div> | 2128 </div> |
2085 </template> | 2129 </template> |
2086 | 2130 |
2087 </polymer-element> | 2131 </polymer-element> |
2088 <polymer-element name="script-view" extends="observatory-element"> | 2132 <polymer-element name="script-view" extends="observatory-element"> |
2089 <template> | 2133 <template> |
| 2134 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.css"
> |
2090 <nav-bar> | 2135 <nav-bar> |
2091 <top-nav-menu></top-nav-menu> | 2136 <top-nav-menu></top-nav-menu> |
2092 <isolate-nav-menu isolate="{{ script.isolate }}"> | 2137 <isolate-nav-menu isolate="{{ script.isolate }}"> |
2093 </isolate-nav-menu> | 2138 </isolate-nav-menu> |
2094 <nav-menu link="." anchor="{{ script.name }}" last="{{ true }}"> | 2139 <nav-menu link="." anchor="{{ script.name }}" last="{{ true }}"> |
2095 <li> | 2140 <li> |
2096 <input type="checkbox" checked="{{ showCoverage }}"> | 2141 <input type="checkbox" checked="{{ showCoverage }}"> |
2097 <label>Show Coverage Data</label> | 2142 <label>Show Coverage Data</label> |
2098 </li> | 2143 </li> |
2099 </nav-menu> | 2144 </nav-menu> |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2263 <template><link rel="stylesheet" href="packages/observatory/src/elements/css/sha
red.css"> | 2308 <template><link rel="stylesheet" href="packages/observatory/src/elements/css/sha
red.css"> |
2264 <a href="{{ url }}">{{ ref.name }}</a> | 2309 <a href="{{ url }}">{{ ref.name }}</a> |
2265 </template> | 2310 </template> |
2266 | 2311 |
2267 </polymer-element> | 2312 </polymer-element> |
2268 | 2313 |
2269 | 2314 |
2270 <observatory-application></observatory-application> | 2315 <observatory-application></observatory-application> |
2271 | 2316 |
2272 </body></html> | 2317 </body></html> |
OLD | NEW |