Class: MicroscopeTracer::TraceLogger
- Inherits:
-
Object
- Object
- MicroscopeTracer::TraceLogger
- Defined in:
- lib/microscope_tracer/trace_logger.rb
Instance Method Summary collapse
-
#initialize(io) ⇒ TraceLogger
constructor
A new instance of TraceLogger.
- #log(type, span, extras = {}) ⇒ Object
- #log_client_end(span, duration_in_seconds) ⇒ Object
- #log_client_start(span) ⇒ Object
- #log_server_end(span, duration_in_seconds) ⇒ Object
- #log_server_start(span) ⇒ Object
Constructor Details
#initialize(io) ⇒ TraceLogger
Returns a new instance of TraceLogger.
3 4 5 |
# File 'lib/microscope_tracer/trace_logger.rb', line 3 def initialize(io) @io = io end |
Instance Method Details
#log(type, span, extras = {}) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/microscope_tracer/trace_logger.rb', line 25 def log(type,span,extras={}) fields = {type:type,traceId:span.trace_id,spanId:span.span_id,pspanId:span.parent_span_id}.merge(extras) line = fields.map{ |k,v| if v then "#{k}=\"#{v}\"" else nil end }.compact.join(" ") @io.puts(line) end |
#log_client_end(span, duration_in_seconds) ⇒ Object
20 21 22 23 |
# File 'lib/microscope_tracer/trace_logger.rb', line 20 def log_client_end(span,duration_in_seconds) millis = duration_in_seconds * 1000 log(:client_end,span,{elapsedMillis:millis}) end |
#log_client_start(span) ⇒ Object
16 17 18 |
# File 'lib/microscope_tracer/trace_logger.rb', line 16 def log_client_start(span) log(:client_start,span) end |
#log_server_end(span, duration_in_seconds) ⇒ Object
11 12 13 14 |
# File 'lib/microscope_tracer/trace_logger.rb', line 11 def log_server_end(span,duration_in_seconds) millis = duration_in_seconds * 1000 log(:server_end,span,{elapsedMillis:millis}) end |
#log_server_start(span) ⇒ Object
7 8 9 |
# File 'lib/microscope_tracer/trace_logger.rb', line 7 def log_server_start(span) log(:server_start,span) end |