Class: MicroscopeTracer::TraceLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/microscope_tracer/trace_logger.rb

Instance Method Summary collapse

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