Class: MicroscopeTracer::FaradayMiddleware
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- MicroscopeTracer::FaradayMiddleware
- Defined in:
- lib/microscope_tracer/faraday_middleware.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, service_name) ⇒ FaradayMiddleware
constructor
A new instance of FaradayMiddleware.
Constructor Details
#initialize(app, service_name) ⇒ FaradayMiddleware
Returns a new instance of FaradayMiddleware.
7 8 9 10 |
# File 'lib/microscope_tracer/faraday_middleware.rb', line 7 def initialize(app,service_name) @trace_logger = TraceLogger.new(service_name) super(app) end |
Instance Method Details
#call(env) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/microscope_tracer/faraday_middleware.rb', line 12 def call(env) span = Span.lookup_for_this_request child_span_id = Span.generate_unique_id Headers.add_client_request_headers(env.request_headers,span,child_span_id) started_at = Time.now @trace_logger.log_client_start(span,child_span_id) @app.call(env).on_complete do |response_env| duration = Time.now - started_at @trace_logger.log_client_end(span,child_span_id,duration) end end |