From 8658c5d0372839ad5f634d53f0337f8c5c46dc18 Mon Sep 17 00:00:00 2001 From: nattanon <nattanon@hospital-os.com> Date: Thu, 8 Jul 2021 10:28:09 +0700 Subject: [PATCH] Use original influxdb-client --- Gemfile | 2 +- Gemfile.lock | 11 +++----- README.md | 21 +++++++++++++-- latias-influxdb-0.2.0.gem | Bin 0 -> 7680 bytes lib/latias/influxdb/bucket.rb | 48 +++++++++++---------------------- lib/latias/influxdb/version.rb | 2 +- 6 files changed, 40 insertions(+), 44 deletions(-) create mode 100644 latias-influxdb-0.2.0.gem diff --git a/Gemfile b/Gemfile index 71ad12b..14bfccf 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ gemspec group :development do # gem 'sqlite3' - gem 'influxdb-client', git: 'git://github.com/karn18/influxdb-client-ruby.git' + gem 'influxdb-client', '1.16.0.pre.2765' end # To use a debugger diff --git a/Gemfile.lock b/Gemfile.lock index 02e5f2d..d100dfb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,13 +1,7 @@ -GIT - remote: git://github.com/karn18/influxdb-client-ruby.git - revision: f68a9cea5e88219db71b230438d843ccd329e438 - specs: - influxdb-client (1.16.0) - PATH remote: . specs: - latias-influxdb (0.1.0) + latias-influxdb (0.2.0) rails (~> 6.1.4) GEM @@ -80,6 +74,7 @@ GEM activesupport (>= 4.2.0) i18n (1.8.10) concurrent-ruby (~> 1.0) + influxdb-client (1.16.0.pre.2765) loofah (2.10.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) @@ -142,7 +137,7 @@ PLATFORMS x86_64-darwin-19 DEPENDENCIES - influxdb-client! + influxdb-client (= 1.16.0.pre.2765) latias-influxdb! BUNDLED WITH diff --git a/README.md b/README.md index bf60d14..6a016ba 100644 --- a/README.md +++ b/README.md @@ -4,16 +4,33 @@ Ruby lib for use influxdb version 2 on Ruby language ## Usage +<!-- ```ruby +class MdbEnergyBucket < Latias::Influxdb::Bucket + def initialize + super + @url = 'http://188.166.252.165:8086' + @token = 'YyD4UGu4_Xn0CIVsycFdjaQVd7m1g5wRp0z2BCfBSyNL6-GHqqyZRePGy46B2m8Zg6jgqHAN_J6jyhCmvGeQRA==' + @bucket = 'MDBEnergy' + @org = 'MDBEnergy' + @use_ssl = false + client_connection + end +end + +mdb_energy_bucket = MdbEnergyBucket.new +mdb_energy_bucket.range('start: -1m').filter('fn: (r) => r["_measurement"] == "cpu"') +mdb_energy_bucket.call +``` --> + ```ruby class MdbEnergyBucket < Latias::Influxdb::Bucket def initialize + super @url = 'http://localhost:8086' @token = 'your token' @bucket = 'MDBEnergy' @org = 'MDBEnergy' @use_ssl = false - @verify_mode = OpenSSL::SSL::VERIFY_NONE - @precision = InfluxDB2::WritePrecision::NANOSECOND @client = client end end diff --git a/latias-influxdb-0.2.0.gem b/latias-influxdb-0.2.0.gem new file mode 100644 index 0000000000000000000000000000000000000000..37b2e8ceaab13dfdf77a32c8e6c383bb2842da3b GIT binary patch literal 7680 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 HO9%h}_?HL} literal 0 HcmV?d00001 diff --git a/lib/latias/influxdb/bucket.rb b/lib/latias/influxdb/bucket.rb index cdd7929..a9d0848 100644 --- a/lib/latias/influxdb/bucket.rb +++ b/lib/latias/influxdb/bucket.rb @@ -10,13 +10,7 @@ module Latias attr_reader :url, :token, :bucket, :org, :use_ssl, :verify_mode, :precision def initialize - @query = '' - @url = 'http://localhost:8086' - @token = 'token' - @bucket = 'bucket' - @org = 'org' - @use_ssl = false - @verify_mode = OpenSSL::SSL::VERIFY_NONE + set_default end def call @@ -25,52 +19,42 @@ module Latias @client.create_query_api.query(query: all_query, org: @org) end - # old code - # def call - # all_query = "from(bucket: \"#{@bucket}\")" \ - # '|> range(start: -1m) - # |> filter(fn: (r) => r["_measurement"] == "cpu") - # |> filter(fn: (r) => r["_field"] == "usage_user") - # |> filter(fn: (r) => r["cpu"] == "cpu-total" or r["cpu"] == "cpu0" or r["cpu"] == "cpu1") - # |> yield(name: "sum")' - - # @client.create_query_api.query(query: all_query, org: @org) - # end - def yield(query) - @query += yield_format(query) + @query += "#{new_command} yield(#{query})" self end def range(query) - @query += range_format(query) + @query += "#{new_command} range(#{query})" self end def filter(query) - @query += filter_format(query) + @query += "#{new_command} filter(#{query})" self end - private - - def yield_format(query) - "#{new_command} yield(#{query})" + def real_query(query) + @query += query end - def range_format(query) - "#{new_command} range(#{query})" - end + private - def filter_format(query) - "#{new_command} filter(#{query})" + def set_default + @query = '' + @url = 'http://localhost:8086' + @token = 'token' + @bucket = 'bucket' + @org = 'org' + @use_ssl = false + @verify_mode = OpenSSL::SSL::VERIFY_NONE end def new_command '|> ' end - def client + def client_connection @client = InfluxDB2::Client.new(@url, @token, use_ssl: @use_ssl, verify_mode: @verify_mode.present? ? @verify_mode : OpenSSL::SSL::VERIFY_NONE, diff --git a/lib/latias/influxdb/version.rb b/lib/latias/influxdb/version.rb index d48dada..9249b47 100644 --- a/lib/latias/influxdb/version.rb +++ b/lib/latias/influxdb/version.rb @@ -2,6 +2,6 @@ module Latias module Influxdb - VERSION = '0.1.0' + VERSION = '0.2.0' end end -- GitLab