lts/src/inspector/tracing_agent.h
#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<MainThreadHandle>);
~TracingAgent() override;
void Wire(UberDispatcher* dispatcher);
DispatchResponse start(
std::unique_ptr<protocol::NodeTracing::TraceConfig> traceConfig) override;
DispatchResponse stop() override;
DispatchResponse getCategories(
std::unique_ptr<protocol::Array<String>>* categories) override;
private:
Environment* env_;
std::shared_ptr<MainThreadHandle> main_thread_;
tracing::AgentWriterHandle trace_writer_;
int frontend_object_id_;
std::shared_ptr<NodeTracing::Frontend> frontend_;
};
} // namespace protocol
} // namespace inspector
} // namespace node
#endif // SRC_INSPECTOR_TRACING_AGENT_H_