| Index: runtime/observatory/test/native_metrics_test.dart
|
| diff --git a/runtime/observatory/test/native_metrics_test.dart b/runtime/observatory/test/native_metrics_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..39b23d1328efc5a1072771d5bd77908b1fa44384
|
| --- /dev/null
|
| +++ b/runtime/observatory/test/native_metrics_test.dart
|
| @@ -0,0 +1,41 @@
|
| +import 'package:observatory/service_io.dart';
|
| +import 'package:unittest/unittest.dart';
|
| +import 'test_helper.dart';
|
| +
|
| +import 'dart:profiler';
|
| +
|
| +void script() {
|
| + var counter = new Counter('a.b.c', 'description');
|
| + Metrics.register(counter);
|
| + counter.value = 1234.5;
|
| +}
|
| +
|
| +var tests = [
|
| +
|
| +(Isolate isolate) =>
|
| + isolate.refreshNativeMetrics().then((Map metrics) {
|
| + expect(metrics.length, greaterThan(1));
|
| + expect(metrics.length, greaterThan(1));
|
| + var foundOldHeapCapacity = metrics.values.any((m) =>
|
| + m.name == 'heap.old.capacity');
|
| + expect(foundOldHeapCapacity, equals(true));
|
| + }),
|
| +
|
| +(Isolate isolate) =>
|
| + isolate.invokeRpc('getIsolateMetric',
|
| + { 'metricId': 'metrics/native/heap.old.used' })
|
| + .then((ServiceMetric counter) {
|
| + expect(counter.type, equals('Counter'));
|
| + expect(counter.name, equals('heap.old.used'));
|
| + }),
|
| +
|
| +(Isolate isolate) =>
|
| + isolate.invokeRpc('getIsolateMetric',
|
| + { 'metricId': 'metrics/native/doesnotexist' })
|
| + .then((DartError err) {
|
| + expect(err is DartError, isTrue);
|
| + }),
|
| +
|
| +];
|
| +
|
| +main(args) => runIsolateTests(args, tests, testeeBefore: script);
|
|
|