Index: include/v8-profiler.h |
diff --git a/include/v8-profiler.h b/include/v8-profiler.h |
index 59c2d5dacdb13eb390cd6e266957398336a5d553..83a4ed993744b8f79817b7f7d410d910661759c6 100644 |
--- a/include/v8-profiler.h |
+++ b/include/v8-profiler.h |
@@ -35,6 +35,9 @@ |
*/ |
namespace v8 { |
+class HeapGraphNode; |
+class HeapStatsUpdate; |
+ |
typedef uint32_t SnapshotObjectId; |
/** |
@@ -179,9 +182,6 @@ class V8_EXPORT CpuProfiler { |
}; |
-class HeapGraphNode; |
- |
- |
/** |
* HeapSnapshotEdge represents a directed connection between heap |
* graph nodes: from retainers to retained nodes. |
@@ -272,6 +272,37 @@ class V8_EXPORT HeapGraphNode { |
/** |
+ * An interface for exporting data from V8, using "push" model. |
+ */ |
+class V8_EXPORT OutputStream { // NOLINT |
+ public: |
+ enum WriteResult { |
+ kContinue = 0, |
+ kAbort = 1 |
+ }; |
+ virtual ~OutputStream() {} |
+ /** Notify about the end of stream. */ |
+ virtual void EndOfStream() = 0; |
+ /** Get preferred output chunk size. Called only once. */ |
+ virtual int GetChunkSize() { return 1024; } |
+ /** |
+ * Writes the next chunk of snapshot data into the stream. Writing |
+ * can be stopped by returning kAbort as function result. EndOfStream |
+ * will not be called in case writing was aborted. |
+ */ |
+ virtual WriteResult WriteAsciiChunk(char* data, int size) = 0; |
+ /** |
+ * Writes the next chunk of heap stats data into the stream. Writing |
+ * can be stopped by returning kAbort as function result. EndOfStream |
+ * will not be called in case writing was aborted. |
+ */ |
+ virtual WriteResult WriteHeapStatsChunk(HeapStatsUpdate* data, int count) { |
+ return kAbort; |
+ }; |
+}; |
+ |
+ |
+/** |
* HeapSnapshots record the state of the JS heap at some moment. |
*/ |
class V8_EXPORT HeapSnapshot { |
@@ -338,7 +369,24 @@ class V8_EXPORT HeapSnapshot { |
}; |
-class RetainedObjectInfo; |
+/** |
+ * An interface for reporting progress and controlling long-running |
+ * activities. |
+ */ |
+class V8_EXPORT ActivityControl { // NOLINT |
+ public: |
+ enum ControlOption { |
+ kContinue = 0, |
+ kAbort = 1 |
+ }; |
+ virtual ~ActivityControl() {} |
+ /** |
+ * Notify about current progress. The activity can be stopped by |
+ * returning kAbort as the callback result. |
+ */ |
+ virtual ControlOption ReportProgressValue(int done, int total) = 0; |
+}; |
+ |
/** |
* Interface for controlling heap profiling. Instance of the |