class Aws::Xray::Subsegment

docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html

Constants

TYPE_NAME

Public Class Methods

build(trace, parent_id, remote:, name:) click to toggle source

@param [Boolean] remote

# File lib/aws/xray/subsegment.rb, line 9
def self.build(trace, parent_id, remote:, name:)
  new(name: name, trace: trace, parent_id: parent_id, remote: remote)
end
build_null() click to toggle source

Build a subsegment as null object.

# File lib/aws/xray/subsegment.rb, line 14
def self.build_null
  build(Trace.generate, SecureRandom.hex(8), remote: true, name: '')
end
new(name:, trace:, parent_id:, remote:) click to toggle source
Calls superclass method Aws::Xray::Segment::new
# File lib/aws/xray/subsegment.rb, line 20
def initialize(name:, trace:, parent_id:, remote:)
  super(name: name, trace_id: trace.root, parent_id: parent_id)
  @trace = trace
  @remote = !!remote
  @sql = nil
end

Public Instance Methods

generate_trace() click to toggle source
# File lib/aws/xray/subsegment.rb, line 53
def generate_trace
  @trace.copy(parent: @id)
end
set_http_request(env, traced: false) click to toggle source

Set traced=false if the downstream call is not traced app. e.g. Third-party Web API call. docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html

Calls superclass method Aws::Xray::Segment#set_http_request
# File lib/aws/xray/subsegment.rb, line 30
def set_http_request(env, traced: false)
  super(env)
  @http_request.traced = traced
end
set_sql(sql) click to toggle source

@param [Aws::Xray::Sql] sql

# File lib/aws/xray/subsegment.rb, line 36
def set_sql(sql)
  @sql = sql
end
to_h() click to toggle source
Calls superclass method Aws::Xray::Segment#to_h
# File lib/aws/xray/subsegment.rb, line 40
def to_h
  h = super
  # x_forwarded_for is Segment only.
  if h[:http] && h[:http][:request]
    h[:http][:request].delete(:x_forwarded_for)
    h[:http][:request][:traced] = @http_request.traced
  end
  h[:type] = TYPE_NAME
  h[:namespace] = 'remote' if @remote
  h[:sql] = @sql.to_h if @sql
  h
end