16 :
isolate_(isolate), profiling_enabled_(false) {
17#if defined(V8_USE_PERFETTO)
18 TrackEvent::AddSessionObserver(
this);
20 if (TrackEvent::IsEnabled()) OnStart({});
28#if defined(V8_USE_PERFETTO)
29 TrackEvent::RemoveSessionObserver(
this);
36#if defined(V8_USE_PERFETTO)
37void TracingCpuProfilerImpl::OnStart(
38 const perfetto::DataSourceBase::StartArgs&) {
55class RunInterruptsTask :
public v8::Task {
59 void Run()
override {
isolate_->stack_guard()->HandleInterrupts(); }
66#if defined(V8_USE_PERFETTO)
67void TracingCpuProfilerImpl::OnStop(
const perfetto::DataSourceBase::StopArgs&) {
90 int sampling_interval_us = 100;
union v8::internal::@341::BuiltinMetadata::KindSpecificData data
void PostTask(std::unique_ptr< Task > task, const SourceLocation &location=SourceLocation::Current())
virtual void AddTraceStateObserver(TraceStateObserver *)
virtual void RemoveTraceStateObserver(TraceStateObserver *)
static constexpr TimeDelta FromMicroseconds(int64_t microseconds)
void RequestInterrupt(InterruptCallback callback, void *data)
TracingCpuProfilerImpl(Isolate *)
void OnTraceDisabled() final
~TracingCpuProfilerImpl() override
void OnTraceEnabled() final
std::unique_ptr< CpuProfiler > profiler_
static V8_EXPORT_PRIVATE v8::Platform * GetCurrentPlatform()
#define TRACE_DISABLED_BY_DEFAULT(name)
#define TRACE_EVENT_CATEGORY_GROUP_ENABLED(category_group, ret)