class MicroscopeTracer::TraceLogger

Public Class Methods

new(service_name) click to toggle source
# File lib/microscope_tracer/trace_logger.rb, line 3
def initialize(service_name)
  @service_name = service_name

  # hardcoded for now
  @log_prefix = "MICROSCOPE: "
  @io = $stdout
end

Public Instance Methods

log(type,span,extras={}) click to toggle source
# File lib/microscope_tracer/trace_logger.rb, line 29
def log(type,span,extras={})
  fields = {service:@service_name,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(@log_prefix + line)
end
log_client_end(span,child_span_id,duration_in_seconds) click to toggle source
# File lib/microscope_tracer/trace_logger.rb, line 24
def log_client_end(span,child_span_id,duration_in_seconds)
  millis = duration_in_seconds * 1000
  log(:client_end,span,{childSpanId:child_span_id,elapsedMillis:millis})
end
log_client_start(span,child_span_id) click to toggle source
# File lib/microscope_tracer/trace_logger.rb, line 20
def log_client_start(span,child_span_id)
  log(:client_start,span,{childSpanId:child_span_id})
end
log_server_end(span,duration_in_seconds) click to toggle source
# File lib/microscope_tracer/trace_logger.rb, line 15
def log_server_end(span,duration_in_seconds)
  millis = duration_in_seconds * 1000
  log(:server_end,span,{elapsedMillis:millis})
end
log_server_start(span) click to toggle source
# File lib/microscope_tracer/trace_logger.rb, line 11
def log_server_start(span)
  log(:server_start,span)
end