class ZuoraConnect::AppInstanceBase
def self.write_metric(series: 'Unknown', tags: {}, values: {})
def self.write_metric(series: 'Unknown', tags: {}, values: {}) begin if @@telegraf_host.blank? Rails.logger.debug('Need new connection') if ZuoraConnect.configuration.telegraf_debug uri = URI.parse(ZuoraConnect.configuration.telegraf_endpoint) @@telegraf_host = UDPSocket.new.tap do |socket| socket.connect uri.host, uri.port end end @@telegraf_host.write InfluxDB::PointValue.new({series: series, tags: tags, values: values}).dump rescue => ex @@telegraf_host = nil Rails.logger.tagged("Telegraf") do logger.warn('Failed to write') logger.warn(ex.class) logger.warn(ex.message) end end end