| 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 11 matching lines...) Expand all Loading... |
| 22 <ul class="list-group"> | 22 <ul class="list-group"> |
| 23 <template repeat="{{ bpt in msg['breakpoints'] }}"> | 23 <template repeat="{{ bpt in msg['breakpoints'] }}"> |
| 24 <li class="list-group-item"> | 24 <li class="list-group-item"> |
| 25 {{ bpt }} | 25 {{ bpt }} |
| 26 </li> | 26 </li> |
| 27 </template> | 27 </template> |
| 28 </ul> | 28 </ul> |
| 29 </template> | 29 </template> |
| 30 </template> | 30 </template> |
| 31 | 31 |
| 32 </polymer-element><polymer-element name="error-view" extends="observatory-elemen
t"> | 32 </polymer-element><polymer-element name="service-ref" extends="observatory-eleme
nt"> |
| 33 |
| 34 </polymer-element><polymer-element name="class-ref" extends="service-ref"> |
| 35 <template> |
| 36 <a href="{{ url }}">{{ name }}</a> |
| 37 </template> |
| 38 |
| 39 </polymer-element> |
| 40 <polymer-element name="error-view" extends="observatory-element"> |
| 33 <template> | 41 <template> |
| 34 <div class="row"> | 42 <div class="row"> |
| 35 <div class="col-md-8 col-md-offset-2"> | 43 <div class="col-md-8 col-md-offset-2"> |
| 36 <div class="panel panel-danger"> | 44 <div class="panel panel-danger"> |
| 37 <div class="panel-heading">Error</div> | 45 <div class="panel-heading">Error</div> |
| 38 <div class="panel-body"> | 46 <div class="panel-body"> |
| 39 <template if="{{ (error_obj == null) || (error_obj['type'] != 'Languag
eError') }}"> | 47 <template if="{{ (error_obj == null) || (error_obj['type'] != 'Languag
eError') }}"> |
| 40 <p>{{ error }}</p> | 48 <p>{{ error }}</p> |
| 41 </template> | 49 </template> |
| 42 <template if="{{ (error_obj != null) && (error_obj['type'] ==
'LanguageError') }}"> | 50 <template if="{{ (error_obj != null) && (error_obj['type'] ==
'LanguageError') }}"> |
| 43 <pre>{{ error_obj['error_msg'] }}</pre> | 51 <pre>{{ error_obj['error_msg'] }}</pre> |
| 44 </template> | 52 </template> |
| 45 </div> | 53 </div> |
| 46 </div> | 54 </div> |
| 47 </div> | 55 </div> |
| 48 </div> | 56 </div> |
| 49 </template> | 57 </template> |
| 50 | 58 |
| 51 </polymer-element><polymer-element name="field-ref" extends="observatory-element
"> | 59 </polymer-element><polymer-element name="field-ref" extends="service-ref"> |
| 52 <template> | 60 <template> |
| 53 <div> | 61 <div> |
| 54 <template if="{{ field['final'] }}"> final </template> | 62 <template if="{{ ref['final'] }}"> final </template> |
| 55 <template if="{{ field['const'] }}"> const </template> | 63 <template if="{{ ref['const'] }}"> const </template> |
| 56 <template if="{{ (field['declared_type']['name'] == 'dynamic' && !fiel
d['final'] && !field['const']) }}"> | 64 <template if="{{ (ref['declared_type']['name'] == 'dynamic' && !ref['f
inal'] && !ref['const']) }}"> |
| 57 var | 65 var |
| 58 </template> | 66 </template> |
| 59 <template if="{{ (field['declared_type']['name'] != 'dynamic') }}"> | 67 <template if="{{ (ref['declared_type']['name'] != 'dynamic') }}"> |
| 60 <a href="{{ app.locationManager.currentIsolateClassLink(field['declared_type']
['id']) }}"> | 68 <class-ref app="{{ app }}" ref="{{ ref['declared_type'] }}"></class-ref> |
| 61 {{ field['declared_type']['user_name'] }} </a> | |
| 62 </template> | 69 </template> |
| 63 <a href="{{ app.locationManager.currentIsolateObjectLink(field['id'])}}"> | 70 <a href="{{ url }}">{{ name }}</a> |
| 64 {{ field['user_name'] }} </a> | |
| 65 </div> | 71 </div> |
| 66 </template> </polymer-element><polymer-element name="instance-ref" extends="obs
ervatory-element"> | 72 </template> </polymer-element><polymer-element name="function-ref" extends="ser
vice-ref"> |
| 73 <template> |
| 74 <a href="{{ url }}">{{ name }}</a> |
| 75 </template> |
| 76 |
| 77 </polymer-element><polymer-element name="instance-ref" extends="service-ref"> |
| 67 <template> | 78 <template> |
| 68 <div> | 79 <div> |
| 69 <template if="{{ (instance['type'] == 'null') }}"> | 80 <template if="{{ (ref['type'] == 'null') }}"> |
| 70 {{ "null" }} | 81 {{ "null" }} |
| 71 </template> | 82 </template> |
| 72 <template if="{{ (instance['type'] != 'null') }}"> | 83 <template if="{{ (ref['type'] != 'null') }}"> |
| 73 <a href="{{ app.locationManager.currentIsolateObjectLink(instance['id'])}}"> | 84 <a href="{{ url }}">{{ name }} </a> |
| 74 {{ instance['preview'] }} | |
| 75 </a> | |
| 76 </template> | 85 </template> |
| 77 </div> | 86 </div> |
| 78 </template> </polymer-element><polymer-element name="class-view" extends="obser
vatory-element"> | 87 </template> |
| 88 |
| 89 </polymer-element><polymer-element name="library-ref" extends="service-ref"> |
| 90 <template> |
| 91 <a href="{{ url }}">{{ name }}</a> |
| 92 </template> |
| 93 |
| 94 </polymer-element><polymer-element name="class-view" extends="observatory-elemen
t"> |
| 79 <template> | 95 <template> |
| 80 <div class="row"> | 96 <div class="row"> |
| 81 <div class="col-md-8 col-md-offset-2"> | 97 <div class="col-md-8 col-md-offset-2"> |
| 82 <div class="panel panel-warning"> | 98 <div class="panel panel-warning"> |
| 83 <div class="panel-heading"> | 99 <div class="panel-heading"> |
| 84 class <strong>{{ cls['user_name'] }}</strong> | 100 class <strong>{{ cls['user_name'] }}</strong> |
| 85 <template if="{{ cls['super']['type'] != 'Null' }}"> | 101 <template if="{{ cls['super']['type'] != 'Null' }}"> |
| 86 extends | 102 extends |
| 87 <a href="{{ app.locationManager.currentIsolateClassLink(cls['super']
['id'])}}"> | 103 <class-ref app="{{ app }}" ref="{{ cls['super'] }}"></class-ref> |
| 88 {{ cls['super']['user_name'] }} | |
| 89 </a> | |
| 90 </template> | 104 </template> |
| 91 <a class="pull-right" href="{{ app.locationManager.currentIsolateObjec
tLink(cls['library']['id'])}}"> | 105 <library-ref app="{{ app }}" ref="{{ cls['library'] }}"></library-ref> |
| 92 {{ cls['library']['name'] }} | |
| 93 </a> | |
| 94 </div> | 106 </div> |
| 95 <div class="panel-body"> | 107 <div class="panel-body"> |
| 96 <table class="table table-hover"> | 108 <table class="table table-hover"> |
| 97 <tbody> | 109 <tbody> |
| 98 <tr> | 110 <tr> |
| 99 <td>Abstract</td><td>{{ cls['abstract'] }}</td> | 111 <td>Abstract</td><td>{{ cls['abstract'] }}</td> |
| 100 </tr> | 112 </tr> |
| 101 <tr> | 113 <tr> |
| 102 <td>Const</td><td>{{ cls['const'] }}</td> | 114 <td>Const</td><td>{{ cls['const'] }}</td> |
| 103 </tr> | 115 </tr> |
| 104 <tr> | 116 <tr> |
| 105 <td>Finalized</td><td>{{ cls['const'] }}</td> | 117 <td>Finalized</td><td>{{ cls['const'] }}</td> |
| 106 </tr> | 118 </tr> |
| 107 <tr> | 119 <tr> |
| 108 <td>Implemented</td><td>{{ cls['implemented'] }}</td> | 120 <td>Implemented</td><td>{{ cls['implemented'] }}</td> |
| 109 </tr> | 121 </tr> |
| 110 <tr> | 122 <tr> |
| 111 <td>Patch</td><td>{{ cls['patch'] }}</td> | 123 <td>Patch</td><td>{{ cls['patch'] }}</td> |
| 112 </tr> | 124 </tr> |
| 113 <tr> | 125 <tr> |
| 114 <td>VM Name</td><td>{{ cls['name'] }}</td> | 126 <td>VM Name</td><td>{{ cls['name'] }}</td> |
| 115 </tr> | 127 </tr> |
| 116 </tbody> | 128 </tbody> |
| 117 </table> | 129 </table> |
| 118 <template if="{{ cls['error'] == null }}"> | 130 <template if="{{ cls['error'] == null }}"> |
| 119 <blockquote><strong>Fields</strong></blockquote> | 131 <blockquote><strong>Fields</strong></blockquote> |
| 120 <table class="table table-hover"> | 132 <table class="table table-hover"> |
| 121 <tbody> | 133 <tbody> |
| 122 <tr template="" repeat="{{ field in cls['fields'] }}"> | 134 <tr template="" repeat="{{ field in cls['fields'] }}"> |
| 123 <td><field-ref app="{{ app }}" field="{{ field }}"></field-ref
></td> | 135 <td><field-ref app="{{ app }}" ref="{{ field }}"></field-ref><
/td> |
| 124 <td><instance-ref app="{{ app }}" instance="{{ field['value']
}}"></instance-ref></td> | 136 <td><instance-ref app="{{ app }}" ref="{{ field['value'] }}"><
/instance-ref></td> |
| 125 </tr> | 137 </tr> |
| 126 </tbody> | 138 </tbody> |
| 127 </table> | 139 </table> |
| 128 <blockquote><strong>Functions</strong></blockquote> | 140 <blockquote><strong>Functions</strong></blockquote> |
| 129 <table class="table table-hover"> | 141 <table class="table table-hover"> |
| 130 <thead> | 142 <thead> |
| 131 <tr> | 143 <tr> |
| 132 <th>User Name</th> | 144 <th>User Name</th> |
| 133 <th>VM Name</th> | 145 <th>VM Name</th> |
| 134 </tr> | 146 </tr> |
| 135 </thead> | 147 </thead> |
| 136 <tbody> | 148 <tbody> |
| 137 <tr template="" repeat="{{ function in cls['functions'] }}"> | 149 <tr template="" repeat="{{ function in cls['functions'] }}"> |
| 138 <td><a href="{{ app.locationManager.currentIsolateObjectLink(f
unction['id'])}}">{{ function['user_name'] }}</a></td> | 150 <td><function-ref app="{{ app }}" ref="{{ function }}"></funct
ion-ref></td> |
| 139 <td><a href="{{ app.locationManager.currentIsolateObjectLink(f
unction['id'])}}">{{ function['name'] }}</a></td> | 151 <td><function-ref app="{{ app }}" ref="{{ function }}" interna
l=""></function-ref></td> |
| 140 </tr> | 152 </tr> |
| 141 </tbody> | 153 </tbody> |
| 142 </table> | 154 </table> |
| 143 </template> | 155 </template> |
| 144 <template if="{{ cls['error'] != null }}"> | 156 <template if="{{ cls['error'] != null }}"> |
| 145 <error-view error_obj="{{ cls['error'] }}"></error-view> | 157 <error-view error_obj="{{ cls['error'] }}"></error-view> |
| 146 </template> | 158 </template> |
| 147 </div> | 159 </div> |
| 148 </div> | 160 </div> |
| 149 </div> | 161 </div> |
| 150 </div> | 162 </div> |
| 151 </template> | 163 </template> |
| 152 | 164 |
| 165 </polymer-element> |
| 166 <polymer-element name="code-ref" extends="service-ref"> |
| 167 <template> |
| 168 <a href="{{ url }}">{{ name }}</a> |
| 169 </template> |
| 170 |
| 153 </polymer-element><polymer-element name="disassembly-entry" extends="observatory
-element"> | 171 </polymer-element><polymer-element name="disassembly-entry" extends="observatory
-element"> |
| 154 <template> | 172 <template> |
| 155 <div class="row"> | 173 <div class="row"> |
| 156 <template if="{{ instruction['type'] == 'DisassembledInstructionComment' }}"
> | 174 <template if="{{ instruction['type'] == 'DisassembledInstructionComment' }}"
> |
| 157 <div class="col-md-2"></div> | 175 <div class="col-md-2"></div> |
| 158 <div class="col-md-2"></div> | 176 <div class="col-md-2"></div> |
| 159 <div class="col-md-4"><code>{{ instruction['comment'] }}</code></div> | 177 <div class="col-md-4"><code>{{ instruction['comment'] }}</code></div> |
| 160 </template> | 178 </template> |
| 161 <template if="{{ instruction['type'] == 'DisassembledInstruction' }}"> | 179 <template if="{{ instruction['type'] == 'DisassembledInstruction' }}"> |
| 162 <div class="col-md-2"></div> | 180 <div class="col-md-2"></div> |
| 163 <div class="col-md-2">{{ instruction['pc'] }}</div> | 181 <div class="col-md-2">{{ instruction['pc'] }}</div> |
| 164 <div class="col-md-4"> | 182 <div class="col-md-4"> |
| 165 <code>{{ instruction['hex'] }} {{ instruction['human'] }}</code> | 183 <code>{{ instruction['hex'] }} {{ instruction['human'] }}</code> |
| 166 </div> | 184 </div> |
| 167 </template> | 185 </template> |
| 168 </div> | 186 </div> |
| 169 </template> | 187 </template> |
| 170 | 188 |
| 171 </polymer-element><polymer-element name="code-view" extends="observatory-element
"> | 189 </polymer-element><polymer-element name="code-view" extends="observatory-element
"> |
| 172 <template> | 190 <template> |
| 173 <div class="row"> | 191 <div class="row"> |
| 174 <div class="col-md-8 col-md-offset-2"> | 192 <div class="col-md-8 col-md-offset-2"> |
| 175 <div class="{{ cssPanelClass }}"> | 193 <div class="{{ cssPanelClass }}"> |
| 176 <div class="panel-heading"> | 194 <div class="panel-heading"> |
| 177 <a href="{{ app.locationManager.currentIsolateObjectLink(code['functio
n']['id'])}}"> | 195 <function-ref app="{{ app }}" ref="{{ code['function'] }}"></function-
ref> |
| 178 {{ code['function']['user_name'] }} ({{ code['function']['name'] }}) | |
| 179 </a> | |
| 180 </div> | 196 </div> |
| 181 <div class="panel-body"> | 197 <div class="panel-body"> |
| 182 <div class="row"> | 198 <div class="row"> |
| 183 <div class="col-md-2"><strong>Samples</strong></div> | 199 <div class="col-md-2"><strong>Samples</strong></div> |
| 184 <div class="col-md-2"><strong>Address</strong></div> | 200 <div class="col-md-2"><strong>Address</strong></div> |
| 185 <div><strong>Instruction</strong></div> | 201 <div><strong>Instruction</strong></div> |
| 186 </div> | 202 </div> |
| 187 <template repeat="{{ instruction in code['disassembly'] }}"> | 203 <template repeat="{{ instruction in code['disassembly'] }}"> |
| 188 <disassembly-entry instruction="{{ instruction }}"> | 204 <disassembly-entry instruction="{{ instruction }}"> |
| 189 </disassembly-entry> | 205 </disassembly-entry> |
| (...skipping 18 matching lines...) Expand all Loading... |
| 208 | 224 |
| 209 </polymer-element><polymer-element name="field-view" extends="observatory-elemen
t"> | 225 </polymer-element><polymer-element name="field-view" extends="observatory-elemen
t"> |
| 210 <template> | 226 <template> |
| 211 <div class="row"> | 227 <div class="row"> |
| 212 <div class="col-md-8 col-md-offset-2"> | 228 <div class="col-md-8 col-md-offset-2"> |
| 213 <div class="panel panel-warning"> | 229 <div class="panel panel-warning"> |
| 214 <div class="panel-heading"> | 230 <div class="panel-heading"> |
| 215 <template if="{{ field['static'] }}">static</template> | 231 <template if="{{ field['static'] }}">static</template> |
| 216 <template if="{{ field['final'] }}">final</template> | 232 <template if="{{ field['final'] }}">final</template> |
| 217 <template if="{{ field['const'] }}">const</template> | 233 <template if="{{ field['const'] }}">const</template> |
| 218 {{ field['user_name'] }} ({{ field['name'] }}) | 234 {{ field['user_name'] }} ({{ field['name'] }}) |
| 219 <a class="pull-right" href="{{ app.locationManager.currentIsolateClass
Link(field['class']['id'])}}"> | 235 <class-ref app="{{ app }}" ref="{{ field['class'] }}"></class-ref> |
| 220 {{ field['class']['user_name'] }} | |
| 221 </a> | |
| 222 </div> | 236 </div> |
| 223 <div class="panel-body"> | 237 <div class="panel-body"> |
| 224 <template if="{{ field['guard_class'] == 'dynamic'}}"> | 238 <template if="{{ field['guard_class'] == 'dynamic'}}"> |
| 225 <div class="alert alert-danger"> | 239 <div class="alert alert-danger"> |
| 226 Field has been assigned multiple types. If a field is only ever | 240 Field has been assigned multiple types. If a field is only ever |
| 227 assigned a single type, performance may improve. | 241 assigned a single type, performance may improve. |
| 228 </div> | 242 </div> |
| 229 </template> | 243 </template> |
| 230 <template if="{{ field['guard_class'] != 'dynamic'}}"> | 244 <template if="{{ (field['guard_class'] != 'dynamic') && (field['
guard_class'] != 'unknown') }}"> |
| 231 <div class="alert alert-success">Field has monomorphic type</div> | 245 <div class="alert alert-success">Field has monomorphic type</div> |
| 232 <template if="{{ (field['guard_class'] != 'dynamic') && | 246 <template if="{{ (field['guard_class'] != 'dynamic') && |
| 233 field['guard_nullable'] }}"> | 247 field['guard_nullable'] }}"> |
| 234 <div class="alert alert-info"> | 248 <div class="alert alert-info"> |
| 235 Field has been assigned null. If a field is never assigned null, | 249 Field has been assigned null. If a field is never assigned null, |
| 236 performance may improve. | 250 performance may improve. |
| 237 </div> | 251 </div> |
| 238 </template> | 252 </template> |
| 239 <blockquote> | 253 <blockquote> |
| 240 <a href="{{ app.locationManager.currentIsolateClassLink(field['guard
_class']['id'])}}"> | 254 <class-ref app="{{ app }}" ref="{{ field['guard_class'] }}"></class-
ref> |
| 241 {{ field['guard_class']['user_name'] }} | |
| 242 </a> | |
| 243 </blockquote> | 255 </blockquote> |
| 244 </template> | 256 </template> |
| 245 </div> | 257 </div> |
| 246 </div> | 258 </div> |
| 247 </div> | 259 </div> |
| 248 </div> | 260 </div> |
| 249 </template> | 261 </template> |
| 250 | 262 |
| 251 </polymer-element><polymer-element name="function-view" extends="observatory-ele
ment"> | 263 </polymer-element><polymer-element name="function-view" extends="observatory-ele
ment"> |
| 252 <template> | 264 <template> |
| 253 <div class="row"> | 265 <div class="row"> |
| 254 <div class="col-md-8 col-md-offset-2"> | 266 <div class="col-md-8 col-md-offset-2"> |
| 255 <div class="panel panel-warning"> | 267 <div class="panel panel-warning"> |
| 256 <div class="panel-heading"> | 268 <div class="panel-heading"> |
| 257 {{ function['user_name'] }} ({{ function['name'] }}) | 269 {{ function['user_name'] }} ({{ function['name'] }}) |
| 258 <a class="pull-right" href="{{ app.locationManager.currentIsolateClass
Link(function['class']['id'])}}"> | 270 <class-ref app="{{ app }}" ref="{{ function['class'] }}"></class-ref> |
| 259 {{ function['class']['name'] }} | |
| 260 </a> | |
| 261 </div> | 271 </div> |
| 262 <div class="panel-body"> | 272 <div class="panel-body"> |
| 263 <div> | 273 <div> |
| 264 <a class="btn btn-primary" href="{{ app.locationManager.currentIsolate
ObjectLink(function['code']['id'])}}">Current Code</a> | 274 <code-ref app="{{ app }}" ref="{{ function['code'] }}"></code-ref> |
| 265 <a class="btn btn-info" href="{{ app.locationManager.currentIsolateObj
ectLink(function['unoptimized_code']['id'])}}">Unoptimized Code</a> | 275 <code-ref app="{{ app }}" ref="{{ function['unoptimized_code'] }}"></c
ode-ref> |
| 266 </div> | 276 </div> |
| 267 <table class="table table-hover"> | 277 <table class="table table-hover"> |
| 268 <tbody> | 278 <tbody> |
| 269 <tr> | 279 <tr> |
| 270 <td>static</td><td>{{ function['is_static'] }}</td> | 280 <td>static</td><td>{{ function['is_static'] }}</td> |
| 271 </tr> | 281 </tr> |
| 272 <tr> | 282 <tr> |
| 273 <td>Const</td><td>{{ function['is_const'] }}</td> | 283 <td>Const</td><td>{{ function['is_const'] }}</td> |
| 274 </tr> | 284 </tr> |
| 275 <tr> | 285 <tr> |
| (...skipping 19 matching lines...) Expand all Loading... |
| 295 </div> | 305 </div> |
| 296 </div> | 306 </div> |
| 297 </div> | 307 </div> |
| 298 </div> | 308 </div> |
| 299 </template> | 309 </template> |
| 300 | 310 |
| 301 </polymer-element><polymer-element name="isolate-summary" extends="observatory-e
lement"> | 311 </polymer-element><polymer-element name="isolate-summary" extends="observatory-e
lement"> |
| 302 <template> | 312 <template> |
| 303 <div class="row"> | 313 <div class="row"> |
| 304 <div class="col-md-1"> | 314 <div class="col-md-1"> |
| 305 » » <img src="packages/observatory/src/observatory_elements/img/isol
ate_icon.png" class="img-polaroid">» | 315 <img src="packages/observatory/src/observatory_elements/img/isolate_icon
.png" class="img-polaroid"> |
| 306 </div> | 316 </div> |
| 307 <div class="col-md-1">{{ isolate }}</div> | 317 <div class="col-md-1">{{ isolate }}</div> |
| 308 <div class="col-md-10">{{ name }}</div> | 318 <div class="col-md-10">{{ name }}</div> |
| 309 </div> | 319 </div> |
| 310 <div class="row"> | 320 <div class="row"> |
| 311 <div class="col-md-2"></div> | 321 <div class="col-md-2"></div> |
| 312 <div class="col-md-1"> | 322 <div class="col-md-1"> |
| 313 <a href="{{ app.locationManager.relativeLink(isolate, 'stacktrac
e') }}">Stacktrace</a> | 323 <a href="{{ app.locationManager.relativeLink(isolate, 'stacktrac
e') }}">Stacktrace</a> |
| 314 </div> | 324 </div> |
| 315 <div class="col-md-1"> | 325 <div class="col-md-1"> |
| 316 <a href="{{ app.locationManager.relativeLink(isolate, 'library') }}">Lib
rary</a> | 326 <a href="{{ app.locationManager.relativeLink(isolate, 'library') }}">Lib
rary</a> |
| 317 </div> | 327 </div> |
| 318 <div class="col-md-1"> | 328 <div class="col-md-1"> |
| 319 <a href="{{ app.locationManager.relativeLink(isolate, 'debug/breakpoints
') }}">Breakpoints</a> | 329 <a href="{{ app.locationManager.relativeLink(isolate, 'debug/breakpoints
') }}">Breakpoints</a> |
| 320 </div> | 330 </div> |
| 331 <div class="col-md-1"> |
| 332 <a href="{{ app.locationManager.relativeLink(isolate, 'profile') }}">Pro
file</a> |
| 333 </div> |
| 321 <div class="col-md-8"></div> | 334 <div class="col-md-8"></div> |
| 322 </div> | 335 </div> |
| 323 </template> | 336 </template> |
| 324 | 337 |
| 325 </polymer-element><polymer-element name="isolate-list" extends="observatory-elem
ent"> | 338 </polymer-element> |
| 339 <polymer-element name="isolate-list" extends="observatory-element"> |
| 326 <template> | 340 <template> |
| 327 <ul class="list-group"> | 341 <ul class="list-group"> |
| 328 <template repeat="{{ isolate in app.isolateManager.isolates.values }}"> | 342 <template repeat="{{ isolate in app.isolateManager.isolates.values }}"> |
| 329 <li class="list-group-item"> | 343 <li class="list-group-item"> |
| 330 <isolate-summary app="{{ app }}" isolate="{{ isolate.id }}" name="{{ iso
late.name }}"></isolate-summary> | 344 <isolate-summary app="{{ app }}" isolate="{{ isolate.id }}" name="{{ iso
late.name }}"></isolate-summary> |
| 331 </li> | 345 </li> |
| 332 </template> | 346 </template> |
| 333 </ul> | 347 </ul> |
| 334 </template> | 348 </template> |
| 335 | 349 |
| 336 </polymer-element><polymer-element name="instance-view" extends="observatory-ele
ment"> | 350 </polymer-element><polymer-element name="instance-view" extends="observatory-ele
ment"> |
| 337 <template> | 351 <template> |
| 338 <div class="row"> | 352 <div class="row"> |
| 339 <div class="col-md-8 col-md-offset-2"> | 353 <div class="col-md-8 col-md-offset-2"> |
| 340 <div class="panel panel-warning"> | 354 <div class="panel panel-warning"> |
| 341 <div class="panel-heading"> | 355 <div class="panel-heading"> |
| 342 Instance of | 356 Instance of |
| 343 <a href="{{ app.locationManager.currentIsolateClassLink(instance['class
']['id'])}}"> | 357 <class-ref app="{{ app }}" ref="{{ instance['class'] }}"></class-ref> |
| 344 {{ instance['class']['user_name'] }} | |
| 345 </a> | |
| 346 </div> | 358 </div> |
| 347 <div class="panel-body"> | 359 <div class="panel-body"> |
| 348 <template if="{{ instance['error'] == null }}"> | 360 <template if="{{ instance['error'] == null }}"> |
| 349 <table class="table table-hover"> | 361 <table class="table table-hover"> |
| 350 <tbody> | 362 <tbody> |
| 351 <tr> | 363 <tr> |
| 352 <td>Preview</td><td>{{ instance['preview'] }}</td> | 364 <td>Preview</td><td>{{ instance['preview'] }}</td> |
| 353 </tr> | 365 </tr> |
| 354 </tbody> | 366 </tbody> |
| 355 </table> | 367 </table> |
| 356 <blockquote><strong>Fields</strong></blockquote> | 368 <blockquote><strong>Fields</strong></blockquote> |
| 357 <table class="table table-hover"> | 369 <table class="table table-hover"> |
| 358 <tbody> | 370 <tbody> |
| 359 <tr template="" repeat="{{ field in instance['fields'] }}"> | 371 <tr template="" repeat="{{ field in instance['fields'] }}"> |
| 360 <td><field-ref app="{{ app }}" field="{{ field }}"></field-ref
></td> | 372 <td><field-ref app="{{ app }}" ref="{{ field }}"></field-ref><
/td> |
| 361 <td><instance-ref app="{{ app }}" instance="{{ field['value']
}}"></instance-ref></td> | 373 <td><instance-ref app="{{ app }}" ref="{{ field['value'] }}"><
/instance-ref></td> |
| 362 </tr> | 374 </tr> |
| 363 </tbody> | 375 </tbody> |
| 364 </table> | 376 </table> |
| 365 </template> | 377 </template> |
| 366 <template if="{{ instance['error'] != null }}"> | 378 <template if="{{ instance['error'] != null }}"> |
| 367 <error-view error_obj="{{ instance['error'] }}"></error-view> | 379 <error-view error_obj="{{ instance['error'] }}"></error-view> |
| 368 </template> | 380 </template> |
| 369 </div> | 381 </div> |
| 370 </div> | 382 </div> |
| 371 </div> | 383 </div> |
| 372 </div> | 384 </div> |
| 373 </template> | 385 </template> |
| 374 | 386 |
| 375 </polymer-element><polymer-element name="json-view" extends="observatory-element
"> | 387 </polymer-element> |
| 388 <polymer-element name="json-view" extends="observatory-element"> |
| 376 <template> | 389 <template> |
| 377 <template bind="" if="{{ valueType == 'Primitive' }}"> | 390 <template bind="" if="{{ valueType == 'Primitive' }}"> |
| 378 <span>{{primitiveString}}</span> | 391 <span>{{primitiveString}}</span> |
| 379 </template> | 392 </template> |
| 380 <template bind="" if="{{ valueType == 'List' }}"> | 393 <template bind="" if="{{ valueType == 'List' }}"> |
| 381 <table class="table table-condensed table-bordered"> | 394 <table class="table table-condensed table-bordered"> |
| 382 <caption class="text-left">List, {{list.length}}</caption> | 395 <caption class="text-left">List, {{list.length}}</caption> |
| 383 <tbody> | 396 <tbody> |
| 384 <tr template="" repeat="{{item in list)}}"> | 397 <tr template="" repeat="{{item in list)}}"> |
| 385 <th>{{counter}}</th> | 398 <th>{{counter}}</th> |
| 386 <td><json-view json="{{item}}"></json-view></td> | 399 <td><json-view json="{{item}}"></json-view></td> |
| 387 </tr> | 400 </tr> |
| 388 </tbody> | 401 </tbody> |
| 389 </table> | 402 </table> |
| 390 </template> | 403 </template> |
| 391 <template if="{{ valueType == 'Map' }}"> | 404 <template if="{{ valueType == 'Map' }}"> |
| 392 <table class="table table-condensed table-bordered"> | 405 <table class="table table-condensed table-bordered"> |
| 393 <caption class="text-left">Map, {{keys.length}}</caption> | 406 <caption class="text-left">Map, {{keys.length}}</caption> |
| 394 <tbody> | 407 <tbody> |
| 395 <tr template="" repeat="{{key in keys}}"> | 408 <tr template="" repeat="{{key in keys}}"> |
| 396 <th>{{key}}</th> | 409 <th>{{key}}</th> |
| 397 <td><json-view json="{{value(key)}}"></json-view></td> | 410 <td><json-view json="{{value(key)}}"></json-view></td> |
| 398 </tr> | 411 </tr> |
| 399 </tbody> | 412 </tbody> |
| 400 </table> | 413 </table> |
| 401 </template> | 414 </template> |
| 402 </template> | 415 </template> |
| 403 | 416 |
| 417 </polymer-element> |
| 418 <polymer-element name="script-ref" extends="service-ref"> |
| 419 <template> |
| 420 <a href="{{ url }}">{{ name }}</a> |
| 421 </template> |
| 422 |
| 404 </polymer-element><polymer-element name="library-view" extends="observatory-elem
ent"> | 423 </polymer-element><polymer-element name="library-view" extends="observatory-elem
ent"> |
| 405 <template> | 424 <template> |
| 406 <div class="alert alert-success">Library {{ library['name'] }}</div> | 425 <div class="alert alert-success">Library {{ library['name'] }}</div> |
| 407 <div class="alert alert-info">Scripts</div> | 426 <div class="alert alert-info">Scripts</div> |
| 408 <table class="table table-hover"> | 427 <table class="table table-hover"> |
| 409 <tbody> | 428 <tbody> |
| 410 <tr template="" repeat="{{ script in library['scripts']}}"> | 429 <tr template="" repeat="{{ script in library['scripts']}}"> |
| 411 <td> | 430 <td> |
| 412 {{ script['kind'] }} | 431 {{ script['kind'] }} |
| 413 </td> | 432 </td> |
| 414 <td> | 433 <td> |
| 415 <a href="{{ app.locationManager.currentIsolateScriptLink(script['id'],
script['name']) }}">{{ script['name'] }}</a> | 434 <script-ref app="{{ app }}" ref="{{ script }}"></script-ref> |
| 416 </td> | 435 </td> |
| 417 </tr> | 436 </tr> |
| 418 </tbody> | 437 </tbody> |
| 419 </table> | 438 </table> |
| 420 <div class="alert alert-info">Imported Libraries</div> | 439 <div class="alert alert-info">Imported Libraries</div> |
| 421 <table class="table table-hover"> | 440 <table class="table table-hover"> |
| 422 <tbody> | 441 <tbody> |
| 423 <tr template="" repeat="{{ lib in library['libraries'] }}"> | 442 <tr template="" repeat="{{ lib in library['libraries'] }}"> |
| 424 <td> | 443 <td> |
| 425 <a href="{{ app.locationManager.currentIsolateObjectLink(lib['id'])}}"
> | 444 <library-ref app="{{ app }}" ref="{{ lib }}"></library-ref> |
| 426 {{ lib['url'] }} | |
| 427 </a> | |
| 428 </td> | 445 </td> |
| 429 </tr> | 446 </tr> |
| 430 </tbody> | 447 </tbody> |
| 431 </table> | 448 </table> |
| 432 <div class="alert alert-info">Variables</div> | 449 <div class="alert alert-info">Variables</div> |
| 433 <table class="table table-hover"> | 450 <table class="table table-hover"> |
| 434 <tbody> | 451 <tbody> |
| 435 <tr template="" repeat="{{ variable in library['variables'] }}"> | 452 <tr template="" repeat="{{ variable in library['variables'] }}"> |
| 436 <td><field-ref app="{{ app }}" field="{{ variable }}"></field-ref></td> | 453 <td><field-ref app="{{ app }}" ref="{{ variable }}"></field-ref></td> |
| 437 <td><instance-ref app="{{ app }}" instance="{{ variable['value'] }}"></i
nstance-ref></td> | 454 <td><instance-ref app="{{ app }}" ref="{{ variable['value'] }}"></instan
ce-ref></td> |
| 438 </tr> | 455 </tr> |
| 439 </tbody> | 456 </tbody> |
| 440 </table> | 457 </table> |
| 441 <div class="alert alert-info">Functions</div> | 458 <div class="alert alert-info">Functions</div> |
| 442 <table class="table table-hover"> | 459 <table class="table table-hover"> |
| 443 <tbody> | 460 <tbody> |
| 444 <tr template="" repeat="{{ func in library['functions'] }}"> | 461 <tr template="" repeat="{{ func in library['functions'] }}"> |
| 445 <td> | 462 <td> |
| 446 <a href="{{ app.locationManager.currentIsolateObjectLink(func['id'])}}
"> | 463 <function-ref app="{{ app }}" ref="{{ func }}"></function-ref> |
| 447 {{ func['user_name'] }} | |
| 448 </a> | |
| 449 </td> | 464 </td> |
| 450 </tr> | 465 </tr> |
| 451 </tbody> | 466 </tbody> |
| 452 </table> | 467 </table> |
| 453 <div class="alert alert-info">Classes</div> | 468 <div class="alert alert-info">Classes</div> |
| 454 <table class="table table-hover"> | 469 <table class="table table-hover"> |
| 455 <thead> | 470 <thead> |
| 456 <tr> | 471 <tr> |
| 457 <th>Name</th> | 472 <th>Name</th> |
| 458 <th>Internal Name</th> | 473 <th>Internal Name</th> |
| 459 </tr> | 474 </tr> |
| 460 </thead> | 475 </thead> |
| 461 <tbody> | 476 <tbody> |
| 462 <tr template="" repeat="{{ cls in library['classes'] }}"> | 477 <tr template="" repeat="{{ cls in library['classes'] }}"> |
| 463 <td> | 478 <td> |
| 464 <a href="{{ app.locationManager.currentIsolateClassLink(cls['id']) }}"
> | 479 <class-ref app="{{ app }}" ref="{{ cls }}"></class-ref> |
| 465 {{ cls['user_name'] }} | |
| 466 </a> | |
| 467 </td> | 480 </td> |
| 468 <td> | 481 <td> |
| 469 <a href="{{ app.locationManager.currentIsolateClassLink(cls['id']) }}"
> | 482 <class-ref app="{{ app }}" ref="{{ cls }}" internal=""></class-ref> |
| 470 {{ cls['name'] }} | |
| 471 </a> | |
| 472 </td> | 483 </td> |
| 473 </tr> | 484 </tr> |
| 474 </tbody> | 485 </tbody> |
| 475 </table> | 486 </table> |
| 476 | 487 |
| 477 </template> | 488 </template> |
| 478 | 489 |
| 479 </polymer-element><polymer-element name="source-view" extends="observatory-eleme
nt"> | 490 </polymer-element><polymer-element name="source-view" extends="observatory-eleme
nt"> |
| 480 <template> | 491 <template> |
| 481 <div class="row"> | 492 <div class="row"> |
| (...skipping 17 matching lines...) Expand all Loading... |
| 499 </template> | 510 </template> |
| 500 | 511 |
| 501 </polymer-element><polymer-element name="stack-trace" extends="observatory-eleme
nt"> | 512 </polymer-element><polymer-element name="stack-trace" extends="observatory-eleme
nt"> |
| 502 <template> | 513 <template> |
| 503 <div class="alert alert-info">Stack Trace</div> | 514 <div class="alert alert-info">Stack Trace</div> |
| 504 <table class="table table-hover"> | 515 <table class="table table-hover"> |
| 505 <thead> | 516 <thead> |
| 506 <tr> | 517 <tr> |
| 507 <th>Depth</th> | 518 <th>Depth</th> |
| 508 <th>Function</th> | 519 <th>Function</th> |
| 509 <th>Url</th> | 520 <th>Script</th> |
| 510 <th>Line</th> | 521 <th>Line</th> |
| 511 </tr> | 522 </tr> |
| 512 </thead> | 523 </thead> |
| 513 <tbody> | 524 <tbody> |
| 514 <tr template="" repeat="{{ frame in trace['members'] }}"> | 525 <tr template="" repeat="{{ frame in trace['members'] }}"> |
| 515 <td>{{$index}}</td> | 526 <td>{{$index}}</td> |
| 516 <td><a href="{{app.locationManager.currentIsolateObjectLink(frame['funct
ion']['id'])}}">{{ frame['name'] }}</a></td> | 527 <td><function-ref app="{{ app }}" ref="{{ frame['function'] }}"></functi
on-ref></td> |
| 517 <td>{{ frame['url'] }}</td> | 528 <td><script-ref app="{{ app }}" ref="{{ frame['script'] }}"></script-ref
></td> |
| 518 <td>{{ frame['line'] }}</td> | 529 <td>{{ frame['line'] }}</td> |
| 519 </tr> | 530 </tr> |
| 520 </tbody> | 531 </tbody> |
| 521 </table> | 532 </table> |
| 522 </template> | 533 </template> |
| 523 | 534 |
| 524 </polymer-element><polymer-element name="message-viewer" extends="observatory-el
ement"> | 535 </polymer-element><polymer-element name="message-viewer" extends="observatory-el
ement"> |
| 525 <!-- | 536 <!-- |
| 526 This is a big switch statement which instantiates the custom element | 537 This is a big switch statement which instantiates the custom element |
| 527 designated to display the message type. | 538 designated to display the message type. |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 581 <!-- Add new views and message types in the future here. --> | 592 <!-- Add new views and message types in the future here. --> |
| 582 </template> | 593 </template> |
| 583 | 594 |
| 584 </polymer-element><polymer-element name="navigation-bar" extends="observatory-el
ement"> | 595 </polymer-element><polymer-element name="navigation-bar" extends="observatory-el
ement"> |
| 585 <template> | 596 <template> |
| 586 <nav class="navbar navbar-default" role="navigation"> | 597 <nav class="navbar navbar-default" role="navigation"> |
| 587 <div class="navbar-header"> | 598 <div class="navbar-header"> |
| 588 <a class="navbar-brand" href="">Observatory</a> | 599 <a class="navbar-brand" href="">Observatory</a> |
| 589 </div> | 600 </div> |
| 590 <div class="collapse navbar-collapse navbar-ex1-collapse"> | 601 <div class="collapse navbar-collapse navbar-ex1-collapse"> |
| 591 <input class="span2 pull-right navbar-form" placeholder="VM Address" typ
e="text" value="{{ app.requestManager.prefix }}"> | |
| 592 </div> | 602 </div> |
| 593 </nav> | 603 </nav> |
| 594 </template> | 604 </template> |
| 595 | 605 |
| 596 </polymer-element><polymer-element name="response-viewer" extends="observatory-e
lement"> | 606 </polymer-element><polymer-element name="isolate-profile" extends="observatory-e
lement"> |
| 607 <template> |
| 608 <p> P R O F I L E </p> |
| 609 <div> |
| 610 <button type="button" on-click="{{refreshData}}">Refresh profile data</but
ton> |
| 611 <span>Top</span> |
| 612 <select selectedindex="{{methodCountSelected}}" value="{{methodCounts[meth
odCountSelected]}}"> |
| 613 <option template="" repeat="{{count in methodCounts}}">{{count}}</option
> |
| 614 </select> |
| 615 <span>methods</span> |
| 616 </div> |
| 617 <blockquote><strong>Top Inclusive</strong></blockquote> |
| 618 <table class="table table-hover"> |
| 619 <thead> |
| 620 <tr> |
| 621 <th>Ticks</th> |
| 622 <th>Percent</th> |
| 623 <th>Method</th> |
| 624 </tr> |
| 625 </thead> |
| 626 <tbody> |
| 627 <tr template="" repeat="{{ code in topInclusiveCodes }}"> |
| 628 <td>{{ codeTicks(code, true) }}</td> |
| 629 <td>{{ codePercent(code, true) }}</td> |
| 630 <td>{{ codeName(code) }}</td> |
| 631 </tr> |
| 632 </tbody></table> |
| 633 <blockquote><strong>Top Exclusive</strong></blockquote> |
| 634 <table class="table table-hover"> |
| 635 <thead> |
| 636 <tr> |
| 637 <th>Ticks</th> |
| 638 <th>Percent</th> |
| 639 <th>Method</th> |
| 640 </tr> |
| 641 </thead> |
| 642 <tbody> |
| 643 <tr template="" repeat="{{ code in topExclusiveCodes }}"> |
| 644 <td>{{ codeTicks(code, false) }}</td> |
| 645 <td>{{ codePercent(code, false) }}</td> |
| 646 <td>{{ codeName(code) }}</td> |
| 647 </tr> |
| 648 </tbody></table> |
| 649 </template> |
| 650 |
| 651 </polymer-element> |
| 652 <polymer-element name="response-viewer" extends="observatory-element"> |
| 597 <template> | 653 <template> |
| 598 <template repeat="{{ message in app.requestManager.responses }}"> | 654 <template repeat="{{ message in app.requestManager.responses }}"> |
| 599 <message-viewer app="{{ app }}" message="{{ message }}"></message-viewer> | 655 <message-viewer app="{{ app }}" message="{{ message }}"></message-viewer> |
| 600 <collapsible-content> | 656 <collapsible-content> |
| 601 <!-- <json-view json="{{ message }}"></json-view> --> | 657 <!-- <json-view json="{{ message }}"></json-view> --> |
| 602 </collapsible-content> | 658 </collapsible-content> |
| 603 </template> | 659 </template> |
| 604 </template> | 660 </template> |
| 605 | 661 |
| 606 </polymer-element><polymer-element name="observatory-application" extends="obser
vatory-element"> | 662 </polymer-element><polymer-element name="observatory-application" extends="obser
vatory-element"> |
| 607 <template> | 663 <template> |
| 608 <navigation-bar app="{{ app }}"></navigation-bar> | 664 <navigation-bar app="{{ app }}"></navigation-bar> |
| 609 <response-viewer app="{{ app }}"></response-viewer> | 665 <template if="{{ app.locationManager.profile }}"> |
| 666 <isolate-profile app="{{ app }}"></isolate-profile> |
| 667 </template> |
| 668 <template if="{{ app.locationManager.profile == false }}"> |
| 669 <response-viewer app="{{ app }}"></response-viewer> |
| 670 </template> |
| 610 </template> | 671 </template> |
| 611 | 672 |
| 612 </polymer-element> | 673 </polymer-element> |
| 613 <observatory-application devtools="true"></observatory-application> | 674 <observatory-application devtools="true"></observatory-application> |
| 614 | 675 |
| 615 </body></html> | 676 </body></html> |
| OLD | NEW |