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

Side by Side Diff: runtime/observatory/lib/src/elements/cpu_profile_table.dart

Issue 2310003004: Removed polymer & mirror from Observatory (Closed)
Patch Set: Fixed tests Created 4 years, 3 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library cpu_profile_table_element; 5 library cpu_profile_table_element;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:html'; 8 import 'dart:html';
9 import 'package:observatory/models.dart' as M; 9 import 'package:observatory/models.dart' as M;
10 import 'package:observatory/src/elements/containers/virtual_collection.dart'; 10 import 'package:observatory/src/elements/containers/virtual_collection.dart';
11 import 'package:observatory/src/elements/cpu_profile/virtual_tree.dart'; 11 import 'package:observatory/src/elements/cpu_profile/virtual_tree.dart';
12 import 'package:observatory/src/elements/function_ref.dart'; 12 import 'package:observatory/src/elements/function_ref.dart';
13 import 'package:observatory/src/elements/helpers/nav_bar.dart';
14 import 'package:observatory/src/elements/helpers/nav_menu.dart';
13 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart'; 15 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart';
14 import 'package:observatory/src/elements/helpers/tag.dart'; 16 import 'package:observatory/src/elements/helpers/tag.dart';
15 import 'package:observatory/src/elements/helpers/uris.dart'; 17 import 'package:observatory/src/elements/helpers/uris.dart';
16 import 'package:observatory/src/elements/nav/bar.dart';
17 import 'package:observatory/src/elements/nav/isolate_menu.dart'; 18 import 'package:observatory/src/elements/nav/isolate_menu.dart';
18 import 'package:observatory/src/elements/nav/menu.dart';
19 import 'package:observatory/src/elements/nav/notify.dart'; 19 import 'package:observatory/src/elements/nav/notify.dart';
20 import 'package:observatory/src/elements/nav/refresh.dart'; 20 import 'package:observatory/src/elements/nav/refresh.dart';
21 import 'package:observatory/src/elements/nav/top_menu.dart'; 21 import 'package:observatory/src/elements/nav/top_menu.dart';
22 import 'package:observatory/src/elements/nav/vm_menu.dart'; 22 import 'package:observatory/src/elements/nav/vm_menu.dart';
23 import 'package:observatory/src/elements/sample_buffer_control.dart'; 23 import 'package:observatory/src/elements/sample_buffer_control.dart';
24 import 'package:observatory/src/elements/stack_trace_tree_config.dart'; 24 import 'package:observatory/src/elements/stack_trace_tree_config.dart';
25 import 'package:observatory/utils.dart'; 25 import 'package:observatory/utils.dart';
26 26
27 enum _Table { 27 enum _Table {
28 functions, 28 functions,
(...skipping 11 matching lines...) Expand all
40 40
41 enum _SortingDirection { 41 enum _SortingDirection {
42 ascending, 42 ascending,
43 descending 43 descending
44 } 44 }
45 45
46 class CpuProfileTableElement extends HtmlElement implements Renderable { 46 class CpuProfileTableElement extends HtmlElement implements Renderable {
47 static const tag = const Tag<CpuProfileTableElement>('cpu-profile-table', 47 static const tag = const Tag<CpuProfileTableElement>('cpu-profile-table',
48 dependencies: const [ 48 dependencies: const [
49 FunctionRefElement.tag, 49 FunctionRefElement.tag,
50 NavBarElement.tag,
51 NavTopMenuElement.tag, 50 NavTopMenuElement.tag,
52 NavVMMenuElement.tag, 51 NavVMMenuElement.tag,
53 NavIsolateMenuElement.tag, 52 NavIsolateMenuElement.tag,
54 NavMenuElement.tag,
55 NavRefreshElement.tag, 53 NavRefreshElement.tag,
56 NavNotifyElement.tag, 54 NavNotifyElement.tag,
57 SampleBufferControlElement.tag, 55 SampleBufferControlElement.tag,
58 StackTraceTreeConfigElement.tag, 56 StackTraceTreeConfigElement.tag,
59 CpuProfileVirtualTreeElement.tag, 57 CpuProfileVirtualTreeElement.tag,
60 VirtualCollectionElement.tag 58 VirtualCollectionElement.tag
61 ]); 59 ]);
62 60
63 RenderingScheduler<CpuProfileTableElement> _r; 61 RenderingScheduler<CpuProfileTableElement> _r;
64 62
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 118
121 @override 119 @override
122 detached() { 120 detached() {
123 super.detached(); 121 super.detached();
124 _r.disable(notify: true); 122 _r.disable(notify: true);
125 children = []; 123 children = [];
126 } 124 }
127 125
128 void render() { 126 void render() {
129 var content = [ 127 var content = [
130 new NavBarElement(queue: _r.queue) 128 navBar([
131 ..children = [
132 new NavTopMenuElement(queue: _r.queue), 129 new NavTopMenuElement(queue: _r.queue),
133 new NavVMMenuElement(_vm, _events, queue: _r.queue), 130 new NavVMMenuElement(_vm, _events, queue: _r.queue),
134 new NavIsolateMenuElement(_isolate, _events, queue: _r.queue), 131 new NavIsolateMenuElement(_isolate, _events, queue: _r.queue),
135 new NavMenuElement('cpu profile (table)', 132 navMenu('cpu profile (table)'),
136 link: Uris.cpuProfilerTable(_isolate), last: true, queue: _r.queue ),
137 new NavRefreshElement(queue: _r.queue) 133 new NavRefreshElement(queue: _r.queue)
138 ..onRefresh.listen(_refresh), 134 ..onRefresh.listen(_refresh),
139 new NavRefreshElement(label: 'Clear', queue: _r.queue) 135 new NavRefreshElement(label: 'Clear', queue: _r.queue)
140 ..onRefresh.listen(_clearCpuProfile), 136 ..onRefresh.listen(_clearCpuProfile),
141 new NavNotifyElement(_notifications, queue: _r.queue) 137 new NavNotifyElement(_notifications, queue: _r.queue)
142 ], 138 ]),
143 ]; 139 ];
144 if (_progress == null) { 140 if (_progress == null) {
145 children = content; 141 children = content;
146 return; 142 return;
147 } 143 }
148 content.add(new SampleBufferControlElement(_progress, _progressStream, 144 content.add(new SampleBufferControlElement(_progress, _progressStream,
149 showTag: false, queue: _r.queue)); 145 showTag: false, queue: _r.queue));
150 if (_progress.status == M.SampleProfileLoadingStatus.loaded) { 146 if (_progress.status == M.SampleProfileLoadingStatus.loaded) {
151 content.add(new BRElement()); 147 content.add(new BRElement());
152 content.addAll(_createTables()); 148 content.addAll(_createTables());
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 447
452 static double _getExclusiveT(M.ProfileFunction f) => 448 static double _getExclusiveT(M.ProfileFunction f) =>
453 f.normalizedExclusiveTicks; 449 f.normalizedExclusiveTicks;
454 static double _getInclusiveT(M.ProfileFunction f) => 450 static double _getInclusiveT(M.ProfileFunction f) =>
455 f.normalizedInclusiveTicks; 451 f.normalizedInclusiveTicks;
456 double _getCalleeT(M.ProfileFunction f) => 452 double _getCalleeT(M.ProfileFunction f) =>
457 _selected.callees[f] / _selected.callees.values.reduce((a, b) => a + b); 453 _selected.callees[f] / _selected.callees.values.reduce((a, b) => a + b);
458 double _getCallerT(M.ProfileFunction f) => 454 double _getCallerT(M.ProfileFunction f) =>
459 _selected.callers[f] / _selected.callers.values.reduce((a, b) => a + b); 455 _selected.callers[f] / _selected.callers.values.reduce((a, b) => a + b);
460 } 456 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698