| // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| part of observatory; |
| |
| /// The observatory application. Instances of this are created and owned |
| /// by the observatory_application custom element. |
| class ObservatoryApplication extends Observable { |
| @observable final LocationManager locationManager; |
| @observable final RequestManager requestManager; |
| @observable final IsolateManager isolateManager; |
| |
| void _setup() { |
| locationManager._application = this; |
| requestManager._application = this; |
| isolateManager._application = this; |
| Isolate._application = this; |
| requestManager.interceptor = isolateManager._responseInterceptor; |
| locationManager.init(); |
| } |
| |
| ObservatoryApplication.devtools() : |
| locationManager = new LocationManager(), |
| requestManager = new PostMessageRequestManager(), |
| isolateManager = new IsolateManager() { |
| _setup(); |
| } |
| |
| ObservatoryApplication() : |
| locationManager = new LocationManager(), |
| requestManager = new HttpRequestManager(), |
| isolateManager = new IsolateManager() { |
| _setup(); |
| } |
| |
| /// Return the [Isolate] with [id]. |
| Isolate getIsolate(int id) { |
| return isolateManager.isolates[id]; |
| } |
| |
| /// Return the name of the isolate with [id]. |
| String getIsolateName(int id) { |
| var isolate = getIsolate(id); |
| if (isolate == null) { |
| return 'Null Isolate'; |
| } |
| return isolate.name; |
| } |
| |
| static const int KB = 1024; |
| static const int MB = KB * 1024; |
| static String scaledSizeUnits(int x) { |
| if (x > 2 * MB) { |
| var y = x / MB; |
| return '${y.toStringAsFixed(1)} MB'; |
| } else if (x > 2 * KB) { |
| var y = x / KB; |
| return '${y.toStringAsFixed(1)} KB'; |
| } |
| var y = x.toDouble(); |
| return '${y.toStringAsFixed(1)} B'; |
| } |
| |
| static String timeUnits(double x) { |
| return x.toStringAsFixed(2); |
| } |
| } |