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

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

Issue 2502283003: Add a version of heap snapshots that use only fields and stack frames as roots and only include ins… (Closed)
Patch Set: . Created 4 years, 1 month 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/heap_snapshot.dart
diff --git a/runtime/observatory/lib/src/repositories/heap_snapshot.dart b/runtime/observatory/lib/src/repositories/heap_snapshot.dart
index e56b352a4e0c9c3a99bd7abf4178383a94b8dc47..a4f90b31777ca534ee43dffd9e6e8aef00ce0e60 100644
--- a/runtime/observatory/lib/src/repositories/heap_snapshot.dart
+++ b/runtime/observatory/lib/src/repositories/heap_snapshot.dart
@@ -16,6 +16,7 @@ class HeapSnapshotLoadingProgress extends M.HeapSnapshotLoadingProgress {
Stream<HeapSnapshotLoadingProgressEvent> get onProgress => _onProgress.stream;
final S.Isolate isolate;
+ final M.HeapSnapshotRoots roots;
final bool gc;
M.HeapSnapshotLoadingStatus _status = M.HeapSnapshotLoadingStatus.fetching;
@@ -32,7 +33,7 @@ class HeapSnapshotLoadingProgress extends M.HeapSnapshotLoadingProgress {
Duration get loadingTime => _loadingTime.elapsed;
HeapSnapshot get snapshot => _snapshot;
- HeapSnapshotLoadingProgress(this.isolate, this.gc) {
+ HeapSnapshotLoadingProgress(this.isolate, this.roots, this.gc) {
_run();
}
@@ -44,7 +45,7 @@ class HeapSnapshotLoadingProgress extends M.HeapSnapshotLoadingProgress {
await isolate.getClassRefs();
- final stream = isolate.fetchHeapSnapshot(gc);
+ final stream = isolate.fetchHeapSnapshot(roots, gc);
stream.listen((status) {
if (status is List) {
@@ -99,11 +100,13 @@ class HeapSnapshotLoadingProgress extends M.HeapSnapshotLoadingProgress {
}
class HeapSnapshotRepository implements M.HeapSnapshotRepository {
- Stream<HeapSnapshotLoadingProgressEvent> get(M.IsolateRef i,
- {bool gc: false}) {
+ Stream<HeapSnapshotLoadingProgressEvent> get(
+ M.IsolateRef i,
+ {M.HeapSnapshotRoots roots: M.HeapSnapshotRoots.vm,
+ bool gc: false}) {
S.Isolate isolate = i as S.Isolate;
assert(isolate != null);
assert(gc != null);
- return new HeapSnapshotLoadingProgress(isolate, gc).onProgress;
+ return new HeapSnapshotLoadingProgress(isolate, roots, gc).onProgress;
}
}

Powered by Google App Engine
This is Rietveld 408576698