Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: runtime/bin/vmservice/client/lib/src/elements/isolate_view.html

Issue 271153002: Add pause/resume for isolates in vmservice/observatory. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: gen js Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <head> 1 <head>
2 <link rel="import" href="action_link.html">
2 <link rel="import" href="curly_block.html"> 3 <link rel="import" href="curly_block.html">
3 <link rel="import" href="eval_box.html"> 4 <link rel="import" href="eval_box.html">
4 <link rel="import" href="function_ref.html"> 5 <link rel="import" href="function_ref.html">
6 <link rel="import" href="isolate_summary.html">
5 <link rel="import" href="library_ref.html"> 7 <link rel="import" href="library_ref.html">
6 <link rel="import" href="nav_bar.html"> 8 <link rel="import" href="nav_bar.html">
7 <link rel="import" href="observatory_element.html"> 9 <link rel="import" href="observatory_element.html">
8 <link rel="import" href="script_inset.html"> 10 <link rel="import" href="script_inset.html">
9 <link rel="import" href="script_ref.html"> 11 <link rel="import" href="script_ref.html">
10 </head> 12 </head>
11 <polymer-element name="isolate-view" extends="observatory-element"> 13 <polymer-element name="isolate-view" extends="observatory-element">
12 <template> 14 <template>
13 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs s"> 15 <link rel="stylesheet" href="packages/observatory/src/elements/css/shared.cs s">
14 <style> 16 <style>
15 .sourceInset { 17 .sourceInset {
16 padding-left: 15%; 18 padding-left: 15%;
17 padding-right: 15%; 19 padding-right: 15%;
18 } 20 }
19 .miniProfileChart { 21 .miniProfileChart {
20 width: 80%; 22 width: 80%;
21 } 23 }
22 </style> 24 </style>
23 25
24 <nav-bar> 26 <nav-bar>
25 <top-nav-menu></top-nav-menu> 27 <top-nav-menu></top-nav-menu>
26 <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}"> 28 <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}">
27 </isolate-nav-menu> 29 </isolate-nav-menu>
28 <nav-refresh callback="{{ refresh }}"></nav-refresh> 30 <nav-refresh callback="{{ refresh }}"></nav-refresh>
29 </nav-bar> 31 </nav-bar>
30 32
31 <div class="content"> 33 <div class="content">
32 <h1>isolate '{{ isolate.name }}'</h1> 34 <h1>isolate '{{ isolate.name }}'</h1>
33 <div class="memberList"> 35 </div>
34 <div class="memberItem">
35 <div class="memberName">status</div>
36 <div class="memberValue">
37 <template if="{{ isolate.pausedOnStart }}">
38 <strong style="color:darkred;">paused</strong> @ isolate start
39 <span style="padding-left:20px;">
40 [<a on-click="{{ resume }}">resume</a>]
41 </span>
42 </template>
43 36
44 <template if="{{ isolate.pausedOnExit }}"> 37 <br>
45 <strong style="color:darkred;">paused</strong> @ isolate exit 38 <div class="flex-row">
46 <span style="padding-left:20px;"> 39 <div class="flex-item-10-percent">
47 [<a on-click="{{ resume }}">resume</a>] 40 </div>
48 </span> 41 <div class="flex-item-20-percent">
49 </template> 42 <isolate-run-state isolate="{{ isolate }}"></isolate-run-state>
50 43 </div>
51 <template if="{{ isolate.running }}"> 44 <div class="flex-item-60-percent">
52 <strong>running</strong> 45 <isolate-location isolate="{{ isolate }}"></isolate-location>
53 @ 46 </div>
54 <function-ref ref="{{ isolate.topFrame['function'] }}"> 47 <div class="flex-item-10-percent">
55 </function-ref>
56 (<script-ref ref="{{ isolate.topFrame['script'] }}"
57 pos="{{ isolate.topFrame['tokenPos'] }}">
58 </script-ref>)
59 </template>
60
61 <template if="{{ isolate.idle }}">
62 <strong>idle</strong>
63 </template>
64 </div>
65 </div>
66 </div> 48 </div>
67 </div> 49 </div>
68
69 <template if="{{ isolate.error != null }}">
70 <div class="content">
71 <h1>Error</h1>
72 <div class="memberList">
73 <div class="memberItem">
74 <div class="memberName">message</div>
75 <div class="memberValue">
76 <pre>{{ isolate.error.message }}</pre>
77 </div>
78 </div>
79 <div class="memberItem">
80 <template if="{{ isolate.error.exception != null }}">
81 <div class="memberName">exception</div>
82 <div class="memberValue">
83 <instance-ref ref="{{ isolate.error.exception }}"></instance-ref >
84 </div>
85 </template>
86 </div>
87 <div class="memberItem">
88 <template if="{{ isolate.error.stacktrace != null }}">
89 <div class="memberName">stacktrace</div>
90 <div class="memberValue">
91 <instance-ref ref="{{ isolate.error.stacktrace }}"></instance-ref>
92 </div>
93 </template>
94 </div>
95 </div>
96 </div>
97 <hr>
98 </template>
99
100 <br> 50 <br>
101 51
102 <template if="{{ isolate.topFrame != null }}"> 52 <template if="{{ isolate.topFrame != null }}">
53 <br>
103 <script-inset script="{{ isolate.topFrame['script'] }}" 54 <script-inset script="{{ isolate.topFrame['script'] }}"
104 pos="{{ isolate.topFrame['tokenPos'] }}"> 55 pos="{{ isolate.topFrame['tokenPos'] }}">
105 </script-inset> 56 </script-inset>
106 </template> 57 </template>
107 58
59 <div class="flex-row">
60 <div class="flex-item-20-percent"></div>
61 <div class="flex-item-60-percent"><hr></div>
62 <div class="flex-item-20-percent"></div>
63 </div>
64
108 <br> 65 <br>
109 66
67 <isolate-shared-summary isolate="{{ isolate }}"></isolate-shared-summary>
68
69 <div class="flex-row">
70 <div class="flex-item-20-percent"></div>
71 <div class="flex-item-60-percent"><hr></div>
72 <div class="flex-item-20-percent"></div>
73 </div>
74
110 <div class="content-centered"> 75 <div class="content-centered">
111 <div class="flex-row"> 76 <div class="flex-row">
112 77 <div class="flex-item-50-percent">
113 <div class="flex-item-fixed-6-12">
114 <div class="memberList"> 78 <div class="memberList">
115 <div class="memberItem"> 79 <div class="memberItem">
116 <div class="memberName">root library</div> 80 <div class="memberName">root library</div>
117 <div class="memberValue"> 81 <div class="memberValue">
118 <library-ref ref="{{ isolate.rootLib }}"></library-ref> 82 <library-ref ref="{{ isolate.rootLib }}"></library-ref>
119 </div> 83 </div>
120 </div> 84 </div>
121 <div class="memberItem"> 85 <div class="memberItem">
122 <template if="{{ isolate.entry != null }}"> 86 <template if="{{ isolate.entry != null }}">
123 <div class="memberName">entry</div> 87 <div class="memberName">entry</div>
124 <div class="memberValue"> 88 <div class="memberValue">
125 <function-ref ref="{{ isolate.entry }}"></function-ref> 89 <function-ref ref="{{ isolate.entry }}"></function-ref>
126 </div> 90 </div>
127 </template> 91 </template>
128 </div> 92 </div>
129 <div class="memberItem"> 93 <div class="memberItem">
130 <div class="memberName">id</div> 94 <div class="memberName">isolate id</div>
131 <div class="memberValue">{{ isolate.mainPort }}</div> 95 <div class="memberValue">{{ isolate.mainPort }}</div>
132 </div> 96 </div>
133 <br>
134 <div class="memberItem">
135 <div class="memberValue">
136 See <a href="{{ isolate.relativeHashLink('stacktrace') }}">stack trace</a>
137 </div>
138 </div>
139 <div class="memberItem">
140 <div class="memberValue">
141 See <a href="{{ isolate.relativeHashLink('profile') }}">cpu prof ile</a>
142 </div>
143 </div>
144 <div class="memberItem">
145 <div class="memberValue">
146 See <a href="{{ isolate.relativeHashLink('debug/breakpoints') }} ">breakpoints</a>
147
148 </div>
149 </div>
150 </div> 97 </div>
151 </div> 98 </div>
152 99 <div class="flex-item-50-percent">
153 <div class="flex-item-fixed-6-12"> 100 <div class="memberItem">
154 <div class="memberList"> 101 <div class="memberValue">
155 <div class="memberItem"> 102 See <a href="{{ isolate.relativeHashLink('debug/breakpoints') }}"> breakpoints</a>
156 <div class="memberName">new heap</div>
157 <div class="memberValue">
158 {{ isolate.newHeapUsed | formatSize }}
159 of
160 {{ isolate.newHeapCapacity | formatSize }}
161 </div>
162 </div>
163 <div class="memberItem">
164 <div class="memberName">old heap</div>
165 <div class="memberValue">
166 {{ isolate.oldHeapUsed | formatSize }}
167 of
168 {{ isolate.oldHeapCapacity | formatSize }}
169 </div>
170 </div>
171 </div>
172 <br>
173 <div class="memberList">
174 <div class="memberItem">
175 <div class="memberValue">
176 See <a href="{{ isolate.relativeHashLink('allocationprofile') }} ">allocation profile</a>
177 </div>
178 </div>
179 <div class="memberItem">
180 <div class="memberValue">
181 See <a href="{{ isolate.relativeHashLink('heapmap') }}">heap map </a>
182 </div>
183 </div> 103 </div>
184 </div> 104 </div>
185 </div> 105 </div>
186 106 </div>
187 </div> <!-- flex row --> 107 </div>
188 </div> <!-- content -->
189 108
190 <hr> 109 <hr>
191 110
192 <div class="content"> 111 <div class="content">
193 libraries ({{ isolate.libraries.length }}) 112 libraries ({{ isolate.libraries.length }})
194 <curly-block expand="{{ isolate.libraries.length <= 8 }}"> 113 <curly-block expand="{{ isolate.libraries.length <= 8 }}">
195 <div class="memberList"> 114 <div class="memberList">
196 <template repeat="{{ lib in isolate.libraries }}"> 115 <template repeat="{{ lib in isolate.libraries }}">
197 <div class="memberItem"> 116 <div class="memberItem">
198 <div class="memberName"> 117 <div class="memberName">
199 <library-ref ref="{{ lib }}"></library-ref> 118 <library-ref ref="{{ lib }}"></library-ref>
200 </div> 119 </div>
201 </div> 120 </div>
202 </template> 121 </template>
203 </div> 122 </div>
204 </curly-block> 123 </curly-block>
205 </div> 124 </div>
206 125
207 <hr> 126 <hr>
208 127
209 <div class="content"> 128 <div class="content">
210 <div class="memberValue">Isolate execution</div>
211 <template repeat="{{ key in isolate.counters.keys }}">
212 <div class="memberValue">{{ key }} ({{ isolate.counters[key] }})</div>
213 </template>
214 </div>
215
216 <div class="content">
217 <div id="tagProfileChart" class="miniProfileChart" style="height: 600px">< /div> 129 <div id="tagProfileChart" class="miniProfileChart" style="height: 600px">< /div>
218 </div> 130 </div>
219 131
220 <hr> 132 <hr>
221 133
222 <div class="content"> 134 <div class="content">
223 <eval-box callback="{{ eval }}"></eval-box> 135 <eval-box callback="{{ eval }}"></eval-box>
224 </div> 136 </div>
225 <br><br><br><br> 137 <br><br><br><br>
226 <br><br><br><br> 138 <br><br><br><br>
227 </template> 139 </template>
228 <script type="application/dart" src="isolate_view.dart"></script> 140 <script type="application/dart" src="isolate_view.dart"></script>
229 </polymer-element> 141 </polymer-element>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698