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 <script src="packages/browser/interop.js"></script> | 3 <script src="packages/browser/interop.js"></script> |
4 | 4 |
5 <title>Dart VM Observatory</title> | 5 <title>Dart VM Observatory</title> |
6 <meta charset="utf-8"> | 6 <meta charset="utf-8"> |
7 <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.c
ss"> | 7 <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.c
ss"> |
8 | 8 |
9 <script src="index_devtools.html_bootstrap.dart.js"></script> | 9 <script src="index_devtools.html_bootstrap.dart.js"></script> |
10 | 10 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 </div> | 66 </div> |
67 </template> </polymer-element><polymer-element name="function-ref" extends="ser
vice-ref"> | 67 </template> </polymer-element><polymer-element name="function-ref" extends="ser
vice-ref"> |
68 <template> | 68 <template> |
69 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> | 69 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> |
70 </template> | 70 </template> |
71 | 71 |
72 </polymer-element><polymer-element name="instance-ref" extends="service-ref"> | 72 </polymer-element><polymer-element name="instance-ref" extends="service-ref"> |
73 <template> | 73 <template> |
74 <div> | 74 <div> |
75 <template if="{{ (ref['type'] == 'null') }}"> | 75 <template if="{{ (ref['type'] == 'null') }}"> |
76 {{ "null" }} | 76 unexpected null |
77 </template> | 77 </template> |
78 <template if="{{ (ref['type'] != 'null') }}"> | 78 <template if="{{ (ref['type'] == '@Null') }}"> |
79 <a href="{{ url }}">{{ name }} </a> | 79 {{ name }} |
| 80 </template> |
| 81 <template if="{{ (ref['type'] != 'null') && ref['type'] != '@Null' }}"
> |
| 82 <a href="{{ url }}">{{ name }} </a> |
80 </template> | 83 </template> |
81 </div> | 84 </div> |
82 </template> | 85 </template> |
83 | 86 |
84 </polymer-element><polymer-element name="library-ref" extends="service-ref"> | 87 </polymer-element> |
| 88 <polymer-element name="library-ref" extends="service-ref"> |
85 <template> | 89 <template> |
86 <a href="{{ url }}">{{ name }}</a> | 90 <a href="{{ url }}">{{ name }}</a> |
87 </template> | 91 </template> |
88 | 92 |
89 </polymer-element><polymer-element name="class-view" extends="observatory-elemen
t"> | 93 </polymer-element><polymer-element name="class-view" extends="observatory-elemen
t"> |
90 <template> | 94 <template> |
91 <div class="row"> | 95 <div class="row"> |
92 <div class="col-md-8 col-md-offset-2"> | 96 <div class="col-md-8 col-md-offset-2"> |
93 <div class="panel panel-warning"> | 97 <div class="panel panel-warning"> |
94 <div class="panel-heading"> | 98 <div class="panel-heading"> |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 </tbody> | 295 </tbody> |
292 </table> | 296 </table> |
293 </div> | 297 </div> |
294 </div> | 298 </div> |
295 </div> | 299 </div> |
296 </div> | 300 </div> |
297 </template> | 301 </template> |
298 | 302 |
299 </polymer-element><polymer-element name="isolate-summary" extends="observatory-e
lement"> | 303 </polymer-element><polymer-element name="isolate-summary" extends="observatory-e
lement"> |
300 <template> | 304 <template> |
301 » <div class="row"> | 305 <div class="row"> |
302 » <div class="col-md-1"> | |
303 <img src="img/isolate_icon.png" class="img-polaroid"> | |
304 » </div> | |
305 » <div class="col-md-1">{{ isolate }}</div> | |
306 » <div class="col-md-10">{{ name }}</div> | |
307 » </div> | |
308 » <div class="row"> | |
309 » <div class="col-md-2"></div> | |
310 » <div class="col-md-1"> | |
311 » » <a href="{{ app.locationManager.relativeLink(isolate, 'stacktrac
e') }}">Stacktrace</a> | |
312 » </div> | |
313 <div class="col-md-1"> | 306 <div class="col-md-1"> |
314 <a href="{{ app.locationManager.relativeLink(isolate, 'library') }}">Lib
rary</a> | 307 <img src="packages/observatory/src/observatory_elements/img/isolate_icon
.png" class="img-polaroid"> |
315 </div> | 308 </div> |
316 <div class="col-md-1"> | 309 |
317 <a href="{{ app.locationManager.relativeLink(isolate, 'debug/breakpoints
') }}">Breakpoints</a> | 310 <div class="col-md-1">{{ isolate.name }}</div> |
| 311 |
| 312 <!-- TODO(turnidge): Use function-ref when it can take isolate param --> |
| 313 <div class="col-md-4"> |
| 314 |
| 315 <div class="row"> |
| 316 <template if="{{ isolate.entry['id'] != null }}"> |
| 317 <a href="{{ app.locationManager.relativeLink(isolate.id, isolate.ent
ry['id']) }}"> |
| 318 {{ isolate.entry['name'] }} |
| 319 </a> |
| 320 </template> |
| 321 <template if="{{ isolate.entry['id'] == null }}"> |
| 322 <!-- fred --> |
| 323 root isolate |
| 324 </template> |
| 325 </div> |
| 326 |
| 327 <div class="row"> |
| 328 <small> |
| 329 (<a href="{{ app.locationManager.relativeLink(isolate.id, isolate.ro
otLib) }}">library</a>) |
| 330 (<a href="{{ app.locationManager.relativeLink(isolate.id, 'debug/bre
akpoints') }}">breakpoints</a>) |
| 331 (<a href="{{ app.locationManager.relativeLink(isolate.id, 'profile')
}}">profile</a>) |
| 332 </small> |
| 333 </div> |
318 </div> | 334 </div> |
319 <div class="col-md-1"> | 335 |
320 <a href="{{ app.locationManager.relativeLink(isolate, 'profile') }}">Pro
file</a> | 336 <div class="col-md-2"> |
| 337 <div class="row"> |
| 338 <div class="col-md-3">{{ isolate.timers['total'] | formatTime }}</div> |
| 339 <div class="col-md-1"></div> |
| 340 <div class="col-md-3"><p class="text-muted">total</p></div> |
| 341 </div> |
| 342 <div class="row"> |
| 343 <div class="col-md-3">{{ isolate.timers['dart'] | formatTime }}</div> |
| 344 <div class="col-md-1"></div> |
| 345 <div class="col-md-3"><p class="text-muted">dart</p></div> |
| 346 </div> |
| 347 <div class="row"> |
| 348 <div class="col-md-3">{{ isolate.timers['compile'] | formatTime }}</di
v> |
| 349 <div class="col-md-1"></div> |
| 350 <div class="col-md-3"><p class="text-muted">compile</p></div> |
| 351 </div> |
| 352 <div class="row"> |
| 353 <div class="col-md-3">{{ isolate.timers['gc'] | formatTime }}</div> |
| 354 <div class="col-md-1"></div> |
| 355 <div class="col-md-3"><p class="text-muted">gc</p></div> |
| 356 </div> |
| 357 <div class="row"> |
| 358 <div class="col-md-3">{{ isolate.timers['init'] | formatTime }}</div> |
| 359 <div class="col-md-1"></div> |
| 360 <div class="col-md-3"><p class="text-muted">init</p></div> |
| 361 </div> |
321 </div> | 362 </div> |
322 <div class="col-md-1"> | 363 <div class="col-md-2"> |
323 <a href="{{ app.locationManager.relativeLink(isolate, 'allocationprofile
') }}">Allocation Profile</a> | 364 <a href="{{ app.locationManager.relativeLink(isolate.id, 'allocationprof
ile') }}"> |
| 365 {{ isolate.newHeapUsed | formatSize }}/{{ isolate.oldHeapUsed | format
Size }} |
| 366 </a> |
324 </div> | 367 </div> |
325 » <div class="col-md-8"></div> | 368 <div class="col-md-2"> |
| 369 <template if="{{ isolate.topFrame == null }}"> |
| 370 idle |
| 371 </template> |
| 372 <template if="{{ isolate.topFrame != null }}"> |
| 373 run |
| 374 </template> |
| 375 ( <a href="{{ app.locationManager.relativeLink(isolate.id, 'stacktrace')
}}">stack trace</a> ) |
| 376 </div> |
| 377 </div> |
| 378 <div class="row"> |
| 379 <div class="col-md-3"> |
| 380 </div> |
| 381 <div class="col-md-6"> |
| 382 <template if="{{ isolate.topFrame != null }}"> |
| 383 <a href="{{ app.locationManager.relativeLink(isolate.id, isolate.topFr
ame['function']['id']) }}"> |
| 384 {{ isolate.topFrame['function']['user_name'] }} |
| 385 </a> |
| 386 (<a href="{{ app.locationManager.relativeLink(isolate.id, isolate.topF
rame['script']['id']) }}"> |
| 387 {{ isolate.topFrame | fileAndLine }} |
| 388 </a>) |
| 389 <br> |
| 390 <pre>{{ isolate.topFrame['line'] }} {{ isolate.topFrame['lineSt
ring'] }}</pre> |
| 391 </template> |
| 392 </div> |
| 393 <div class="col-md-3"> |
| 394 </div> |
326 </div> | 395 </div> |
327 </template> | 396 </template> |
328 | 397 |
329 </polymer-element> | 398 </polymer-element> |
330 <polymer-element name="isolate-list" extends="observatory-element"> | 399 <polymer-element name="isolate-list" extends="observatory-element"> |
331 <template> | 400 <template> |
| 401 <button type="button" on-click="{{refresh}}">Refresh</button> |
332 <ul class="list-group"> | 402 <ul class="list-group"> |
333 <template repeat="{{ isolate in app.isolateManager.isolates.values }}"> | 403 <template repeat="{{ isolate in app.isolateManager.isolates.values }}"> |
334 <li class="list-group-item"> | 404 <li class="list-group-item"> |
335 <isolate-summary app="{{ app }}" isolate="{{ isolate.id }}" name="{{ iso
late.name }}"></isolate-summary> | 405 <isolate-summary app="{{ app }}" isolate="{{ isolate }}"></isolate-summa
ry> |
336 </li> | 406 </li> |
337 </template> | 407 </template> |
338 </ul> | 408 </ul> |
339 (<a href="{{ app.locationManager.absoluteLink('cpu') }}">cpu</a>) | 409 (<a href="{{ app.locationManager.absoluteLink('cpu') }}">cpu</a>) |
340 | |
341 </template> | 410 </template> |
342 | 411 |
343 </polymer-element><polymer-element name="instance-view" extends="observatory-ele
ment"> | 412 </polymer-element> |
| 413 <polymer-element name="instance-view" extends="observatory-element"> |
344 <template> | 414 <template> |
345 <div class="row"> | 415 <div class="row"> |
346 <div class="col-md-8 col-md-offset-2"> | 416 <div class="col-md-8 col-md-offset-2"> |
347 <div class="panel panel-warning"> | 417 <div class="panel panel-warning"> |
348 <div class="panel-heading"> | 418 <div class="panel-heading"> |
349 Instance of | 419 Instance of |
350 <class-ref app="{{ app }}" ref="{{ instance['class'] }}"></class-ref> | 420 <class-ref app="{{ app }}" ref="{{ instance['class'] }}"></class-ref> |
351 </div> | 421 </div> |
352 <div class="panel-body"> | 422 <div class="panel-body"> |
353 <template if="{{ instance['error'] == null }}"> | 423 <template if="{{ instance['error'] == null }}"> |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
473 </td> | 543 </td> |
474 <td> | 544 <td> |
475 <class-ref app="{{ app }}" ref="{{ cls }}" internal=""></class-ref> | 545 <class-ref app="{{ app }}" ref="{{ cls }}" internal=""></class-ref> |
476 </td> | 546 </td> |
477 </tr> | 547 </tr> |
478 </tbody> | 548 </tbody> |
479 </table> | 549 </table> |
480 | 550 |
481 </template> | 551 </template> |
482 | 552 |
483 </polymer-element><polymer-element name="heap-profile" extends="observatory-elem
ent"> | 553 </polymer-element> |
| 554 <polymer-element name="heap-profile" extends="observatory-element"> |
484 <template> | 555 <template> |
485 <div> | 556 <div> |
486 <button type="button" on-click="{{refreshData}}">Refresh</button> | 557 <button type="button" on-click="{{refreshData}}">Refresh</button> |
487 </div> | 558 </div> |
488 <div> | 559 <div> |
489 <span>New Space </span> | 560 <span>New Space </span> |
490 <span>{{ status(true) }}</span> | 561 <span>{{ status(true) }}</span> |
491 </div> | 562 </div> |
492 <div> | 563 <div> |
493 <span>Old Space </span> | 564 <span>Old Space </span> |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
540 <td style="font-family: consolas, courier, monospace;font-size: 1em;
line-height: 1.2em;white-space: nowrap;">{{line.line}}</td> | 611 <td style="font-family: consolas, courier, monospace;font-size: 1em;
line-height: 1.2em;white-space: nowrap;">{{line.line}}</td> |
541 <td width="99%" style="font-family: consolas, courier, monospace;fon
t-size: 1em;line-height: 1.2em;">{{line.text}}</td> | 612 <td width="99%" style="font-family: consolas, courier, monospace;fon
t-size: 1em;line-height: 1.2em;">{{line.text}}</td> |
542 </tr> | 613 </tr> |
543 </tbody> | 614 </tbody> |
544 </table> | 615 </table> |
545 </div> | 616 </div> |
546 </div> | 617 </div> |
547 </div> | 618 </div> |
548 </template> | 619 </template> |
549 | 620 |
550 </polymer-element><polymer-element name="stack-trace" extends="observatory-eleme
nt"> | 621 </polymer-element><polymer-element name="stack-frame" extends="observatory-eleme
nt"> |
551 <template> | 622 <template> |
552 <div class="alert alert-info">Stack Trace</div> | 623 <div class="row"> |
553 <table class="table table-hover"> | 624 <div class="col-md-1"></div> |
554 <thead> | 625 <div class="col-md-1"> |
555 <tr> | 626 #{{ frame['depth'] }} |
556 <th>Depth</th> | 627 </div> |
557 <th>Function</th> | 628 <div class="col-md-9"> |
558 <th>Script</th> | 629 <function-ref app="{{ app }}" ref="{{ frame['function'] }}"></function-r
ef> |
559 <th>Line</th> | 630 ( <script-ref app="{{ app }}" ref="{{ frame['script'] }}"></script-ref>:
{{ frame['line'] }} ) |
560 </tr> | 631 </div> |
561 </thead> | 632 <div class="col-md-1"></div> |
562 <tbody> | 633 </div> |
563 <tr template="" repeat="{{ frame in trace['members'] }}"> | 634 |
564 <td></td> | 635 <template repeat="{{ v in frame['vars'] }}"> |
565 <td><function-ref app="{{ app }}" ref="{{ frame['function'] }}"></functi
on-ref></td> | 636 <div class="row"> |
566 <td><script-ref app="{{ app }}" ref="{{ frame['script'] }}"></script-ref
></td> | 637 <div class="col-md-3"></div> |
567 <td>{{ frame['line'] }}</td> | 638 <div class="col-md-1"> |
568 </tr> | 639 {{ v['name'] }} |
569 </tbody> | 640 </div> |
570 </table> | 641 <div class="col-md-6"> |
| 642 <instance-ref app="{{ app }}" ref="{{ v['value'] }}"></instance-ref> |
| 643 </div> |
| 644 <div class="col-md-2"></div> |
| 645 </div> |
| 646 </template> |
| 647 |
571 </template> | 648 </template> |
572 | 649 |
573 </polymer-element><polymer-element name="message-viewer" extends="observatory-el
ement"> | 650 </polymer-element> |
| 651 <polymer-element name="stack-trace" extends="observatory-element"> |
| 652 <template> |
| 653 <template if="{{ trace['members'].isEmpty }}"> |
| 654 <div class="col-md-1"></div> |
| 655 <div class="col-md-11"> |
| 656 <em>No stack</em> |
| 657 </div> |
| 658 </template> |
| 659 <template if="{{ trace['members'].isNotEmpty }}"> |
| 660 <ul class="list-group"> |
| 661 <template repeat="{{ frame in trace['members'] }}"> |
| 662 <li class="list-group-item"> |
| 663 <stack-frame app="{{ app }}" frame="{{ frame }}"></stack-frame> |
| 664 </li> |
| 665 </template> |
| 666 </ul> |
| 667 </template> |
| 668 </template> |
| 669 |
| 670 </polymer-element> |
| 671 <polymer-element name="message-viewer" extends="observatory-element"> |
574 <!-- | 672 <!-- |
575 This is a big switch statement which instantiates the custom element | 673 This is a big switch statement which instantiates the custom element |
576 designated to display the message type. | 674 designated to display the message type. |
577 --> | 675 --> |
578 <template> | 676 <template> |
579 <!-- If the message type is an IsolateList --> | 677 <!-- If the message type is an IsolateList --> |
580 <template if="{{ messageType == 'IsolateList' }}"> | 678 <template if="{{ messageType == 'IsolateList' }}"> |
581 <isolate-list app="{{ app }}"></isolate-list> | 679 <isolate-list app="{{ app }}"></isolate-list> |
582 </template> | 680 </template> |
583 <!-- If the message type is a StackTrace --> | 681 <!-- If the message type is a StackTrace --> |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
706 <isolate-profile app="{{ app }}"></isolate-profile> | 804 <isolate-profile app="{{ app }}"></isolate-profile> |
707 </template> | 805 </template> |
708 <template if="{{ app.locationManager.profile == false }}"> | 806 <template if="{{ app.locationManager.profile == false }}"> |
709 <response-viewer app="{{ app }}"></response-viewer> | 807 <response-viewer app="{{ app }}"></response-viewer> |
710 </template> | 808 </template> |
711 </template> | 809 </template> |
712 | 810 |
713 </polymer-element> | 811 </polymer-element> |
714 <observatory-application devtools="true"></observatory-application> | 812 <observatory-application devtools="true"></observatory-application> |
715 | 813 |
716 </body></html> | 814 </body></html> |
OLD | NEW |