Tungsten v0.1.0 Tungsten.CDP.Profiler View Source

Profiler

This domain has no documentation

Link to this section Summary

Link to this section Types

Link to this type

cdp_coverage_range_type() View Source
cdp_coverage_range_type() :: %{
  start_offset: integer(),
  end_offset: integer(),
  count: integer()
}

Profiler.CoverageRange

Coverage data for a source range.

Link to this type

cdp_function_coverage_type() View Source
cdp_function_coverage_type() :: %{
  function_name: String.t(),
  ranges: [cdp_coverage_range_type()],
  is_block_coverage: boolean()
}

Profiler.FunctionCoverage

Coverage data for a JavaScript function.

Link to this type

cdp_position_tick_info_type() View Source
cdp_position_tick_info_type() :: %{line: integer(), ticks: integer()}

Profiler.PositionTickInfo

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

Link to this type

cdp_profile_node_type() View Source
cdp_profile_node_type() :: %{
  :id => integer(),
  :call_frame => Tungsten.CDP.Runtime.cdp_call_frame_type(),
  optional(:hit_count) => integer(),
  optional(:children) => [integer()],
  optional(:deopt_reason) => String.t(),
  optional(:position_ticks) => [cdp_position_tick_info_type()]
}

Profiler.ProfileNode

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

Link to this type

cdp_profile_type() View Source
cdp_profile_type() :: %{
  :nodes => [cdp_profile_node_type()],
  :start_time => integer() | float(),
  :end_time => integer() | float(),
  optional(:samples) => [integer()],
  optional(:time_deltas) => [integer()]
}

Profiler.Profile

Profile.

Link to this type

cdp_script_coverage_type() View Source
cdp_script_coverage_type() :: %{
  script_id: Tungsten.CDP.Runtime.cdp_script_id_type(),
  url: String.t(),
  functions: [cdp_function_coverage_type()]
}

Profiler.ScriptCoverage

Coverage data for a JavaScript script.

Link to this type

cdp_script_type_profile_type() View Source
cdp_script_type_profile_type() :: %{
  script_id: Tungsten.CDP.Runtime.cdp_script_id_type(),
  url: String.t(),
  entries: [cdp_type_profile_entry_type()]
}

Profiler.ScriptTypeProfile

Type profile data collected during runtime for a JavaScript script.

Link to this type

cdp_type_object_type() View Source
cdp_type_object_type() :: %{name: String.t()}

Profiler.TypeObject

Describes a type collected during runtime.

Link to this type

cdp_type_profile_entry_type() View Source
cdp_type_profile_entry_type() :: %{
  offset: integer(),
  types: [cdp_type_object_type()]
}

Profiler.TypeProfileEntry

Source offset and types for a parameter or return value.

Link to this section Functions

Link to this function

disable(session, parameters \\ %{}, options \\ []) View Source
disable(GenServer.server(), map(), Tungsten.Connection.exec_options()) ::
  {:ok, map()} | {:error, term()}

Profiler.disable

This command has no documentation

Link to this function

enable(session, parameters \\ %{}, options \\ []) View Source
enable(GenServer.server(), map(), Tungsten.Connection.exec_options()) ::
  {:ok, map()} | {:error, term()}

Profiler.enable

This command has no documentation

Link to this function

get_best_effort_coverage(session, parameters \\ %{}, options \\ []) View Source
get_best_effort_coverage(
  GenServer.server(),
  map(),
  Tungsten.Connection.exec_options()
) :: {:ok, %{result: [cdp_script_coverage_type()]}} | {:error, term()}

Profiler.getBestEffortCoverage

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

Link to this function

set_sampling_interval(session, parameters, options \\ []) View Source
set_sampling_interval(
  GenServer.server(),
  %{interval: integer()},
  Tungsten.Connection.exec_options()
) :: {:ok, map()} | {:error, term()}

Profiler.setSamplingInterval

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

Link to this function

start(session, parameters \\ %{}, options \\ []) View Source
start(GenServer.server(), map(), Tungsten.Connection.exec_options()) ::
  {:ok, map()} | {:error, term()}

Profiler.start

This command has no documentation

Link to this function

start_precise_coverage(session, parameters \\ %{}, options \\ []) View Source
start_precise_coverage(
  GenServer.server(),
  %{optional(:call_count) => boolean(), optional(:detailed) => boolean()},
  Tungsten.Connection.exec_options()
) :: {:ok, map()} | {:error, term()}

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.

Link to this function

start_type_profile(session, parameters \\ %{}, options \\ []) View Source
start_type_profile(
  GenServer.server(),
  map(),
  Tungsten.Connection.exec_options()
) :: {:ok, map()} | {:error, term()}

Profiler.startTypeProfile

Enable type profile.

Link to this function

stop(session, parameters \\ %{}, options \\ []) View Source
stop(GenServer.server(), map(), Tungsten.Connection.exec_options()) ::
  {:ok, %{profile: cdp_profile_type()}} | {:error, term()}

Profiler.stop

This command has no documentation

Link to this function

stop_precise_coverage(session, parameters \\ %{}, options \\ []) View Source
stop_precise_coverage(
  GenServer.server(),
  map(),
  Tungsten.Connection.exec_options()
) :: {:ok, map()} | {:error, term()}

Profiler.stopPreciseCoverage

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

Link to this function

stop_type_profile(session, parameters \\ %{}, options \\ []) View Source
stop_type_profile(
  GenServer.server(),
  map(),
  Tungsten.Connection.exec_options()
) :: {:ok, map()} | {:error, term()}

Profiler.stopTypeProfile

Disable type profile. Disabling releases type profile data collected so far.

Link to this function

take_precise_coverage(session, parameters \\ %{}, options \\ []) View Source
take_precise_coverage(
  GenServer.server(),
  map(),
  Tungsten.Connection.exec_options()
) :: {:ok, %{result: [cdp_script_coverage_type()]}} | {:error, term()}

Profiler.takePreciseCoverage

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

Link to this function

take_type_profile(session, parameters \\ %{}, options \\ []) View Source
take_type_profile(
  GenServer.server(),
  map(),
  Tungsten.Connection.exec_options()
) :: {:ok, %{result: [cdp_script_type_profile_type()]}} | {:error, term()}

Profiler.takeTypeProfile

Collect type profile.