fluent-plugin-zookeeper 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 95cea066a586ff0f0453a03e56b454329bb2f6e2
4
- data.tar.gz: 921174a4de169fd1238be36b379f36b905082e02
3
+ metadata.gz: 6da100a74494bf6aee6e6f99dd565349cb0b3f94
4
+ data.tar.gz: 3226d0a38ea8d2d7c822064bfa144c3d9cbe530e
5
5
  SHA512:
6
- metadata.gz: 158d1a210dd24325b98e759d336c74f8523fd678072b66e527d8d71c83bf33a832f1665b993bb3d95598ab115d518bd1a3d53a65b94d36f7c1bcb43ca9886c9c
7
- data.tar.gz: 819d6ce1036c137c34406fc989f4094dcb90c5d91dc9ebb5aff1bdddb6291478409bb9d3722fb4a325685d74035ff0f7a332d5534f66f1659f171fedf7ad4c20
6
+ metadata.gz: e3e5bd2c6ca6f7f55ae8ef7d43e1c5c6fab97eb28e77e3d3091827d7bda952437cafaf001ea9401d31eeae8faa5f0e99c563ebec7796d0f02d1e921d72348892
7
+ data.tar.gz: efc470264baeb4e87f3c3a446b008d48819f937ab16b6f46137e33ee58abe3bb5ac8ef62d6494a946f296612be4306a2a22ef4af2c8286e2b31ff0d5e2617e63
data/README.md CHANGED
@@ -55,4 +55,4 @@ Configuration above uses in_exec plugin as a heartbeat message generator. During
55
55
 
56
56
  ## TODO
57
57
 
58
- Write tests.
58
+ Let me know if support for buffered output mode and older versions of fluentd is necessary.
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "fluent-plugin-zookeeper"
6
- spec.version = "0.1.0"
6
+ spec.version = "0.1.1"
7
7
  spec.authors = ["Anton Tikhomirov"]
8
8
  spec.email = ["anton.tikhomirov@cdnetworks.com"]
9
9
 
@@ -24,4 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "rake", "~> 12.0"
25
25
  spec.add_development_dependency "test-unit", "~> 3.0"
26
26
  spec.add_runtime_dependency "fluentd", [">= 0.14.10", "< 2"]
27
+ spec.add_runtime_dependency "oj", "~> 3.0"
28
+ spec.add_runtime_dependency "zookeeper", "~> 1.0"
27
29
  end
@@ -13,8 +13,7 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- require "fluent/plugin/output"
17
- require 'objspace'
16
+ require 'fluent/plugin/output'
18
17
  require 'oj'
19
18
  require 'zookeeper'
20
19
 
@@ -100,12 +99,12 @@ DESC
100
99
  es.each do |time, record|
101
100
  begin
102
101
  data = @formatter_proc.call(record)
103
- if @ignore_empty_msg && data == "{}"
104
- log.debug "Skipping empty record"
105
- next
106
- end
107
102
  rescue StandardError => e
108
- log.warn "Failed to format record:", :record => record
103
+ log.warn "Failed to format record:", :error => e.to_s, :record => record
104
+ next
105
+ end
106
+ if @ignore_empty_msg && data == "{}"
107
+ log.debug "Skipping empty record"
109
108
  next
110
109
  end
111
110
  @zk.set({path: @path, data: data})
data/test/helper.rb ADDED
@@ -0,0 +1,8 @@
1
+ $LOAD_PATH.unshift(File.expand_path("../../", __FILE__))
2
+ require "test-unit"
3
+ require "fluent/test"
4
+ require "fluent/test/driver/output"
5
+ require "fluent/test/helpers"
6
+
7
+ Test::Unit::TestCase.include(Fluent::Test::Helpers)
8
+ Test::Unit::TestCase.extend(Fluent::Test::Helpers)
@@ -0,0 +1,36 @@
1
+ require "helper"
2
+ require "fluent/plugin/out_zookeeper.rb"
3
+
4
+ class ZookeeperOutputTest < Test::Unit::TestCase
5
+ setup do
6
+ Fluent::Test.setup
7
+ end
8
+
9
+ CONFIG = %[
10
+ servers localhost:2181
11
+ path /fluent_test
12
+ type wrongtype
13
+ ]
14
+
15
+ def create_driver(conf = CONFIG)
16
+ Fluent::Test::Driver::Output.new(Fluent::Plugin::ZookeeperOutput).configure(conf)
17
+ end
18
+
19
+ def test_configure
20
+ assert_nothing_raised(Fluent::ConfigError) {
21
+ create_driver(CONFIG)
22
+ }
23
+
24
+ d = create_driver(CONFIG)
25
+ assert_equal 'localhost:2181', d.instance.servers
26
+ assert_equal '/fluent_test', d.instance.path
27
+ assert_equal 'persistent', d.instance.type
28
+ end
29
+
30
+ def test_process
31
+ d = create_driver(CONFIG)
32
+ d.run(default_tag: "test") do
33
+ d.feed({ "message" => "Test message" })
34
+ end
35
+ end
36
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-zookeeper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Tikhomirov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-09 00:00:00.000000000 Z
11
+ date: 2018-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,6 +72,34 @@ dependencies:
72
72
  - - "<"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '2'
75
+ - !ruby/object:Gem::Dependency
76
+ name: oj
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: zookeeper
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.0'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.0'
75
103
  description: Fluentd plugin for Apache Zookeeper
76
104
  email:
77
105
  - anton.tikhomirov@cdnetworks.com
@@ -85,6 +113,8 @@ files:
85
113
  - Rakefile
86
114
  - fluent-plugin-zookeeper.gemspec
87
115
  - lib/fluent/plugin/out_zookeeper.rb
116
+ - test/helper.rb
117
+ - test/plugin/test_out_zookeeper.rb
88
118
  homepage: https://github.com/antonshi/fluent-plugin-zookeeper
89
119
  licenses:
90
120
  - Apache-2.0
@@ -109,4 +139,6 @@ rubygems_version: 2.5.1
109
139
  signing_key:
110
140
  specification_version: 4
111
141
  summary: Fluentd plugin for Apache Zookeeper
112
- test_files: []
142
+ test_files:
143
+ - test/helper.rb
144
+ - test/plugin/test_out_zookeeper.rb