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