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

Unified Diff: runtime/observatory/lib/src/repositories/top_retaining_instances.dart

Issue 2294073003: Converted Observatory class-view element (Closed)
Patch Set: Addressed comments Created 4 years, 4 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/repositories/top_retaining_instances.dart
diff --git a/runtime/observatory/lib/src/repositories/top_retaining_instances.dart b/runtime/observatory/lib/src/repositories/top_retaining_instances.dart
new file mode 100644
index 0000000000000000000000000000000000000000..117c679763051d09a36605f55f450d55a40b4840
--- /dev/null
+++ b/runtime/observatory/lib/src/repositories/top_retaining_instances.dart
@@ -0,0 +1,22 @@
+// Copyright (c) 2016, 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 repositories;
+
+class TopRetainingInstancesRepository
+ implements M.TopRetainingInstancesRepository {
+ Future<Iterable<M.RetainingObject>> get(M.IsolateRef i, M.ClassRef c) async {
+ S.Isolate isolate = i as S.Isolate;
+ S.Class cls = c as S.Class;
+ assert(isolate != null);
+ assert(cls != null);
+ final raw = await isolate.fetchHeapSnapshot(true).last;
+ final snapshot = new HeapSnapshot();
+ await snapshot.loadProgress(isolate, raw).last;
+ return (await Future.wait(snapshot.getMostRetained(isolate,
+ classId: cls.vmCid,
+ limit: 10)))
+ .map((object) => new S.RetainingObject(object));
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698