class RubyEventStore::Outbox::Metrics::Influx
Attributes
influxdb_client[R]
Public Class Methods
new(url)
click to toggle source
# File lib/ruby_event_store/outbox/metrics/influx.rb, line 7 def initialize(url) uri = URI.parse(url) options = { url: url, async: true, time_precision: 'ns', } @influxdb_client = InfluxDB::Client.new(**options) end
Public Instance Methods
write_operation_result(operation, result)
click to toggle source
# File lib/ruby_event_store/outbox/metrics/influx.rb, line 17 def write_operation_result(operation, result) write_point("ruby_event_store.outbox.lock", { values: { value: 1, }, tags: { operation: operation, result: result, } }) end
write_point(series, data)
click to toggle source
# File lib/ruby_event_store/outbox/metrics/influx.rb, line 43 def write_point(series, data) data[:timestamp] = Process.clock_gettime(Process::CLOCK_REALTIME, :nanosecond) influxdb_client.write_point(series, data) end
write_point_queue(enqueued: 0, failed: 0, remaining: 0, format: nil, split_key: nil)
click to toggle source
# File lib/ruby_event_store/outbox/metrics/influx.rb, line 29 def write_point_queue(enqueued: 0, failed: 0, remaining: 0, format: nil, split_key: nil) write_point("ruby_event_store.outbox.queue", { values: { enqueued: enqueued, failed: failed, remaining: remaining, }, tags: { format: format, split_key: split_key, } }) end