1 #ifndef SRC_TRACING_NODE_TRACE_WRITER_H_ 2 #define SRC_TRACING_NODE_TRACE_WRITER_H_ 8 #include "libplatform/v8-tracing.h" 14 using v8::platform::tracing::TraceObject;
15 using v8::platform::tracing::TraceWriter;
16 using v8::platform::tracing::TracingController;
24 void Flush()
override;
25 void Flush(
bool blocking);
34 int highest_request_id;
37 static void WriteCb(uv_fs_t*
req);
38 void OpenNewFileForStreaming();
39 void WriteToFile(std::string&& str,
int highest_request_id);
41 static void FlushSignalCb(uv_async_t* signal);
43 static void ExitSignalCb(uv_async_t* signal);
45 uv_loop_t* tracing_loop_;
47 uv_async_t flush_signal_;
49 uv_async_t exit_signal_;
61 std::queue<WriteRequest*> write_req_queue_;
62 int num_write_requests_ = 0;
63 int highest_request_id_completed_ = 0;
64 int total_traces_ = 0;
66 std::ostringstream stream_;
67 TraceWriter* json_trace_writer_ =
nullptr;
74 #endif // SRC_TRACING_NODE_TRACE_WRITER_H_
void AppendTraceEvent(TraceObject *trace_event) override
static const int kTracesPerFile
NodeTraceWriter(uv_loop_t *tracing_loop)