5 #ifndef V8_INSPECTOR_V8_PROFILER_AGENT_IMPL_H_ 6 #define V8_INSPECTOR_V8_PROFILER_AGENT_IMPL_H_ 10 #include "src/base/macros.h" 11 #include "src/inspector/protocol/Forward.h" 12 #include "src/inspector/protocol/Profiler.h" 21 class V8InspectorSessionImpl;
23 using protocol::Maybe;
24 using protocol::Response;
29 protocol::DictionaryValue* state);
32 bool enabled()
const {
return m_enabled; }
35 Response enable()
override;
36 Response disable()
override;
37 Response setSamplingInterval(
int)
override;
38 Response start()
override;
39 Response stop(std::unique_ptr<protocol::Profiler::Profile>*)
override;
41 Response startPreciseCoverage(Maybe<bool> binary,
42 Maybe<bool> detailed)
override;
43 Response stopPreciseCoverage()
override;
44 Response takePreciseCoverage(
45 std::unique_ptr<protocol::Array<protocol::Profiler::ScriptCoverage>>*
47 Response getBestEffortCoverage(
48 std::unique_ptr<protocol::Array<protocol::Profiler::ScriptCoverage>>*
51 Response startTypeProfile()
override;
52 Response stopTypeProfile()
override;
53 Response takeTypeProfile(
54 std::unique_ptr<protocol::Array<protocol::Profiler::ScriptTypeProfile>>*
57 void consoleProfile(
const String16& title);
58 void consoleProfileEnd(
const String16& title);
63 void startProfiling(
const String16& title);
64 std::unique_ptr<protocol::Profiler::Profile> stopProfiling(
65 const String16& title,
bool serialize);
68 v8::Isolate* m_isolate;
70 protocol::DictionaryValue* m_state;
71 protocol::Profiler::Frontend m_frontend;
72 bool m_enabled =
false;
73 bool m_recordingCPUProfile =
false;
75 std::vector<ProfileDescriptor> m_startedProfiles;
76 String16 m_frontendInitiatedProfileId;
77 int m_startedProfilesCount = 0;
84 #endif // V8_INSPECTOR_V8_PROFILER_AGENT_IMPL_H_