Class: ZipkinTracer::RackHandler::ZipkinEnv
- Inherits:
-
Object
- Object
- ZipkinTracer::RackHandler::ZipkinEnv
- Defined in:
- lib/zipkin-tracer/rack/zipkin-tracer.rb
Overview
Environment with Zipkin information in it
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
Instance Method Summary collapse
- #called_with_zipkin_headers? ⇒ Boolean
- #force_sample? ⇒ Boolean
-
#initialize(env, config) ⇒ ZipkinEnv
constructor
A new instance of ZipkinEnv.
- #trace_id(default_flags = Trace::Flags::EMPTY) ⇒ Object
Constructor Details
#initialize(env, config) ⇒ ZipkinEnv
Returns a new instance of ZipkinEnv.
72 73 74 75 |
# File 'lib/zipkin-tracer/rack/zipkin-tracer.rb', line 72 def initialize(env, config) @env = env @config = config end |
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
70 71 72 |
# File 'lib/zipkin-tracer/rack/zipkin-tracer.rb', line 70 def env @env end |
Instance Method Details
#called_with_zipkin_headers? ⇒ Boolean
91 92 93 |
# File 'lib/zipkin-tracer/rack/zipkin-tracer.rb', line 91 def called_with_zipkin_headers? @called_with_zipkin_headers ||= B3_REQUIRED_HEADERS.all? { |key| @env.has_key?(key) } end |
#force_sample? ⇒ Boolean
95 96 97 |
# File 'lib/zipkin-tracer/rack/zipkin-tracer.rb', line 95 def force_sample? @force_sample ||= @config.whitelist_plugin && @config.whitelist_plugin.call(@env) end |
#trace_id(default_flags = Trace::Flags::EMPTY) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/zipkin-tracer/rack/zipkin-tracer.rb', line 77 def trace_id(default_flags = Trace::Flags::EMPTY) trace_parameters = if called_with_zipkin_headers? @env.values_at(*B3_REQUIRED_HEADERS) else new_id = Trace.generate_id [new_id, nil, new_id] end trace_parameters[3] = should_trace?(trace_parameters[3]) trace_parameters += @env.values_at(*B3_OPT_HEADERS) # always check flags trace_parameters[4] = (trace_parameters[4] || default_flags).to_i Trace::TraceId.new(*trace_parameters) end |