OLD | NEW |
1 <link rel="import" href="../../../../packages/polymer/polymer.html"> | 1 <link rel="import" href="../../../../packages/polymer/polymer.html"> |
2 <link rel="import" href="code_ref.html"> | 2 <link rel="import" href="code_ref.html"> |
3 <link rel="import" href="function_ref.html"> | 3 <link rel="import" href="function_ref.html"> |
4 <link rel="import" href="nav_bar.html"> | 4 <link rel="import" href="nav_bar.html"> |
5 <link rel="import" href="observatory_element.html"> | 5 <link rel="import" href="observatory_element.html"> |
6 <link rel="import" href="sliding_checkbox.html"> | 6 <link rel="import" href="sliding_checkbox.html"> |
7 <link rel="import" href="view_footer.html"> | 7 <link rel="import" href="view_footer.html"> |
8 | 8 |
9 <polymer-element name="cpu-profile-table" extends="observatory-element"> | 9 <polymer-element name="cpu-profile-table" extends="observatory-element"> |
10 <template> | 10 <template> |
11 <link rel="stylesheet" href="css/shared.css"> | 11 <link rel="stylesheet" href="css/shared.css"> |
12 <nav-bar> | 12 <nav-bar> |
13 <top-nav-menu></top-nav-menu> | 13 <top-nav-menu></top-nav-menu> |
14 <vm-nav-menu vm="{{ isolate.vm }}"></vm-nav-menu> | 14 <vm-nav-menu vm="{{ isolate.vm }}"></vm-nav-menu> |
15 <isolate-nav-menu isolate="{{ isolate }}"></isolate-nav-menu> | 15 <isolate-nav-menu isolate="{{ isolate }}"></isolate-nav-menu> |
16 <nav-menu link="{{ makeLink('/profiler-table', isolate) }}" anchor="cpu pr
ofile (table)" last="{{ true }}"></nav-menu> | 16 <nav-menu link="{{ makeLink('/profiler-table', isolate) }}" anchor="cpu pr
ofile (table)" last="{{ true }}"></nav-menu> |
17 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 17 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
18 <nav-refresh callback="{{ clear }}" label="Clear"></nav-refresh> | 18 <nav-refresh callback="{{ clearCpuProfile }}" label="Clear"></nav-refresh> |
19 </nav-bar> | 19 </nav-bar> |
20 <style> | 20 <style> |
21 /* general */ | 21 /* general */ |
22 .well { | 22 .well { |
23 background-color: #ECECEC; | 23 background-color: #ECECEC; |
24 padding: 0.2em; | 24 padding: 0.2em; |
25 } | 25 } |
26 .center { | 26 .center { |
27 align-items: center; | 27 align-items: center; |
28 justify-content: center; | 28 justify-content: center; |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 <template if="{{ state == 'Requested' }}"> | 143 <template if="{{ state == 'Requested' }}"> |
144 <div class="statusBox shadow center"> | 144 <div class="statusBox shadow center"> |
145 <div class="statusMessage">Fetching profile from VM...</div> | 145 <div class="statusMessage">Fetching profile from VM...</div> |
146 </div> | 146 </div> |
147 </template> | 147 </template> |
148 <template if="{{ state == 'Loading' }}"> | 148 <template if="{{ state == 'Loading' }}"> |
149 <div class="statusBox shadow center"> | 149 <div class="statusBox shadow center"> |
150 <div class="statusMessage">Loading profile...</div> | 150 <div class="statusMessage">Loading profile...</div> |
151 </div> | 151 </div> |
152 </template> | 152 </template> |
| 153 <template if="{{ state == 'Disabled' }}"> |
| 154 <div class="statusBox shadow center"> |
| 155 <div> |
| 156 <h1>Profiling is disabled</h1> |
| 157 <br> |
| 158 Perhaps the <b>profile</b> flag has been disabled for this VM. |
| 159 <br><br> |
| 160 See all |
| 161 <a on-click="{{ goto }}" _href="{{ gotoLink('/flags') }}">vm flags</
a> |
| 162 </div> |
| 163 </div> |
| 164 </template> |
153 <template if="{{ state == 'Exception' }}"> | 165 <template if="{{ state == 'Exception' }}"> |
154 <div class="statusBox shadow center"> | 166 <div class="statusBox shadow center"> |
155 <div class="statusMessage"> | 167 <div class="statusMessage"> |
156 <h1>Exception:</h1> | 168 <h1>Profiling is disabled due to unexpected exception:</h1> |
157 <br> | 169 <br> |
158 <pre>{{ exception.toString() }}</pre> | 170 <pre>{{ exception.toString() }}</pre> |
159 <br> | 171 <br> |
160 <h1>Stack trace:</h1> | 172 <h1>Stack trace:</h1> |
161 <br> | 173 <br> |
162 <pre>{{ stackTrace.toString() }}</pre> | 174 <pre>{{ stackTrace.toString() }}</pre> |
163 </div> | 175 </div> |
164 </div> | 176 </div> |
165 </template> | 177 </template> |
166 <template if="{{ state == 'Loaded' }}"> | 178 <template if="{{ state == 'Loaded' }}"> |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 | 286 |
275 <polymer-element name="cpu-profile" extends="observatory-element"> | 287 <polymer-element name="cpu-profile" extends="observatory-element"> |
276 <template> | 288 <template> |
277 <link rel="stylesheet" href="css/shared.css"> | 289 <link rel="stylesheet" href="css/shared.css"> |
278 <nav-bar> | 290 <nav-bar> |
279 <top-nav-menu></top-nav-menu> | 291 <top-nav-menu></top-nav-menu> |
280 <vm-nav-menu vm="{{ isolate.vm }}"></vm-nav-menu> | 292 <vm-nav-menu vm="{{ isolate.vm }}"></vm-nav-menu> |
281 <isolate-nav-menu isolate="{{ isolate }}"></isolate-nav-menu> | 293 <isolate-nav-menu isolate="{{ isolate }}"></isolate-nav-menu> |
282 <nav-menu link="{{ makeLink('/profiler', isolate) }}" anchor="cpu profile"
last="{{ true }}"></nav-menu> | 294 <nav-menu link="{{ makeLink('/profiler', isolate) }}" anchor="cpu profile"
last="{{ true }}"></nav-menu> |
283 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 295 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
284 <nav-refresh callback="{{ clear }}" label="Clear"></nav-refresh> | 296 <nav-refresh callback="{{ clearCpuProfile }}" label="Clear"></nav-refresh> |
285 </nav-bar> | 297 </nav-bar> |
286 <style> | 298 <style> |
287 .tableWell { | 299 .tableWell { |
288 background-color: #ECECEC; | 300 background-color: #ECECEC; |
289 padding: 0.2em; | 301 padding: 0.2em; |
290 } | 302 } |
291 | 303 |
292 .table { | 304 .table { |
293 border-spacing: 0px; | 305 border-spacing: 0px; |
294 width: 100%; | 306 width: 100%; |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 <template if="{{ state == 'Requested' }}"> | 377 <template if="{{ state == 'Requested' }}"> |
366 <div class="statusBox shadow center"> | 378 <div class="statusBox shadow center"> |
367 <div class="statusMessage">Fetching profile from VM...</div> | 379 <div class="statusMessage">Fetching profile from VM...</div> |
368 </div> | 380 </div> |
369 </template> | 381 </template> |
370 <template if="{{ state == 'Loading' }}"> | 382 <template if="{{ state == 'Loading' }}"> |
371 <div class="statusBox shadow center"> | 383 <div class="statusBox shadow center"> |
372 <div class="statusMessage">Loading profile...</div> | 384 <div class="statusMessage">Loading profile...</div> |
373 </div> | 385 </div> |
374 </template> | 386 </template> |
| 387 <template if="{{ state == 'Disabled' }}"> |
| 388 <div class="statusBox shadow center"> |
| 389 <div> |
| 390 <h1>Profiling is disabled</h1> |
| 391 <br> |
| 392 Perhaps the <b>profile</b> flag has been disabled for this VM. |
| 393 <br><br> |
| 394 See all |
| 395 <a on-click="{{ goto }}" _href="{{ gotoLink('/flags') }}">vm flags</
a> |
| 396 </div> |
| 397 </div> |
| 398 </template> |
375 <template if="{{ state == 'Exception' }}"> | 399 <template if="{{ state == 'Exception' }}"> |
376 <div class="statusBox shadow center"> | 400 <div class="statusBox shadow center"> |
377 <div class="statusMessage"> | 401 <div class="statusMessage"> |
378 <h1>Exception:</h1> | 402 <h1>Profiling is disabled due to unexpected exception:</h1> |
379 <br> | 403 <br> |
380 <pre>{{ exception.toString() }}</pre> | 404 <pre>{{ exception.toString() }}</pre> |
381 <br> | 405 <br> |
382 <h1>Stack trace:</h1> | 406 <h1>Stack trace:</h1> |
383 <br> | 407 <br> |
384 <pre>{{ stackTrace.toString() }}</pre> | 408 <pre>{{ stackTrace.toString() }}</pre> |
385 </div> | 409 </div> |
386 </div> | 410 </div> |
387 </template> | 411 </template> |
388 <template if="{{ state == 'Loaded' }}"> | 412 <template if="{{ state == 'Loaded' }}"> |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 <tbody id="treeBody"> | 489 <tbody id="treeBody"> |
466 </tbody> | 490 </tbody> |
467 </table> | 491 </table> |
468 </div> | 492 </div> |
469 </div> | 493 </div> |
470 <view-footer></view-footer> | 494 <view-footer></view-footer> |
471 </template> | 495 </template> |
472 </polymer-element> | 496 </polymer-element> |
473 | 497 |
474 <script type="application/dart" src="cpu_profile.dart"></script> | 498 <script type="application/dart" src="cpu_profile.dart"></script> |
OLD | NEW |