fluent-plugin-influxdb 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 240d34c6c278cfaa2096132c91121e5ae81bb1e5
4
- data.tar.gz: 8341dbe9edc1cce6857bdc3a7cc2477a7bd82350
3
+ metadata.gz: 4773755a8ead0cdfa5ecb44d7dcc2a56f1405388
4
+ data.tar.gz: 8ae5a2544035c5f852ccc4c1173bf25701cd9021
5
5
  SHA512:
6
- metadata.gz: 9686476599931750a20a4e5cc58be50eaedfd4a0ec080f737455144c940e9a9a39a7e4795f2cc4a6c72d8029a783c9d1ff10a1dc98b60001ba6b4df17f55edf5
7
- data.tar.gz: afb7eac371444b324ca75f2bb217cb7cf67ed32ec82a9d5eaf85dfd54cce56ca38978f99e6aaed02ca6234e570c2eae532e98df4d38ef00e3ec30f4d3cd46193
6
+ metadata.gz: 30c63e6ee4dae8a73e6087777fb25c21da02cd5745039d9c9a5b8667a3aeea86d7769c6e0784581b7186a5d85dabb282a58f7a2afbd8ef06dc55d4b0e7c2e9ac
7
+ data.tar.gz: 795949221c8242345bcb26e826d080e75c911774fda4eedeb8716aaf98dfb1abf88f3ea239f680f2e24b957d5d8ab1ffced4ae00c05bbced556492e93b948906
data/History.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 0.2.0 (July, 27, 2015)
5
+ =====
6
+
7
+ - Use influxdb gem 0.2.0 for influxdb 0.9 support
8
+
4
9
  0.1.8 (July, 12, 2015)
5
10
  =====
6
11
 
data/README.md CHANGED
@@ -4,6 +4,11 @@ fluent-plugin-influxdb is a buffered output plugin for fluentd and influxDB.
4
4
 
5
5
  If you are using fluentd as a collector and want to organize your time-series data in influxDB, this is your right choice!
6
6
 
7
+ ## NOTE
8
+
9
+ This version uses influxdb-ruby version 0.2.0 which no longer supports InfluxDB version 0.8 (which is also deprecated).
10
+ If you are using InfluxDB version 0.8 please specify version 0.1.8 of this plugin.
11
+
7
12
  ## Installation
8
13
 
9
14
  $ fluent-gem install fluent-plugin-influxdb
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "fluent-plugin-influxdb"
6
- s.version = '0.1.8'
6
+ s.version = '0.2.0'
7
7
  s.authors = ["Masahiro Nakagawa", "FangLi"]
8
8
  s.email = ["repeatedly@gmail.com", "surivlee@gmail.com"]
9
9
  s.description = %q{InfluxDB output plugin for Fluentd}
@@ -17,7 +17,9 @@ Gem::Specification.new do |s|
17
17
  s.require_paths = ["lib"]
18
18
 
19
19
  s.add_runtime_dependency "fluentd", [">= 0.10.49", "< 2"]
20
- s.add_runtime_dependency "influxdb", "~> 0.1.8"
20
+ s.add_runtime_dependency "influxdb", ">= 0.2.0"
21
21
 
22
22
  s.add_development_dependency "rake"
23
+ s.add_development_dependency "pry"
24
+ s.add_development_dependency "test-unit"
23
25
  end
@@ -45,17 +45,17 @@ class Fluent::InfluxdbOutput < Fluent::BufferedOutput
45
45
  end
46
46
 
47
47
  def write(chunk)
48
- points = {}
48
+ points = []
49
49
  chunk.msgpack_each do |tag, time, record|
50
50
  unless record.empty?
51
- record[:time] = time unless record.has_key?('time')
52
- points[tag] ||= []
53
- points[tag] << record
51
+ point = {}
52
+ point[:timestamp] = record.delete('time') || time
53
+ point[:series] = tag
54
+ point[:values] = record
55
+ points << point
54
56
  end
55
57
  end
56
58
 
57
- points.each { |tag, records|
58
- @influxdb.write_point(tag, records)
59
- }
59
+ @influxdb.write_points(points)
60
60
  end
61
61
  end
@@ -1 +1,30 @@
1
- require 'minitest/pride'
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ require 'pry'
4
+
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'test/unit'
13
+
14
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
15
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
16
+ require 'fluent/test'
17
+ unless ENV.has_key?('VERBOSE')
18
+ nulllogger = Object.new
19
+ nulllogger.instance_eval {|obj|
20
+ def method_missing(method, *args)
21
+ # pass
22
+ end
23
+ }
24
+ $log = nulllogger
25
+ end
26
+
27
+ require 'fluent/plugin/out_influxdb'
28
+
29
+ class Test::Unit::TestCase
30
+ end
@@ -0,0 +1,66 @@
1
+ require 'helper'
2
+ class InfluxdbOutputTest < Test::Unit::TestCase
3
+ def setup
4
+ Fluent::Test.setup
5
+ end
6
+
7
+ CONFIG = %[
8
+ type influxdb
9
+ host localhost
10
+ port 8086
11
+ dbname test
12
+ user testuser
13
+ password mypwd
14
+ use_ssl false
15
+ time_precision s
16
+ ]
17
+
18
+ def create_raw_driver(conf=CONFIG, tag='test')
19
+ Fluent::Test::BufferedOutputTestDriver.new(Fluent::InfluxdbOutput, tag).configure(conf)
20
+ end
21
+
22
+ def create_driver(conf=CONFIG, tag='test')
23
+ Fluent::Test::BufferedOutputTestDriver.new(Fluent::InfluxdbOutput, tag) do
24
+ def write(chunk)
25
+ chunk.read
26
+ end
27
+ end.configure(conf)
28
+ end
29
+
30
+ def test_configure
31
+ driver = create_raw_driver %[
32
+ dbname test
33
+ user testuser
34
+ password mypwd
35
+ ]
36
+ assert_equal('test', driver.instance.config['dbname'])
37
+ assert_equal('testuser', driver.instance.config['user'])
38
+ assert_equal('xxxxxx', driver.instance.config['password'])
39
+ end
40
+
41
+ def test_format
42
+ driver = create_driver(CONFIG, 'test')
43
+ time = Time.parse('2011-01-02 13:14:15 UTC').to_i
44
+
45
+ driver.emit({'a' => 1}, time)
46
+ driver.emit({'a' => 2}, time)
47
+
48
+ driver.expect_format(['test', time, {'a' => 1}].to_msgpack)
49
+ driver.expect_format(['test', time, {'a' => 2}].to_msgpack)
50
+
51
+ driver.run
52
+ end
53
+
54
+ def test_write
55
+ driver = create_driver(CONFIG, 'input.influxdb')
56
+
57
+ time = Time.parse("2011-01-02 13:14:15 UTC").to_i
58
+ driver.emit({'a' => 1}, time)
59
+ driver.emit({'a' => 2}, time)
60
+
61
+ data = driver.run
62
+
63
+ assert_equal(['input.influxdb', time, {'a' => 1}].to_msgpack +
64
+ ['input.influxdb', time, {'a' => 2}].to_msgpack, data)
65
+ end
66
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-influxdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masahiro Nakagawa
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-07-12 00:00:00.000000000 Z
12
+ date: 2015-07-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
@@ -35,16 +35,16 @@ dependencies:
35
35
  name: influxdb
36
36
  requirement: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.8
40
+ version: 0.2.0
41
41
  type: :runtime
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 0.1.8
47
+ version: 0.2.0
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rake
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -59,6 +59,34 @@ dependencies:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: pry
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ - !ruby/object:Gem::Dependency
77
+ name: test-unit
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
62
90
  description: InfluxDB output plugin for Fluentd
63
91
  email:
64
92
  - repeatedly@gmail.com
@@ -76,6 +104,7 @@ files:
76
104
  - fluent-plugin-influxdb.gemspec
77
105
  - lib/fluent/plugin/out_influxdb.rb
78
106
  - test/helper.rb
107
+ - test/plugin/test_out_influxdb.rb
79
108
  homepage: https://github.com/fangli/fluent-plugin-influxdb
80
109
  licenses:
81
110
  - MIT
@@ -102,3 +131,4 @@ specification_version: 4
102
131
  summary: A buffered output plugin for fluentd and influxDB
103
132
  test_files:
104
133
  - test/helper.rb
134
+ - test/plugin/test_out_influxdb.rb