Methods

Chrome DevTools

Profiler.disable #


Chrome DevTools

Profiler.enable #


Chrome DevTools

Profiler.getBestEffortCoverage #

Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection.

Return object

result
array[ ScriptCoverage ]

Coverage data for the current isolate.


Chrome DevTools

Profiler.setSamplingInterval #

Changes CPU profiler sampling interval. Must be called before CPU profiles recording started.

Parameters

interval
integer

New sampling interval in microseconds.


HermesHermes (Legacy)Chrome DevTools

Profiler.start #


Chrome DevTools

Profiler.startPreciseCoverage #

Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code coverage may be incomplete. Enabling prevents running optimized code and resets execution counters.

Parameters

callCount
Optional
boolean

Collect accurate call counts beyond simple 'covered' or 'not covered'.

detailed
Optional
boolean

Collect block-based coverage.

allowTriggeredUpdates
Optional
boolean

Allow the backend to send updates on its own initiative

Return object

timestamp
number

Monotonically increasing time (in seconds) when the coverage update was taken in the backend.


HermesHermes (Legacy)Chrome DevTools

Profiler.stop #

Return object

profile
Profile

Recorded profile.


Chrome DevTools

Profiler.stopPreciseCoverage #

Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code.


Chrome DevTools

Profiler.takePreciseCoverage #

Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started.

Return object

result
array[ ScriptCoverage ]

Coverage data for the current isolate.

timestamp
number

Monotonically increasing time (in seconds) when the coverage update was taken in the backend.

Events

Chrome DevTools

Profiler.consoleProfileFinished #

Parameters

id
string
location
Debugger.Location

Location of console.profileEnd().

profile
title
Optional
string

Profile title passed as an argument to console.profile().


Chrome DevTools

Profiler.consoleProfileStarted #

Sent when new profile recording is started using console.profile() call.

Parameters

id
string
location
Debugger.Location

Location of console.profile().

title
Optional
string

Profile title passed as an argument to console.profile().


Chrome DevTools

Profiler.preciseCoverageDeltaUpdate Experimental#

Reports coverage delta since the last poll (either from an event like this, or from takePreciseCoverage for the current isolate. May only be sent if precise code coverage has been started. This event can be trigged by the embedder to, for example, trigger collection of coverage data immediately at a certain point in time.

Parameters

timestamp
number

Monotonically increasing time (in seconds) when the coverage update was taken in the backend.

occasion
string

Identifier for distinguishing coverage events.

result
array[ ScriptCoverage ]

Coverage data for the current isolate.

Types

HermesHermes (Legacy)Chrome DevTools

Profiler.ProfileNode #

Profile node. Holds callsite information, execution statistics and child nodes.

Type: object

Properties

id
integer

Unique id of the node.

callFrame
Runtime.CallFrame

Function location.

hitCount
Optional
integer

Number of samples where this node was on top of the call stack.

children
Optional
array[ integer ]

Child node ids.

deoptReason
Optional
string

The reason of being not optimized. The function may be deoptimized or marked as don't optimize.

positionTicks
Optional
array[ PositionTickInfo ]

An array of source position ticks.


HermesHermes (Legacy)Chrome DevTools

Profiler.Profile #

Profile.

Type: object

Properties

nodes
array[ ProfileNode ]

The list of profile nodes. First item is the root node.

startTime
number

Profiling start timestamp in microseconds.

endTime
number

Profiling end timestamp in microseconds.

samples
Optional
array[ integer ]

Ids of samples top nodes.

timeDeltas
Optional
array[ integer ]

Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime.


HermesHermes (Legacy)Chrome DevTools

Profiler.PositionTickInfo #

Specifies a number of samples attributed to a certain source position.

Type: object

Properties

line
integer

Source line number (1-based).

ticks
integer

Number of samples attributed to the source line.


Chrome DevTools

Profiler.CoverageRange #

Coverage data for a source range.

Type: object

Properties

startOffset
integer

JavaScript script source offset for the range start.

endOffset
integer

JavaScript script source offset for the range end.

count
integer

Collected execution count of the source range.


Chrome DevTools

Profiler.FunctionCoverage #

Coverage data for a JavaScript function.

Type: object

Properties

functionName
string

JavaScript function name.

ranges
array[ CoverageRange ]

Source ranges inside the function with coverage data.

isBlockCoverage
boolean

Whether coverage data for this function has block granularity.


Chrome DevTools

Profiler.ScriptCoverage #

Coverage data for a JavaScript script.

Type: object

Properties

scriptId
Runtime.ScriptId

JavaScript script id.

url
string

JavaScript script name or url.

functions
array[ FunctionCoverage ]

Functions contained in the script that has coverage data.