module Elasticsearch::API::Profiling::Actions

Public Instance Methods

flamegraph(arguments = {}) click to toggle source

Extracts a UI-optimized structure to render flamegraphs from Universal Profiling.

@option arguments [Hash] :headers Custom HTTP headers @option arguments [Hash] :body The filter conditions for the flamegraph (Required)

@see www.elastic.co/guide/en/observability/8.16/universal-profiling.html

# File lib/elasticsearch/api/actions/profiling/flamegraph.rb, line 32
def flamegraph(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'profiling.flamegraph' }

  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]

  arguments = arguments.clone
  headers = arguments.delete(:headers) || {}

  body   = arguments.delete(:body)

  method = Elasticsearch::API::HTTP_POST
  path   = '_profiling/flamegraph'
  params = {}

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
stacktraces(arguments = {}) click to toggle source

Extracts raw stacktrace information from Universal Profiling.

@option arguments [Hash] :headers Custom HTTP headers @option arguments [Hash] :body The filter conditions for stacktraces (Required)

@see www.elastic.co/guide/en/observability/8.16/universal-profiling.html

# File lib/elasticsearch/api/actions/profiling/stacktraces.rb, line 32
def stacktraces(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'profiling.stacktraces' }

  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]

  arguments = arguments.clone
  headers = arguments.delete(:headers) || {}

  body   = arguments.delete(:body)

  method = Elasticsearch::API::HTTP_POST
  path   = '_profiling/stacktraces'
  params = {}

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
status(arguments = {}) click to toggle source

Returns basic information about the status of Universal Profiling.

@option arguments [Time] :master_timeout Explicit operation timeout for connection to master node @option arguments [Time] :timeout Explicit operation timeout @option arguments [Boolean] :wait_for_resources_created Whether to return immediately or wait until resources have been created @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/observability/8.16/universal-profiling.html

# File lib/elasticsearch/api/actions/profiling/status.rb, line 34
def status(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'profiling.status' }

  arguments = arguments.clone
  headers = arguments.delete(:headers) || {}

  body   = nil

  method = Elasticsearch::API::HTTP_GET
  path   = '_profiling/status'
  params = Utils.process_params(arguments)

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
topn_functions(arguments = {}) click to toggle source

Extracts a list of topN functions from Universal Profiling.

@option arguments [Hash] :headers Custom HTTP headers @option arguments [Hash] :body The filter conditions for stacktraces (Required)

@see www.elastic.co/guide/en/observability/8.16/universal-profiling.html

# File lib/elasticsearch/api/actions/profiling/topn_functions.rb, line 32
def topn_functions(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'profiling.topn_functions' }

  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]

  arguments = arguments.clone
  headers = arguments.delete(:headers) || {}

  body   = arguments.delete(:body)

  method = Elasticsearch::API::HTTP_POST
  path   = '_profiling/topn/functions'
  params = {}

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end