module Xhummingbird
Constants
- Event
- LOGGER
- VERSION
- XH_SERVICE
Public Class Methods
debug(*args)
click to toggle source
# File lib/xhummingbird.rb, line 20 def self.debug(*args) LOGGER.debug(*args) if ENV['XH_DEBUG'] end
default_service()
click to toggle source
# File lib/xhummingbird.rb, line 116 def self.default_service debug(__method__) ENV.fetch(XH_SERVICE, "") end
enabled?()
click to toggle source
# File lib/xhummingbird.rb, line 78 def self.enabled? debug(__method__) Client.instance.enabled? end
format_hash(hash)
click to toggle source
# File lib/xhummingbird.rb, line 104 def self.format_hash(hash) debug(__method__) formatted = {} hash.each do |k, v| formatted[k.to_s] = v.to_s end formatted end
send(**args)
click to toggle source
# File lib/xhummingbird.rb, line 96 def self.send(**args) debug(__method__) event = Event.new(**args) message = Event.encode(event) Client.instance.send(message) end
send_event(**args)
click to toggle source
# File lib/xhummingbird.rb, line 68 def self.send_event(**args) debug(__method__) return unless enabled? send(**args) rescue => e debug(e) end
send_exception(exception, level: 2, tags: {}, service: nil)
click to toggle source
# File lib/xhummingbird.rb, line 50 def self.send_exception(exception, level: 2, tags: {}, service: nil) debug(__method__) return unless enabled? send( level: level, title: exception.class.name, message: exception.message, trace: exception.backtrace, tags: default_tags.merge(format_hash(tags)), timestamp: Time.now, service: service || default_service ) rescue => e debug(e) end
send_trace(title:, message: "", level: 1, tags: {}, service: nil)
click to toggle source
# File lib/xhummingbird.rb, line 32 def self.send_trace(title:, message: "", level: 1, tags: {}, service: nil) debug(__method__) return unless enabled? send( level: level, title: title.to_s, message: message.to_s, trace: caller, tags: default_tags.merge(format_hash(tags)), timestamp: Time.now, service: service || default_service ) rescue => e debug(e) end
start()
click to toggle source
# File lib/xhummingbird.rb, line 24 def self.start debug(__method__) Client.instance.start send_trace(title: "Started", message: "Xhummingbird Ruby SDK started.", level: 0) end