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

Side by Side Diff: runtime/observatory/lib/src/models/objects/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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of models; 5 part of models;
6 6
7 enum HeapSnapshotRoots { user, vm }
8
7 abstract class HeapSnapshot { 9 abstract class HeapSnapshot {
8 DateTime get timestamp; 10 DateTime get timestamp;
9 int get objects; 11 int get objects;
10 int get references; 12 int get references;
11 int get size; 13 int get size;
12 HeapSnapshotDominatorNode get dominatorTree; 14 HeapSnapshotDominatorNode get dominatorTree;
13 HeapSnapshotMergedDominatorNode get mergedDominatorTree; 15 HeapSnapshotMergedDominatorNode get mergedDominatorTree;
14 Iterable<HeapSnapshotClassReferences> get classReferences; 16 Iterable<HeapSnapshotClassReferences> get classReferences;
15 } 17 }
16 18
17 abstract class HeapSnapshotDominatorNode { 19 abstract class HeapSnapshotDominatorNode {
18 int get shallowSize; 20 int get shallowSize;
19 int get retainedSize; 21 int get retainedSize;
22 bool get isStack;
20 Future<ObjectRef> get object; 23 Future<ObjectRef> get object;
21 Iterable<HeapSnapshotDominatorNode> get children; 24 Iterable<HeapSnapshotDominatorNode> get children;
22 } 25 }
23 26
24 abstract class HeapSnapshotMergedDominatorNode { 27 abstract class HeapSnapshotMergedDominatorNode {
25 int get instanceCount; 28 int get instanceCount;
26 int get shallowSize; 29 int get shallowSize;
27 int get retainedSize; 30 int get retainedSize;
31 bool get isStack;
28 Future<ObjectRef> get klass; 32 Future<ObjectRef> get klass;
29 Iterable<HeapSnapshotMergedDominatorNode> get children; 33 Iterable<HeapSnapshotMergedDominatorNode> get children;
30 } 34 }
31 35
32 abstract class HeapSnapshotClassReferences { 36 abstract class HeapSnapshotClassReferences {
33 ClassRef get clazz; 37 ClassRef get clazz;
34 int get instances; 38 int get instances;
35 int get shallowSize; 39 int get shallowSize;
36 int get retainedSize; 40 int get retainedSize;
37 Iterable<HeapSnapshotClassInbound> get inbounds; 41 Iterable<HeapSnapshotClassInbound> get inbounds;
38 Iterable<HeapSnapshotClassOutbound> get outbounds; 42 Iterable<HeapSnapshotClassOutbound> get outbounds;
39 } 43 }
40 44
41 abstract class HeapSnapshotClassInbound { 45 abstract class HeapSnapshotClassInbound {
42 ClassRef get source; 46 ClassRef get source;
43 int get count; 47 int get count;
44 int get shallowSize; 48 int get shallowSize;
45 int get retainedSize; 49 int get retainedSize;
46 } 50 }
47 51
48 abstract class HeapSnapshotClassOutbound { 52 abstract class HeapSnapshotClassOutbound {
49 ClassRef get target; 53 ClassRef get target;
50 int get count; 54 int get count;
51 int get shallowSize; 55 int get shallowSize;
52 int get retainedSize; 56 int get retainedSize;
53 } 57 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698