Chromium Code Reviews| Index: runtime/bin/vmstats/vmstats.dart |
| =================================================================== |
| --- runtime/bin/vmstats/vmstats.dart (revision 0) |
| +++ runtime/bin/vmstats/vmstats.dart (revision 0) |
| @@ -0,0 +1,55 @@ |
| +library vmstats; |
|
siva
2013/03/05 23:12:44
Copyright.
Tom Ball
2013/03/06 00:34:43
Done.
|
| + |
| +import 'dart:async'; |
| +import 'dart:html'; |
| +import 'dart:json' as JSON; |
| + |
| +part 'bargraph.dart'; |
| +part 'isolate_list.dart'; |
| +part 'models.dart'; |
| + |
| +BarGraph _graph; |
| +IsolateList _isolateList; |
| +DivElement _statusText; |
| +IsolateListModel _isolates; |
| +Timer _updater; |
| + |
| +final int _POLL_INTERVAL = 1000; |
| + |
| +void main() { |
| + DivElement dashBoard = query('#dashboard'); |
| + CanvasElement canvas = query('#graph'); |
| + var elements = [ new Element("Old Space", "#97FFFF"), |
| + new Element("New Space", "#00EE76")]; |
| + _graph = new BarGraph(canvas, elements); |
| + UListElement isolateListElement = query('#isolateList'); |
| + _isolateList = new IsolateList(isolateListElement); |
| + _statusText = query('#statusText'); |
| + |
| + _isolates = new IsolateListModel(); |
| + _isolates.addListener(onUpdateStatus, onRequestFailed); |
| + _isolates.update(); |
| + _updater = new Timer.repeating(_POLL_INTERVAL, (timer) => _isolates.update()); |
|
siva
2013/03/05 23:12:44
Ditto comment regarding types for local variables.
|
| +} |
| + |
| +void onUpdateStatus(IsolateListModel model) { |
| + int oldSpace = 0; |
| + int newSpace = 0; |
| + model.forEach((Isolate element) { |
| + oldSpace += element.oldSpace.used; |
| + newSpace += element.newSpace.used; |
| + }); |
| + _graph.addSample([oldSpace, newSpace]); |
| + _isolateList.updateList(model); |
| + showStatus('Running ...'); |
| +} |
| + |
| +void onRequestFailed() { |
| + _updater.cancel(); |
| + _isolates.removeListener(onUpdateStatus); |
| + showStatus('Server closed'); |
| +} |
| + |
| +void showStatus(status) { |
| + _statusText.text = status; |
| +} |