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

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

Issue 2990173002: Revert "[vm] Don't enable the profiler by default. Enable the profiler at startup with --observe, o… (Closed)
Patch Set: Created 3 years, 4 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 import 'dart:async'; 5 import 'dart:async';
6 import 'dart:html'; 6 import 'dart:html';
7 import 'package:observatory/models.dart' as M; 7 import 'package:observatory/models.dart' as M;
8 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart'; 8 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart';
9 import 'package:observatory/src/elements/helpers/tag.dart'; 9 import 'package:observatory/src/elements/helpers/tag.dart';
10 import 'package:observatory/src/elements/helpers/uris.dart'; 10 import 'package:observatory/src/elements/helpers/uris.dart';
(...skipping 11 matching lines...) Expand all
22 RenderingScheduler<SampleBufferControlElement> _r; 22 RenderingScheduler<SampleBufferControlElement> _r;
23 23
24 Stream<RenderedEvent<SampleBufferControlElement>> get onRendered => 24 Stream<RenderedEvent<SampleBufferControlElement>> get onRendered =>
25 _r.onRendered; 25 _r.onRendered;
26 26
27 StreamController<SampleBufferControlChangedElement> _onTagChange = 27 StreamController<SampleBufferControlChangedElement> _onTagChange =
28 new StreamController<SampleBufferControlChangedElement>.broadcast(); 28 new StreamController<SampleBufferControlChangedElement>.broadcast();
29 Stream<SampleBufferControlChangedElement> get onTagChange => 29 Stream<SampleBufferControlChangedElement> get onTagChange =>
30 _onTagChange.stream; 30 _onTagChange.stream;
31 31
32 M.VM _vm;
33 Stream<M.SampleProfileLoadingProgressEvent> _progressStream; 32 Stream<M.SampleProfileLoadingProgressEvent> _progressStream;
34 M.SampleProfileLoadingProgress _progress; 33 M.SampleProfileLoadingProgress _progress;
35 M.SampleProfileTag _tag; 34 M.SampleProfileTag _tag;
36 bool _showTag = false; 35 bool _showTag = false;
37 bool _profileVM = false; 36 bool _profileVM = false;
38 StreamSubscription _subscription; 37 StreamSubscription _subscription;
39 38
40 M.SampleProfileLoadingProgress get progress => _progress; 39 M.SampleProfileLoadingProgress get progress => _progress;
41 M.SampleProfileTag get selectedTag => _tag; 40 M.SampleProfileTag get selectedTag => _tag;
42 bool get showTag => _showTag; 41 bool get showTag => _showTag;
43 bool get profileVM => _profileVM; 42 bool get profileVM => _profileVM;
44 43
45 set selectedTag(M.SampleProfileTag value) => 44 set selectedTag(M.SampleProfileTag value) =>
46 _tag = _r.checkAndReact(_tag, value); 45 _tag = _r.checkAndReact(_tag, value);
47 set showTag(bool value) => _showTag = _r.checkAndReact(_showTag, value); 46 set showTag(bool value) => _showTag = _r.checkAndReact(_showTag, value);
48 set profileVM(bool value) => _profileVM = _r.checkAndReact(_profileVM, value); 47 set profileVM(bool value) => _profileVM = _r.checkAndReact(_profileVM, value);
49 48
50 factory SampleBufferControlElement( 49 factory SampleBufferControlElement(M.SampleProfileLoadingProgress progress,
51 M.VM vm,
52 M.SampleProfileLoadingProgress progress,
53 Stream<M.SampleProfileLoadingProgressEvent> progressStream, 50 Stream<M.SampleProfileLoadingProgressEvent> progressStream,
54 {M.SampleProfileTag selectedTag: M.SampleProfileTag.none, 51 {M.SampleProfileTag selectedTag: M.SampleProfileTag.none,
55 bool showTag: true, 52 bool showTag: true,
56 RenderingQueue queue}) { 53 RenderingQueue queue}) {
57 assert(vm != null);
58 assert(progress != null); 54 assert(progress != null);
59 assert(progressStream != null); 55 assert(progressStream != null);
60 assert(selectedTag != null); 56 assert(selectedTag != null);
61 assert(showTag != null); 57 assert(showTag != null);
62 SampleBufferControlElement e = document.createElement(tag.name); 58 SampleBufferControlElement e = document.createElement(tag.name);
63 e._r = new RenderingScheduler(e, queue: queue); 59 e._r = new RenderingScheduler(e, queue: queue);
64 e._vm = vm;
65 e._progress = progress; 60 e._progress = progress;
66 e._progressStream = progressStream; 61 e._progressStream = progressStream;
67 e._tag = selectedTag; 62 e._tag = selectedTag;
68 e._showTag = showTag; 63 e._showTag = showTag;
69 return e; 64 return e;
70 } 65 }
71 66
72 SampleBufferControlElement.created() : super.created(); 67 SampleBufferControlElement.created() : super.created();
73 68
74 @override 69 @override
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 ..text = message, 122 ..text = message,
128 new DivElement() 123 new DivElement()
129 ..style.background = '#0489c3' 124 ..style.background = '#0489c3'
130 ..style.width = '$progress%' 125 ..style.width = '$progress%'
131 ..style.height = '15px' 126 ..style.height = '15px'
132 ..style.borderRadius = '4px' 127 ..style.borderRadius = '4px'
133 ] 128 ]
134 ]; 129 ];
135 } 130 }
136 131
137 List<Element> _createDisabledMessage() { 132 static List<Element> _createDisabledMessage() {
138 return [ 133 return [
139 new DivElement() 134 new DivElement()
140 ..classes = ['statusBox' 'shadow' 'center'] 135 ..classes = ['statusBox' 'shadow' 'center']
141 ..children = [ 136 ..children = [
142 new DivElement() 137 new DivElement()
143 ..children = [ 138 ..children = [
144 new HeadingElement.h1()..text = 'Profiling is disabled', 139 new HeadingElement.h1()..text = 'Profiling is disabled',
145 new BRElement(), 140 new BRElement(),
146 new DivElement() 141 new DivElement()
147 ..innerHtml = 'Perhaps the <b>profile</b> ' 142 ..innerHtml = 'Perhaps the <b>profile</b> '
148 'flag has been disabled for this VM.', 143 'flag has been disabled for this VM.',
149 new BRElement(), 144 new BRElement(),
150 new ButtonElement() 145 new SpanElement()..text = 'See all ',
151 ..text = 'Enable profiler' 146 new AnchorElement(href: Uris.flags())..text = 'vm flags'
152 ..onClick.listen((_) {
153 _enableProfiler();
154 })
155 ] 147 ]
156 ] 148 ]
157 ]; 149 ];
158 } 150 }
159 151
160 List<Element> _createStatusReport() { 152 List<Element> _createStatusReport() {
161 final fetchT = Utils.formatDurationInSeconds(_progress.fetchingTime); 153 final fetchT = Utils.formatDurationInSeconds(_progress.fetchingTime);
162 final loadT = Utils.formatDurationInSeconds(_progress.loadingTime); 154 final loadT = Utils.formatDurationInSeconds(_progress.loadingTime);
163 final sampleCount = _progress.profile.sampleCount; 155 final sampleCount = _progress.profile.sampleCount;
164 final refreshT = new DateTime.now(); 156 final refreshT = new DateTime.now();
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 case M.SampleProfileTag.none: 246 case M.SampleProfileTag.none:
255 return 'None'; 247 return 'None';
256 } 248 }
257 throw new Exception('Unknown tagToString'); 249 throw new Exception('Unknown tagToString');
258 } 250 }
259 251
260 SampleBufferControlChangedElement _toEvent(_) { 252 SampleBufferControlChangedElement _toEvent(_) {
261 return new SampleBufferControlChangedElement(this); 253 return new SampleBufferControlChangedElement(this);
262 } 254 }
263 255
264 void _enableProfiler() {
265 _vm.enableProfiler().then((_) {
266 _triggerModeChange(_toEvent(null));
267 });
268 }
269
270 void _triggerModeChange(e) => _onTagChange.add(e); 256 void _triggerModeChange(e) => _onTagChange.add(e);
271 } 257 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/elements/native_memory_profiler.dart ('k') | runtime/observatory/lib/src/models/objects/vm.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698