#ifndef SRC_INSPECTOR_TRACING_AGENT_H_ #define SRC_INSPECTOR_TRACING_AGENT_H_ #include "node/inspector/protocol/NodeTracing.h" #include "tracing/agent.h" #include "v8.h" namespace node { class Environment; namespace inspector { class MainThreadHandle; namespace protocol { class TracingAgent : public NodeTracing::Backend { public: explicit TracingAgent(Environment*, std::shared_ptr); ~TracingAgent() override; void Wire(UberDispatcher* dispatcher); DispatchResponse start( std::unique_ptr traceConfig) override; DispatchResponse stop() override; DispatchResponse getCategories( std::unique_ptr>* categories) override; private: Environment* env_; std::shared_ptr main_thread_; tracing::AgentWriterHandle trace_writer_; int frontend_object_id_; std::shared_ptr frontend_; }; } // namespace protocol } // namespace inspector } // namespace node #endif // SRC_INSPECTOR_TRACING_AGENT_H_