Class: RubyZipkin::RackHandler
- Inherits:
-
Object
- Object
- RubyZipkin::RackHandler
- Defined in:
- lib/ruby-zipkin.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, service_name = 'flexd', scribe_server = "204.77.168.48", scribe_port = 9410, scribe_max_buffer = 10) ⇒ RackHandler
constructor
A new instance of RackHandler.
Constructor Details
#initialize(app, service_name = 'flexd', scribe_server = "204.77.168.48", scribe_port = 9410, scribe_max_buffer = 10) ⇒ RackHandler
Returns a new instance of RackHandler.
13 14 15 16 17 18 19 20 21 |
# File 'lib/ruby-zipkin.rb', line 13 def initialize(app, service_name ='flexd', scribe_server = "204.77.168.48", scribe_port = 9410, scribe_max_buffer = 10 ) @app = app @lock = Mutex.new @service_name = service_name @scribe_port = scribe_port @sample_rate = 0.1 @scribe = Scribe.new("#{scribe_server}:#{scribe_port}") ::Trace.tracer = ::Trace::ZipkinTracer.new(Scriber.new(@scribe), scribe_max_buffer) end |
Instance Method Details
#call(env) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/ruby-zipkin.rb', line 23 def call(env) ::Trace.default_endpoint = ::Trace.default_endpoint.with_service_name(@service_name).with_port(@service_port) ::Trace.sample_rate = 0.1 tracing_filter(get_or_create_trace_id(env), env) env[ZipkinTraceHeader::PARENT_SPAN_ID] = @spanid env[ZipkinTraceHeader::TRACE_ID] = @tid @status, @headers, @response = @app.call(env) [@status, @headers, @response] end |