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

Unified Diff: runtime/observatory/lib/src/service/object.dart

Issue 2303173002: Converted Observatory metrics-page element (Closed)
Patch Set: Added sampling buffer size select 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 side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698