| OLD | NEW |
| 1 <head> | 1 <head> |
| 2 <link rel="import" href="code_ref.html"> | 2 <link rel="import" href="code_ref.html"> |
| 3 <link rel="import" href="nav_bar.html"> | 3 <link rel="import" href="nav_bar.html"> |
| 4 <link rel="import" href="observatory_element.html"> | 4 <link rel="import" href="observatory_element.html"> |
| 5 <link rel="import" href="sliding_checkbox.html"> | 5 <link rel="import" href="sliding_checkbox.html"> |
| 6 </head> | 6 </head> |
| 7 <polymer-element name="isolate-profile" extends="observatory-element"> | 7 <polymer-element name="isolate-profile" extends="observatory-element"> |
| 8 <template> | 8 <template> |
| 9 <link rel="stylesheet" href="css/shared.css" /> |
| 9 <nav-bar> | 10 <nav-bar> |
| 10 <top-nav-menu></top-nav-menu> | 11 <top-nav-menu></top-nav-menu> |
| 11 <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu> | 12 <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu> |
| 12 <nav-menu link="." anchor="cpu profile" last="{{ true }}"></nav-menu> | 13 <nav-menu link="." anchor="cpu profile" last="{{ true }}"></nav-menu> |
| 13 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 14 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 14 </nav-bar> | 15 </nav-bar> |
| 15 <style> | 16 <style> |
| 16 .content { | 17 .content { |
| 17 padding-left: 10%; | 18 padding-left: 10%; |
| 18 font: 400 14px 'Montserrat', sans-serif; | 19 font: 400 14px 'Montserrat', sans-serif; |
| 19 } | 20 } |
| 20 h1 { | 21 h1 { |
| 21 font: 400 18px 'Montserrat', sans-serif; | 22 font: 400 18px 'Montserrat', sans-serif; |
| 22 } | 23 } |
| 23 .member, .memberHeader { | 24 .member, .memberHeader { |
| 24 vertical-align: top; | 25 vertical-align: top; |
| 25 padding: 3px 0 3px 1em; | 26 padding: 3px 0 3px 1em; |
| 26 font: 400 14px 'Montserrat', sans-serif; | 27 font: 400 14px 'Montserrat', sans-serif; |
| 27 } | 28 } |
| 28 .monospace { | 29 .table { |
| 29 font-family: consolas, courier, monospace; | 30 border-collapse: collapse!important; |
| 30 font-size: 1em; | 31 width: 100%; |
| 31 line-height: 1.2em; | 32 margin-bottom:20px |
| 32 white-space: nowrap; | |
| 33 } | 33 } |
| 34 .table thead > tr > th, |
| 35 .table tbody > tr > th, |
| 36 .table tfoot > tr > th, |
| 37 .table thead > tr > td, |
| 38 .table tbody > tr > td, |
| 39 .table tfoot > tr > td { |
| 40 padding: 8px; |
| 41 vertical-align: top; |
| 42 } |
| 43 .table thead > tr > th { |
| 44 vertical-align: bottom; |
| 45 border-bottom:2px solid #ddd; |
| 46 } |
| 47 |
| 48 tr:hover > td.color0 { |
| 49 background-color: #FFE9CC; |
| 50 } |
| 51 .color0 { |
| 52 background-color: #FFE9CC; |
| 53 } |
| 54 |
| 55 tr:hover > td.color1 { |
| 56 background-color: #FFDEB2; |
| 57 } |
| 58 .color1 { |
| 59 background-color: #FFDEB2; |
| 60 } |
| 61 |
| 62 tr:hover > td.color2 { |
| 63 background-color: #FFD399; |
| 64 } |
| 65 .color2 { |
| 66 background-color: #FFD399; |
| 67 } |
| 68 |
| 69 tr:hover > td.color3 { |
| 70 background-color: #FFC87F; |
| 71 } |
| 72 .color3 { |
| 73 background-color: #FFC87F; |
| 74 } |
| 75 |
| 76 tr:hover > td.color4 { |
| 77 background-color: #FFBD66; |
| 78 } |
| 79 .color4 { |
| 80 background-color: #FFBD66; |
| 81 } |
| 82 |
| 83 tr:hover > td.color5 { |
| 84 background-color: #FFB24C; |
| 85 } |
| 86 .color5 { |
| 87 background-color: #FFB24C; |
| 88 } |
| 89 |
| 90 tr:hover > td.color6 { |
| 91 background-color: #FFA733; |
| 92 } |
| 93 .color6 { |
| 94 background-color: #FFA733; |
| 95 } |
| 96 |
| 97 tr:hover > td.color7 { |
| 98 background-color: #FF9C19; |
| 99 } |
| 100 .color7 { |
| 101 background-color: #FF9C19; |
| 102 } |
| 103 |
| 104 tr:hover > td.color8 { |
| 105 background-color: #FF9100; |
| 106 } |
| 107 .color8 { |
| 108 background-color: #FF9100; |
| 109 } |
| 110 |
| 111 .tooltip { |
| 112 display: block; |
| 113 position: absolute; |
| 114 visibility: hidden; |
| 115 transition: visibility 0s linear 0.5s; |
| 116 } |
| 117 |
| 118 tr:hover .tooltip { |
| 119 display: block; |
| 120 position: absolute; |
| 121 top: 100%; |
| 122 right: 100%; |
| 123 visibility: visible; |
| 124 z-index: 999; |
| 125 width: 400px; |
| 126 color: #ffffff; |
| 127 background-color: #0489c3; |
| 128 border-top-right-radius: 8px; |
| 129 border-top-left-radius: 8px; |
| 130 border-bottom-right-radius: 8px; |
| 131 border-bottom-left-radius: 8px; |
| 132 transition: visibility 0s linear 0.5s; |
| 133 } |
| 134 |
| 135 .white { |
| 136 color: #ffffff; |
| 137 } |
| 138 |
| 34 </style> | 139 </style> |
| 35 <div class="content"> | 140 <div class="content"> |
| 36 <h1>Sampled CPU profile</h1> | 141 <h1>Sampled CPU profile</h1> |
| 37 <table> | 142 <table> |
| 38 <tr> | 143 <tr> |
| 39 <td class="memberHeader">Timestamp</td> | 144 <td class="memberHeader">Timestamp</td> |
| 40 <td class="member">{{ refreshTime }}</td> | 145 <td class="member">{{ refreshTime }}</td> |
| 41 </tr> | 146 </tr> |
| 42 <tr> | 147 <tr> |
| 43 <td class="memberHeader">Sample count</td> | 148 <td class="memberHeader">Time span</td> |
| 44 <td class="member">{{ sampleCount }}</td> | 149 <td class="member">{{ timeSpan }}</td> |
| 45 </tr> | 150 </tr> |
| 46 <tr> | 151 <tr> |
| 47 <td class="memberHeader">Sample rate</td> | 152 <td class="memberHeader">Sample count</td> |
| 48 <td class="member">{{ sampleRate }} Hz</td> | 153 <td class="member">{{ sampleCount }}</td> |
| 49 </tr> | 154 </tr> |
| 50 <tr> | 155 <tr> |
| 51 <td class="memberHeader">Sample depth</td> | 156 <td class="memberHeader">Sample rate</td> |
| 52 <td class="member">{{ sampleDepth }} stack frames</td> | 157 <td class="member">{{ sampleRate }} Hz</td> |
| 53 </tr> | 158 </tr> |
| 54 <tr> | 159 <tr> |
| 55 <td class="memberHeader">Call graph tree</td> | 160 <td class="memberHeader">Sample depth</td> |
| 56 <td class="member"> | 161 <td class="member">{{ sampleDepth }} stack frames</td> |
| 57 <input type="checkbox" checked="{{ callGraphChecked }}"> | 162 </tr> |
| 58 </td> | 163 <tr> |
| 59 <tr> | 164 <td class="memberHeader">Display cutoff</td> |
| 60 <td class="memberHeader">Display cutoff</td> | 165 <td class="member">{{ displayCutoff }}</td> |
| 61 <td class="member">{{ displayCutoff }}</td> | 166 </tr> |
| 62 </tr> | 167 <tr> |
| 63 <tr> | 168 <td class="memberHeader">Hide tags</td> |
| 64 <td class="memberHeader">Hide tags</td> | 169 <td class="member"> |
| 65 <td class="member"> | 170 <input type="checkbox" checked="{{ hideTagsChecked }}"> |
| 66 <input type="checkbox" checked="{{ hideTagsChecked }}"> | 171 </td> |
| 67 </td> | 172 </tr> |
| 68 </tr> | |
| 69 </table> | 173 </table> |
| 70 <hr> | 174 <hr> |
| 71 <table id="tableTree" class="table table-hover"> | 175 <table id="tableTree" class="table"> |
| 72 <thead> | 176 <thead> |
| 73 <tr> | 177 <tr> |
| 74 <th>Method</th> | 178 <th>Method</th> |
| 75 <th>Caller</th> | 179 <th>Self</th> |
| 76 <th>Exclusive</th> | |
| 77 </tr> | 180 </tr> |
| 78 </thead> | 181 </thead> |
| 79 <tbody> | 182 <tbody> |
| 80 <tr template repeat="{{row in tree.rows }}" style="{{}}"> | 183 <tr template repeat="{{row in tree.rows }}" style="{{}}"> |
| 81 <td on-click="{{toggleExpanded}}" | 184 <td on-click="{{toggleExpanded}}" |
| 82 class="{{ coloring(row) }}" | 185 class="{{ coloring(row) }}" |
| 83 style="{{ padding(row) }}"> | 186 style="{{ padding(row) }}"> |
| 84 <span id="expand" style="cursor: pointer;">{{ row.expander }}</spa
n> | 187 <span id="expand" style="cursor: pointer;">{{ row.expander }}</spa
n> |
| 85 <code-ref ref="{{ row.code }}"></code-ref> | 188 <div style="position: relative;display: inline"> |
| 189 {{row.columns[0]}} |
| 190 </div> |
| 191 <function-ref ref="{{ row.code.function }}"></function-ref> |
| 86 </td> | 192 </td> |
| 87 <td class="{{ coloring(row) }}">{{row.columns[0]}}</td> | 193 <td class="{{ coloring(row) }}" style="position: relative"> |
| 88 <td class="{{ coloring(row) }}">{{row.columns[1]}}</td> | 194 {{row.columns[1]}} |
| 195 <div class="tooltip"> |
| 196 <table> |
| 197 <tr> |
| 198 <td class="memberHeader white">Kind</td> |
| 199 <td class="member white">{{ row.tipKind }}</td> |
| 200 </tr> |
| 201 <tr> |
| 202 <td class="memberHeader white">Sample Count</td> |
| 203 <td class="member white">{{ row.tipTicks }}</td> |
| 204 </tr> |
| 205 <tr> |
| 206 <td class="memberHeader white">Approximate Execution Time</td
> |
| 207 <td class="member white">{{ row.tipTime }}</td> |
| 208 </tr> |
| 209 </table> |
| 210 </div> |
| 211 </td> |
| 89 </tr> | 212 </tr> |
| 90 </tbody> | 213 </tbody> |
| 91 </table> | 214 </table> |
| 92 </div> | 215 </div> |
| 93 </template> | 216 </template> |
| 94 <script type="application/dart" src="isolate_profile.dart"></script> | 217 <script type="application/dart" src="isolate_profile.dart"></script> |
| 95 </polymer-element> | 218 </polymer-element> |
| OLD | NEW |