Class: Sneakers::InfluxDBMetrics
- Inherits:
-
Object
- Object
- Sneakers::InfluxDBMetrics
- Defined in:
- lib/sneakers/influxdb_metrics.rb,
lib/sneakers/influxdb_metrics/version.rb
Constant Summary collapse
- VERSION =
"0.1.1"
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
Instance Method Summary collapse
- #increment(metric) ⇒ Object
-
#initialize(db_or_client, opts = {}) ⇒ InfluxDBMetrics
constructor
A new instance of InfluxDBMetrics.
- #timing(metric, &block) ⇒ Object
Constructor Details
#initialize(db_or_client, opts = {}) ⇒ InfluxDBMetrics
Returns a new instance of InfluxDBMetrics.
13 14 15 16 17 18 19 |
# File 'lib/sneakers/influxdb_metrics.rb', line 13 def initialize(db_or_client, opts = {}) if db_or_client.is_a? ::InfluxDB::Client @client = db_or_client else @client = ::InfluxDB::Client.new(db_or_client, opts) end end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
11 12 13 |
# File 'lib/sneakers/influxdb_metrics.rb', line 11 def client @client end |
Instance Method Details
#increment(metric) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/sneakers/influxdb_metrics.rb', line 21 def increment(metric) raise RuntimeError, 'Metric must be a String type' unless metric.is_a?(String) client.write_point( INCREMENT_SERIES, values: { value: 1 }, tags: (metric) ) end |
#timing(metric, &block) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/sneakers/influxdb_metrics.rb', line 31 def timing(metric, &block) raise RuntimeError, 'Metric must be a String type' unless metric.is_a?(String) raise RuntimeError, 'Timing must receive a block parameter' unless block_given? elapsed = Benchmark.realtime(&block) client.write_point( TIMING_SERIES, values: { value: elapsed }, tags: (metric) ) end |