Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
v8::CpuProfiler Class Reference

#include <v8-profiler.h>

Public Member Functions

void Dispose ()
 
void SetSamplingInterval (int us)
 
void SetUsePreciseSampling (bool)
 
CpuProfilingResult Start (CpuProfilingOptions options, std::unique_ptr< DiscardedSamplesDelegate > delegate=nullptr)
 
CpuProfilingResult Start (Local< String > title, CpuProfilingOptions options, std::unique_ptr< DiscardedSamplesDelegate > delegate=nullptr)
 
CpuProfilingResult Start (Local< String > title, CpuProfilingMode mode, bool record_samples=false, unsigned max_samples=CpuProfilingOptions::kNoSampleLimit)
 
CpuProfilingResult Start (Local< String > title, bool record_samples=false)
 
CpuProfilingStatus StartProfiling (Local< String > title, CpuProfilingOptions options, std::unique_ptr< DiscardedSamplesDelegate > delegate=nullptr)
 
CpuProfilingStatus StartProfiling (Local< String > title, CpuProfilingMode mode, bool record_samples=false, unsigned max_samples=CpuProfilingOptions::kNoSampleLimit)
 
CpuProfilingStatus StartProfiling (Local< String > title, bool record_samples=false)
 
CpuProfileStop (ProfilerId id)
 
CpuProfileStopProfiling (Local< String > title)
 

Static Public Member Functions

static CpuProfilerNew (Isolate *isolate, CpuProfilingNamingMode=kDebugNaming, CpuProfilingLoggingMode=kLazyLogging)
 
static void CollectSample (Isolate *isolate)
 
static void UseDetailedSourcePositionsForProfiling (Isolate *isolate)
 

Detailed Description

Interface for controlling CPU profiling. Instance of the profiler can be created using v8::CpuProfiler::New method.

Member Function Documentation

◆ CollectSample()

static void v8::CpuProfiler::CollectSample ( Isolate isolate)
static

Synchronously collect current stack sample in all profilers attached to the |isolate|. The call does not affect number of ticks recorded for the current top node.

◆ Dispose()

void v8::CpuProfiler::Dispose ( )

Disposes the CPU profiler object.

◆ New()

static CpuProfiler * v8::CpuProfiler::New ( Isolate isolate,
CpuProfilingNamingMode  = kDebugNaming,
CpuProfilingLoggingMode  = kLazyLogging 
)
static

Creates a new CPU profiler for the |isolate|. The isolate must be initialized. The profiler object must be disposed after use by calling |Dispose| method.

◆ SetSamplingInterval()

void v8::CpuProfiler::SetSamplingInterval ( int  us)

Changes default CPU profiler sampling interval to the specified number of microseconds. Default interval is 1000us. This method must be called when there are no profiles being recorded.

◆ SetUsePreciseSampling()

void v8::CpuProfiler::SetUsePreciseSampling ( bool  )

Sets whether or not the profiler should prioritize consistency of sample periodicity on Windows. Disabling this can greatly reduce CPU usage, but may result in greater variance in sample timings from the platform's scheduler. Defaults to enabled. This method must be called when there are no profiles being recorded.

◆ Start() [1/4]

CpuProfilingResult v8::CpuProfiler::Start ( CpuProfilingOptions  options,
std::unique_ptr< DiscardedSamplesDelegate delegate = nullptr 
)

Starts collecting a CPU profile. Several profiles may be collected at once. Generates an anonymous profiler, without a String identifier.

◆ Start() [2/4]

CpuProfilingResult v8::CpuProfiler::Start ( Local< String title,
bool  record_samples = false 
)

The same as StartProfiling above, but the CpuProfilingMode defaults to kLeafNodeLineNumbers mode, which was the previous default behavior of the profiler.

◆ Start() [3/4]

CpuProfilingResult v8::CpuProfiler::Start ( Local< String title,
CpuProfilingMode  mode,
bool  record_samples = false,
unsigned  max_samples = CpuProfilingOptions::kNoSampleLimit 
)

Starts profiling with the same semantics as above, except with expanded parameters.

|record_samples| parameter controls whether individual samples should be recorded in addition to the aggregated tree.

|max_samples| controls the maximum number of samples that should be recorded by the profiler. Samples obtained after this limit will be discarded.

◆ Start() [4/4]

CpuProfilingResult v8::CpuProfiler::Start ( Local< String title,
CpuProfilingOptions  options,
std::unique_ptr< DiscardedSamplesDelegate delegate = nullptr 
)

Starts collecting a CPU profile. Title may be an empty string. Several profiles may be collected at once. Attempts to start collecting several profiles with the same title are silently ignored.

◆ StartProfiling() [1/3]

CpuProfilingStatus v8::CpuProfiler::StartProfiling ( Local< String title,
bool  record_samples = false 
)

The same as StartProfiling above, but the CpuProfilingMode defaults to kLeafNodeLineNumbers mode, which was the previous default behavior of the profiler.

◆ StartProfiling() [2/3]

CpuProfilingStatus v8::CpuProfiler::StartProfiling ( Local< String title,
CpuProfilingMode  mode,
bool  record_samples = false,
unsigned  max_samples = CpuProfilingOptions::kNoSampleLimit 
)

Starts profiling with the same semantics as above, except with expanded parameters.

|record_samples| parameter controls whether individual samples should be recorded in addition to the aggregated tree.

|max_samples| controls the maximum number of samples that should be recorded by the profiler. Samples obtained after this limit will be discarded.

◆ StartProfiling() [3/3]

CpuProfilingStatus v8::CpuProfiler::StartProfiling ( Local< String title,
CpuProfilingOptions  options,
std::unique_ptr< DiscardedSamplesDelegate delegate = nullptr 
)

Starts collecting a CPU profile. Title may be an empty string. Several profiles may be collected at once. Attempts to start collecting several profiles with the same title are silently ignored.

◆ Stop()

CpuProfile * v8::CpuProfiler::Stop ( ProfilerId  id)

Stops collecting CPU profile with a given id and returns it.

◆ StopProfiling()

CpuProfile * v8::CpuProfiler::StopProfiling ( Local< String title)

Stops collecting CPU profile with a given title and returns it. If the title given is empty, finishes the last profile started.

◆ UseDetailedSourcePositionsForProfiling()

static void v8::CpuProfiler::UseDetailedSourcePositionsForProfiling ( Isolate isolate)
static

Generate more detailed source positions to code objects. This results in better results when mapping profiling samples to script source.


The documentation for this class was generated from the following file: