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