| Index: include/v8-profiler.h
|
| diff --git a/include/v8-profiler.h b/include/v8-profiler.h
|
| index 9e3cb873c6fa7e2d2c43c50de32f6669bab9e3fe..dd1b8caf7b52303f906ff7786024410ec4b904b6 100644
|
| --- a/include/v8-profiler.h
|
| +++ b/include/v8-profiler.h
|
| @@ -260,10 +260,17 @@ class V8EXPORT HeapGraphNode {
|
|
|
| /**
|
| * Returns node id. For the same heap object, the id remains the same
|
| - * across all snapshots.
|
| + * across all snapshots. Not applicable to aggregated heap snapshots
|
| + * as they only contain aggregated instances.
|
| */
|
| uint64_t GetId() const;
|
|
|
| + /**
|
| + * Returns the number of instances. Only applicable to aggregated
|
| + * heap snapshots.
|
| + */
|
| + int GetInstancesCount() const;
|
| +
|
| /** Returns node's own size, in bytes. */
|
| int GetSelfSize() const;
|
|
|
| @@ -313,6 +320,15 @@ class V8EXPORT HeapSnapshotsDiff {
|
| */
|
| class V8EXPORT HeapSnapshot {
|
| public:
|
| + enum Type {
|
| + kFull = 0, // Heap snapshot with all instances and references.
|
| + kAggregated = 1 // Snapshot doesn't contain individual heap entries,
|
| + //instead they are grouped by constructor name.
|
| + };
|
| +
|
| + /** Returns heap snapshot type. */
|
| + Type GetType() const;
|
| +
|
| /** Returns heap snapshot UID (assigned by the profiler.) */
|
| unsigned GetUid() const;
|
|
|
| @@ -322,7 +338,10 @@ class V8EXPORT HeapSnapshot {
|
| /** Returns the root node of the heap graph. */
|
| const HeapGraphNode* GetRoot() const;
|
|
|
| - /** Returns a diff between this snapshot and another one. */
|
| + /**
|
| + * Returns a diff between this snapshot and another one. Only snapshots
|
| + * of the same type can be compared.
|
| + */
|
| const HeapSnapshotsDiff* CompareWith(const HeapSnapshot* snapshot) const;
|
| };
|
|
|
| @@ -341,8 +360,13 @@ class V8EXPORT HeapProfiler {
|
| /** Returns a profile by uid. */
|
| static const HeapSnapshot* FindSnapshot(unsigned uid);
|
|
|
| - /** Takes a heap snapshot and returns it. Title may be an empty string. */
|
| - static const HeapSnapshot* TakeSnapshot(Handle<String> title);
|
| + /**
|
| + * Takes a heap snapshot and returns it. Title may be an empty string.
|
| + * See HeapSnapshot::Type for types description.
|
| + */
|
| + static const HeapSnapshot* TakeSnapshot(
|
| + Handle<String> title,
|
| + HeapSnapshot::Type type = HeapSnapshot::kFull);
|
| };
|
|
|
|
|
|
|