Module: InfluxDB::Rails
- Defined in:
- lib/influxdb-rails.rb,
lib/influxdb/rails/tags.rb,
lib/influxdb/rails/metric.rb,
lib/influxdb/rails/values.rb,
lib/influxdb/rails/context.rb,
lib/influxdb/rails/railtie.rb,
lib/influxdb/rails/version.rb,
lib/influxdb/rails/sql/query.rb,
lib/influxdb/rails/test_client.rb,
lib/influxdb/rails/configuration.rb,
lib/influxdb/rails/sql/normalizer.rb,
lib/influxdb/rails/middleware/subscriber.rb,
lib/influxdb/rails/helpers/rspec_matchers.rb,
lib/influxdb/rails/middleware/sql_subscriber.rb,
lib/influxdb/rails/middleware/render_subscriber.rb,
lib/influxdb/rails/middleware/request_subscriber.rb,
lib/influxdb/rails/middleware/active_job_subscriber.rb,
lib/influxdb/rails/middleware/action_mailer_subscriber.rb,
lib/influxdb/rails/middleware/active_record_subscriber.rb,
lib/influxdb/rails/middleware/block_instrumentation_subscriber.rb
Overview
InfluxDB::Rails contains the glue code needed to integrate with InfluxDB and Rails. This is a singleton class.
Defined Under Namespace
Modules: Matchers, Middleware, Sql Classes: Configuration, Context, Metric, Railtie, Tags, TestClient, Values
Constant Summary collapse
- VERSION =
"1.0.3".freeze
Class Attribute Summary collapse
-
.client ⇒ Object
rubocop:disable Metrics/MethodLength.
-
.configuration ⇒ Object
rubocop:enable Metrics/MethodLength.
Class Method Summary collapse
- .configure {|configuration| ... } ⇒ Object
- .current ⇒ Object
- .instrument(name, options = {}) ⇒ Object
Class Attribute Details
.client ⇒ Object
rubocop:disable Metrics/MethodLength
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/influxdb-rails.rb', line 35 def client @client ||= begin cfg = configuration.client InfluxDB::Client.new \ database: cfg.database, username: cfg.username, password: cfg.password, auth_method: cfg.auth_method, hosts: cfg.hosts, port: cfg.port, async: cfg.async, use_ssl: cfg.use_ssl, retry: cfg.retry, open_timeout: cfg.open_timeout, read_timeout: cfg.read_timeout, max_delay: cfg.max_delay, time_precision: cfg.time_precision end end |
.configuration ⇒ Object
rubocop:enable Metrics/MethodLength
57 58 59 |
# File 'lib/influxdb-rails.rb', line 57 def configuration @configuration ||= InfluxDB::Rails::Configuration.new end |
Class Method Details
.configure {|configuration| ... } ⇒ Object
26 27 28 29 30 31 |
# File 'lib/influxdb-rails.rb', line 26 def configure return configuration unless block_given? yield configuration self.client = nil # if we change configuration, reload the client end |
.current ⇒ Object
61 62 63 |
# File 'lib/influxdb-rails.rb', line 61 def current @current ||= InfluxDB::Rails::Context.new end |
.instrument(name, options = {}) ⇒ Object
65 66 67 68 69 70 |
# File 'lib/influxdb-rails.rb', line 65 def instrument(name, = {}) ActiveSupport::Notifications.instrument "block_instrumentation.influxdb_rails", **.merge(name: name) do yield if block_given? end end |