#include <v8-profiler.h>
Public Types | |
enum | SerializationFormat { kJSON = 0 } |
Public Member Functions | |
const HeapGraphNode * | GetRoot () const |
const HeapGraphNode * | GetNodeById (SnapshotObjectId id) const |
int | GetNodesCount () const |
const HeapGraphNode * | GetNode (int index) const |
SnapshotObjectId | GetMaxSnapshotJSObjectId () const |
void | Delete () |
void | Serialize (OutputStream *stream, SerializationFormat format=kJSON) const |
HeapSnapshots record the state of the JS heap at some moment.
void v8::HeapSnapshot::Delete | ( | ) |
Deletes the snapshot and removes it from HeapProfiler's list. All pointers to nodes, edges and paths previously returned become invalid.
SnapshotObjectId v8::HeapSnapshot::GetMaxSnapshotJSObjectId | ( | ) | const |
Returns a max seen JS object Id.
const HeapGraphNode * v8::HeapSnapshot::GetNode | ( | int | index | ) | const |
Returns a node by index.
const HeapGraphNode * v8::HeapSnapshot::GetNodeById | ( | SnapshotObjectId | id | ) | const |
Returns a node by its id.
int v8::HeapSnapshot::GetNodesCount | ( | ) | const |
Returns total nodes count in the snapshot.
const HeapGraphNode * v8::HeapSnapshot::GetRoot | ( | ) | const |
Returns the root node of the heap graph.
void v8::HeapSnapshot::Serialize | ( | OutputStream * | stream, |
SerializationFormat | format = kJSON |
||
) | const |
Prepare a serialized representation of the snapshot. The result is written into the stream provided in chunks of specified size. The total length of the serialized snapshot is unknown in advance, it can be roughly equal to JS heap size (that means, it can be really big - tens of megabytes).
For the JSON format, heap contents are represented as an object with the following structure:
{ snapshot: { title: "...", uid: nnn, meta: { meta-info }, node_count: nnn, edge_count: nnn }, nodes: [nodes array], edges: [edges array], strings: [strings array] }
Nodes reference strings, other nodes, and edges by their indexes in corresponding arrays.