Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(780)

Side by Side Diff: runtime/bin/vmservice/client/deployed/web/index_devtools.html

Issue 271153002: Add pause/resume for isolates in vmservice/observatory. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: gen js Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 <title>Dart VM Observatory</title> 4 <title>Dart VM Observatory</title>
5 <meta charset="utf-8"> 5 <meta charset="utf-8">
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_devtools.html_bootstrap.dart.js"></script> 10 <script src="index_devtools.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">&nbsp;&nbsp;⊟&nbsp;&nbsp;</div>
30 <br>
31 <content></content>
32 }
33 </template>
34 <template if="{{ !busy }}">
35 {<a on-click="{{ toggleExpand }}"><div class="idle">&nbsp;&nbsp;⊟&nbsp;& 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">&nbsp;&nbsp;⊞&nbsp;&nbsp;</div>}
45 </template>
46 <template if="{{ !busy }}">
47 {<a on-click="{{ toggleExpand }}"><div class="idle">&nbsp;&nbsp;⊞&nbsp;& 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 &lt;{{ ref.serviceType }}&gt;
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) &amp;&amp;
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) &amp;&amp;
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
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">&gt;</li> 248 <li class="spacer">&gt;</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
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">&nbsp;&nbsp;⊟&nbsp;&nbsp;</div>
267 <br>
268 <content></content>
269 }
270 </template>
271 <template if="{{ !busy }}">
272 {<a on-click="{{ toggleExpand }}"><div class="idle">&nbsp;&nbsp;⊟&nbsp;& 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">&nbsp;&nbsp;⊞&nbsp;&nbsp;</div>}
282 </template>
283 <template if="{{ !busy }}">
284 {<a on-click="{{ toggleExpand }}"><div class="idle">&nbsp;&nbsp;⊞&nbsp;& 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 &lt;{{ ref.serviceType }}&gt;
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) &amp;&amp;
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) &amp;&amp;
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
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
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
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 devtools="true"></observatory-application> 2315 <observatory-application devtools="true"></observatory-application>
2271 2316
2272 </body></html> 2317 </body></html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698