module Oboe_metal::Reporter
Public Class Methods
clear_all_traces()
click to toggle source
Truncates the trace output file to zero
# File lib/joboe_metal.rb, line 106 def clear_all_traces TraceView.reporter.reset if TraceView.loaded end
get_all_traces()
click to toggle source
Retrieves all traces written to the trace file
# File lib/joboe_metal.rb, line 115 def get_all_traces return [] unless TraceView.loaded # Joboe TestReporter returns a Java::ComTracelyticsExtEbson::DefaultDocument # document for traces which doesn't correctly support things like has_key? which # raises an unhandled exception on non-existent key (duh). Here we convert # the Java::ComTracelyticsExtEbson::DefaultDocument doc to a pure array of Ruby # hashes traces = [] TraceView.reporter.getSentEventsAsBsonDocument.to_a.each do |e| t = {} e.each_pair { |k, v| t[k] = v } traces << t end traces end
restart()
click to toggle source
restart
This is a nil method for TraceView
under Java. It is maintained only for compability across interfaces.
# File lib/joboe_metal.rb, line 97 def restart TraceView.logger.warn "[traceview/reporter] Reporter.restart isn't supported under JRuby" end
sendReport(evt)
click to toggle source
# File lib/joboe_metal.rb, line 134 def sendReport(evt) evt.report(TraceView.reporter) end
start()
click to toggle source
start
# File lib/joboe_metal.rb, line 53 def start return unless TraceView.loaded if ENV.key?('TRACEVIEW_GEM_TEST') TraceView.reporter = Java::ComTracelyticsJoboe::ReporterFactory.getInstance.buildTestReporter(false) else TraceView.reporter = Java::ComTracelyticsJoboe::ReporterFactory.getInstance.buildUdpReporter end begin # Import the tracing mode and sample rate settings # from the Java agent (user configured in # /usr/local/tracelytics/javaagent.json when under JRuby) cfg = LayerUtil.getLocalSampleRate(nil, nil) if cfg.hasSampleStartFlag TraceView::Config.tracing_mode = :always elsif cfg.hasSampleThroughFlag TraceView::Config.tracing_mode = :through else TraceView::Config.tracing_mode = :never end TraceView.sample_rate = cfg.getSampleRate TraceView::Config.sample_rate = cfg.sampleRate TraceView::Config.sample_source = cfg.sampleRateSourceValue rescue => e TraceView.logger.debug "[traceview/debug] Couldn't retrieve/acces joboe sampleRateCfg" TraceView.logger.debug "[traceview/debug] #{e.message}" end # Only report __Init from here if we are not instrumenting a framework. # Otherwise, frameworks will handle reporting __Init after full initialization unless defined?(::Rails) || defined?(::Sinatra) || defined?(::Padrino) || defined?(::Grape) TraceView::API.report_init unless ENV.key?('TRACEVIEW_GEM_TEST') end end