| Index: runtime/observatory/lib/src/service/object.dart
|
| diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart
|
| index a57dda7d57437e5a5a4cfb176a50aec5ee3f966c..c7bfa2fd4ac9c0e756e23b84bbd06474ce5cb94e 100644
|
| --- a/runtime/observatory/lib/src/service/object.dart
|
| +++ b/runtime/observatory/lib/src/service/object.dart
|
| @@ -4233,50 +4233,17 @@ class Socket extends ServiceObject {
|
| }
|
| }
|
|
|
| -class MetricSample {
|
| - final double value;
|
| - final DateTime time;
|
| - MetricSample(this.value) : time = new DateTime.now();
|
| -}
|
| -
|
| -class ServiceMetric extends ServiceObject {
|
| +class ServiceMetric extends ServiceObject implements M.Metric {
|
| ServiceMetric._empty(ServiceObjectOwner owner) : super._empty(owner) {
|
| }
|
|
|
| bool get immutable => false;
|
|
|
| - @observable bool recording = false;
|
| - MetricPoller poller;
|
| -
|
| - final ObservableList<MetricSample> samples =
|
| - new ObservableList<MetricSample>();
|
| - int _sampleBufferSize = 100;
|
| - int get sampleBufferSize => _sampleBufferSize;
|
| - set sampleBufferSize(int size) {
|
| - _sampleBufferSize = size;
|
| - _removeOld();
|
| - }
|
| -
|
| Future<ObservableMap> _fetchDirect({int count: kDefaultFieldLimit}) {
|
| assert(owner is Isolate);
|
| return isolate.invokeRpcNoUpgrade('_getIsolateMetric', { 'metricId': id });
|
| }
|
|
|
| -
|
| - void addSample(MetricSample sample) {
|
| - samples.add(sample);
|
| - _removeOld();
|
| - }
|
| -
|
| - void _removeOld() {
|
| - // TODO(johnmccutchan): If this becomes hot, consider using a circular
|
| - // buffer.
|
| - if (samples.length > _sampleBufferSize) {
|
| - int count = samples.length - _sampleBufferSize;
|
| - samples.removeRange(0, count);
|
| - }
|
| - }
|
| -
|
| @observable String description;
|
| @observable double value = 0.0;
|
| // Only a guage has a non-null min and max.
|
| @@ -4297,38 +4264,6 @@ class ServiceMetric extends ServiceObject {
|
| String toString() => "ServiceMetric($_id)";
|
| }
|
|
|
| -class MetricPoller {
|
| - // Metrics to be polled.
|
| - final List<ServiceMetric> metrics = new List<ServiceMetric>();
|
| - final Duration pollPeriod;
|
| - Timer _pollTimer;
|
| -
|
| - MetricPoller(int milliseconds) :
|
| - pollPeriod = new Duration(milliseconds: milliseconds) {
|
| - start();
|
| - }
|
| -
|
| - void start() {
|
| - _pollTimer = new Timer.periodic(pollPeriod, _onPoll);
|
| - }
|
| -
|
| - void cancel() {
|
| - if (_pollTimer != null) {
|
| - _pollTimer.cancel();
|
| - }
|
| - _pollTimer = null;
|
| - }
|
| -
|
| - void _onPoll(_) {
|
| - // Reload metrics and add a sample to each.
|
| - for (var metric in metrics) {
|
| - metric.reload().then((m) {
|
| - m.addSample(new MetricSample(m.value));
|
| - });
|
| - }
|
| - }
|
| -}
|
| -
|
| class Frame extends ServiceObject implements M.Frame {
|
| @observable int index;
|
| @observable ServiceFunction function;
|
|
|