module Oboe
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2014 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2015 AppNeta, Inc. All rights reserved.
Copyright © 2015 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2014 AppNeta, Inc. All rights reserved.
Copyright © 2015 AppNeta, Inc. All rights reserved.
Copyright © 2015 AppNeta, Inc. All rights reserved.
Copyright © 2015 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2014 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Copyright © 2013 AppNeta, Inc. All rights reserved.
Disable docs and Camelcase warns since we're implementing an interface here. See OboeBase
for details. rubocop:disable Style/Documentation, Style/MethodName
Copyright © 2013 AppNeta, Inc. All rights reserved.
Attributes
Public Class Methods
# File lib/joboe_metal.rb, line 133 def sample?(opts = {}) begin return false unless Oboe.always? && Oboe.loaded return true if ENV.key?('OBOE_GEM_TEST') # Validation to make Joboe happy. Assure that we have the KVs and that they # are not empty strings. opts[:layer] = nil if opts[:layer].is_a?(String) && opts[:layer].empty? opts[:xtrace] = nil if opts[:xtrace].is_a?(String) && opts[:xtrace].empty? opts['X-TV-Meta'] = nil if opts['X-TV-Meta'].is_a?(String) && opts['X-TV-Meta'].empty? opts[:layer] ||= nil opts[:xtrace] ||= nil opts['X-TV-Meta'] ||= nil sr_cfg = Java::ComTracelyticsJoboe::LayerUtil.shouldTraceRequest( opts[:layer], { 'X-Trace' => opts[:xtrace], 'X-TV-Meta' => opts['X-TV-Meta'] }) # Store the returned SampleRateConfig into Oboe::Config if sr_cfg begin Oboe::Config.sample_rate = cfg.sampleRate Oboe::Config.sample_source = cfg.sampleRateSourceValue # If we fail here, we do so quietly. This was we don't spam logs # on every request end else Oboe.sample_rate = -1 Oboe.sample_source = -1 end sr_cfg ? true : false rescue => e Oboe.logger.debug "[oboe/debug] #{e.message}" false end end
# File lib/joboe_metal.rb, line 177 def set_sample_rate(_rate) # N/A end
# File lib/joboe_metal.rb, line 173 def set_tracing_mode(_mode) Oboe.logger.warn 'When using JRuby set the tracing mode in /usr/local/tracelytics/javaagent.json instead' end
# File lib/oboe/support.rb, line 20 def self.support_report Oboe.logger.warn "********************************************************" Oboe.logger.warn "* BEGIN TraceView Support Report" Oboe.logger.warn "* Please email the output of this report to traceviewsupport@appneta.com" Oboe.logger.warn "********************************************************" Oboe.logger.warn "Ruby: #{RUBY_DESCRIPTION}" Oboe.logger.warn "$0: #{$0}" Oboe.logger.warn "$1: #{$1}" unless $1.nil? Oboe.logger.warn "$2: #{$2}" unless $2.nil? Oboe.logger.warn "$3: #{$3}" unless $3.nil? Oboe.logger.warn "$4: #{$4}" unless $4.nil? Oboe.logger.warn "Oboe.loaded == #{Oboe.loaded}" using_jruby = defined?(JRUBY_VERSION) Oboe.logger.warn "Using JRuby?: #{yesno(using_jruby)}" if using_jruby Oboe.logger.warn "Joboe Agent Status: #{Java::ComTracelyticsAgent::Agent.getStatus}" end on_heroku = Oboe.heroku? Oboe.logger.warn "On Heroku?: #{yesno(on_heroku)}" if on_heroku Oboe.logger.warn "TRACEVIEW_URL: #{ENV['TRACEVIEW_URL']}" end Oboe.logger.warn "Oboe::Ruby defined?: #{yesno(defined?(Oboe::Ruby))}" Oboe.logger.warn "Oboe.reporter: #{Oboe.reporter}" Oboe.logger.warn "********************************************************" Oboe.logger.warn "* Frameworks" Oboe.logger.warn "********************************************************" using_rails = defined?(::Rails) Oboe.logger.warn "Using Rails?: #{yesno(using_rails)}" if using_rails Oboe.logger.warn "Oboe::Rails loaded?: #{yesno(defined?(::Oboe::Rails))}" end using_sinatra = defined?(::Sinatra) Oboe.logger.warn "Using Sinatra?: #{yesno(using_sinatra)}" using_padrino = defined?(::Padrino) Oboe.logger.warn "Using Padrino?: #{yesno(using_padrino)}" using_grape = defined?(::Grape) Oboe.logger.warn "Using Grape?: #{yesno(using_grape)}" Oboe.logger.warn "********************************************************" Oboe.logger.warn "* TraceView Libraries" Oboe.logger.warn "********************************************************" files = Dir.glob('/usr/lib/liboboe*') if files.empty? Oboe.logger.warn "Error: No liboboe libs!" else files.each { |f| Oboe.logger.warn f } end Oboe.logger.warn "********************************************************" Oboe.logger.warn "* Oboe::Config Values" Oboe.logger.warn "********************************************************" Oboe::Config.show.each { |k,v| Oboe.logger.warn "#{k}: #{v}" } Oboe.logger.warn "********************************************************" Oboe.logger.warn "* OS, Platform + Env" Oboe.logger.warn "********************************************************" Oboe.logger.warn RbConfig::CONFIG['host_os'] Oboe.logger.warn RbConfig::CONFIG['sitearch'] Oboe.logger.warn RbConfig::CONFIG['arch'] Oboe.logger.warn RUBY_PLATFORM Oboe.logger.warn "RACK_ENV: #{ENV['RACK_ENV']}" Oboe.logger.warn "RAILS_ENV: #{ENV['RAILS_ENV']}" if using_rails Oboe.logger.warn "********************************************************" Oboe.logger.warn "* Raw __Init KVs" Oboe.logger.warn "********************************************************" platform_info = Oboe::Util.build_init_report platform_info.each { |k,v| Oboe.logger.warn "#{k}: #{v}" } Oboe.logger.warn "********************************************************" Oboe.logger.warn "* END TraceView Support Report" Oboe.logger.warn "* Support Email: traceviewsupport@appneta.com" Oboe.logger.warn "* Support Portal: https://support.tv.appneta.com" Oboe.logger.warn "* Freenode IRC: #appneta" Oboe.logger.warn "* Github: https://github.com/appneta/oboe-ruby" Oboe.logger.warn "********************************************************" nil end
yesno
Utility method to translate value/nil to “yes”/“no” strings
# File lib/oboe/support.rb, line 16 def self.yesno(x) x ? "yes" : "no" end