module BaselineRedRpm
Constants
- TRACE_CONTEXT_KEY
Attributes
config[W]
logger[RW]
Public Class Methods
collector()
click to toggle source
# File lib/baseline_red_rpm.rb, line 62 def collector @collector ||= BaselineRedRpm::Tracing::Collector.new(endpoint) end
config()
click to toggle source
# File lib/baseline_red_rpm.rb, line 38 def config @config ||= Configuration.new end
configure() { |config| ... }
click to toggle source
# File lib/baseline_red_rpm.rb, line 42 def configure yield(config) end
disable_agent?()
click to toggle source
# File lib/baseline_red_rpm.rb, line 147 def disable_agent? if config.agent_disabled true elsif Introspector.agentable? false else true end end
endpoint()
click to toggle source
# File lib/baseline_red_rpm.rb, line 58 def endpoint @endpoint ||= BaselineRedRpm::Tracing::Endpoint.local_endpoint(config.application_name) end
floor_time(t, sec = 1)
click to toggle source
# File lib/baseline_red_rpm.rb, line 143 def floor_time(t, sec = 1) Time.at((t.to_f / sec).floor * sec) end
host()
click to toggle source
# File lib/baseline_red_rpm.rb, line 123 def host @host ||= Socket.gethostname end
load()
click to toggle source
# File lib/baseline_red_rpm.rb, line 46 def load #Oj.mimic_JSON unless disable_agent? BaselineRedRpm::Instrumentation.load BaselineRedRpm.tracing_on end end
mutex()
click to toggle source
# File lib/baseline_red_rpm.rb, line 54 def mutex @mutex ||= Mutex.new end
now()
click to toggle source
# File lib/baseline_red_rpm.rb, line 157 def now if defined?(Process::CLOCK_REALTIME) Process.clock_gettime(Process::CLOCK_REALTIME) else Time.now end end
round_time(t, sec = 1)
click to toggle source
# File lib/baseline_red_rpm.rb, line 127 def round_time(t, sec = 1) t = Time.parse(t.to_s) down = t - (t.to_i % sec) up = down + sec difference_down = t - down difference_up = up - t if (difference_down < difference_up) return down else return up end end
sender()
click to toggle source
# File lib/baseline_red_rpm.rb, line 70 def sender @sender ||= BaselineRedRpm::Reporters::JsonClient.new( url: url, collector: collector, flush_interval: config.flush_interval ) @sender.sample_memory = config.sample_memory @sender end
tracer()
click to toggle source
# File lib/baseline_red_rpm.rb, line 80 def tracer @tracer ||= BaselineRedRpm::Tracing::ManagedTracer.new( BaselineRedRpm::Tracing::Tracer.build( :service_name => config.application_name, :sender => sender, :collector => collector ), BaselineRedRpm::Tracing::ThreadSpanStack.new ) end
tracing?()
click to toggle source
# File lib/baseline_red_rpm.rb, line 109 def tracing? !!@tracing end
tracing_off()
click to toggle source
# File lib/baseline_red_rpm.rb, line 102 def tracing_off mutex.synchronize do BaselineRedRpm.logger.debug "Disabling tracing." @tracing = false end end
tracing_on()
click to toggle source
# File lib/baseline_red_rpm.rb, line 91 def tracing_on if @without_tracing_enabled BaselineRedRpm.logger.debug "Not turning tracing on due to without tracing mode." return end mutex.synchronize do BaselineRedRpm.logger.debug "Enabling tracing." @tracing = true end end
url()
click to toggle source
# File lib/baseline_red_rpm.rb, line 66 def url @url ||= "#{config.host}/api/listener/3/#{config.license_key}" end
without_tracing() { || ... }
click to toggle source
# File lib/baseline_red_rpm.rb, line 113 def without_tracing @previously_tracing = BaselineRedRpm.tracing? @without_tracing_enabled = true BaselineRedRpm.tracing_off yield if block_given? @without_tracing_enabled = false ensure BaselineRedRpm.tracing_on if @previously_tracing end