| 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 |