fluent-plugin-yohoushi 0.1.1 → 0.1.2
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 +4 -4
- data/CHANGELOG.md +7 -1
- data/fluent-plugin-yohoushi.gemspec +2 -1
- data/lib/fluent/plugin/out_yohoushi.rb +25 -32
- data/spec/out_yohoushi_spec.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5ca313fd0763679536353b8ea54dd0cacc01c1f
|
4
|
+
data.tar.gz: 7399aa2381f7ce696d6f76f8e60358b00167ed2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8359f7a3e43446fb0b917db7d5e59629b8b3acd2cec937d5bf13a4becd81e418d3dec5de2c5eea4282131887ce7639df3e3d6a615684476c59d62a10a63b6bb3
|
7
|
+
data.tar.gz: a07612a0d7927c3eeabb532f0271c5531e240067d830b80f7b5f4c8f36798b49a0ae777443341aab70a45a3b427407c8f6624322b1679f1128fe4a9082ba2bd9
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## 0.1.2 (2014/02/03)
|
2
|
+
|
3
|
+
Fixes:
|
4
|
+
|
5
|
+
* Revert background post. I met troubles that fluentd process does not die.
|
6
|
+
|
1
7
|
## 0.1.1 (2014/01/29)
|
2
8
|
|
3
9
|
Enhancement:
|
@@ -8,7 +14,7 @@ Enhancement:
|
|
8
14
|
|
9
15
|
Changes:
|
10
16
|
|
11
|
-
* fluent-plugin-yohoushi is now a
|
17
|
+
* fluent-plugin-yohoushi is now a buffered plugin, it will post in background
|
12
18
|
|
13
19
|
## 0.0.5 (2014/01/25)
|
14
20
|
|
@@ -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-yohoushi"
|
6
|
-
s.version = "0.1.
|
6
|
+
s.version = "0.1.2"
|
7
7
|
s.authors = ["Naotoshi Seo"]
|
8
8
|
s.email = ["sonots@gmail.com"]
|
9
9
|
s.homepage = "https://github.com/sonots/fluent-plugin-yohoushi"
|
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
21
|
s.add_runtime_dependency "fluentd"
|
22
|
+
s.add_runtime_dependency "growthforecast-client", ">= 0.62.4"
|
22
23
|
s.add_runtime_dependency "multiforecast-client"
|
23
24
|
s.add_runtime_dependency "yohoushi-client"
|
24
25
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fluent
|
2
|
-
class YohoushiOutput <
|
2
|
+
class YohoushiOutput < Output
|
3
3
|
Plugin.register_output('yohoushi', self)
|
4
4
|
|
5
5
|
MAPPING_MAX_NUM = 20
|
@@ -32,17 +32,6 @@ module Fluent
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
config_param :enable_ruby, :bool, :default => true # true for lower version compatibility
|
35
|
-
|
36
|
-
# Override default parameters of Bufferedoutput options
|
37
|
-
config_param :buffer_type, :string, :default => 'memory'
|
38
|
-
config_param :flush_interval, :time, :default => 0 # we can not wait 1 minute to create 1 minute graphs (originally, 60)
|
39
|
-
config_param :try_flush_interval, :float, :default => 1 # we would be able to shorten more
|
40
|
-
config_param :retry_limit, :integer, :default => 0 # growthforecast requires a realtime post, so do not retry (originally, 17)
|
41
|
-
config_param :retry_wait, :time, :default => 1.0
|
42
|
-
config_param :max_retry_wait, :time, :default => nil
|
43
|
-
config_param :num_threads, :integer, :default => 1
|
44
|
-
config_param :queued_chunk_flush_interval, :time, :default => 1
|
45
|
-
|
46
35
|
# for test
|
47
36
|
attr_reader :client
|
48
37
|
attr_reader :mapping
|
@@ -64,6 +53,11 @@ module Fluent
|
|
64
53
|
@mapping[from] = to
|
65
54
|
end
|
66
55
|
@client = MultiForecast::Client.new('mapping' => @mapping) unless @mapping.empty?
|
56
|
+
@client.clients.each { |c|
|
57
|
+
c.connect_timeout = 5.0
|
58
|
+
c.send_timeout = 5.0
|
59
|
+
c.receive_timeout = 5.0
|
60
|
+
}
|
67
61
|
end
|
68
62
|
raise ConfigError, "Either of `base_uri` or `mapping1` must be specified" unless @client
|
69
63
|
|
@@ -116,31 +110,29 @@ module Fluent
|
|
116
110
|
$log.warn "out_yohoushi: #{e.class} #{e.message} #{path} #{e.backtrace.first}"
|
117
111
|
end
|
118
112
|
|
119
|
-
def
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
tag_parts
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
'tag_suffix' => tag_suffix,
|
134
|
-
'hostname' => @hostname,
|
135
|
-
}
|
136
|
-
if @key_pattern
|
113
|
+
def emit(tag, es, chain)
|
114
|
+
tag_parts = tag.split('.')
|
115
|
+
tag_prefix = tag_prefix(tag_parts)
|
116
|
+
tag_suffix = tag_suffix(tag_parts)
|
117
|
+
placeholders = {
|
118
|
+
'tag' => tag,
|
119
|
+
'tags' => tag_parts, # for lower compatibility
|
120
|
+
'tag_parts' => tag_parts,
|
121
|
+
'tag_prefix' => tag_prefix,
|
122
|
+
'tag_suffix' => tag_suffix,
|
123
|
+
'hostname' => @hostname,
|
124
|
+
}
|
125
|
+
if @key_pattern
|
126
|
+
es.each do |time, record|
|
137
127
|
record.each do |key, value|
|
138
128
|
next unless key =~ @key_pattern
|
139
129
|
placeholders['key'] = key
|
140
130
|
path = expand_placeholder(@key_pattern_path, time, record, placeholders)
|
141
131
|
post(path, value)
|
142
132
|
end
|
143
|
-
|
133
|
+
end
|
134
|
+
else # keys
|
135
|
+
es.each do |time, record|
|
144
136
|
@keys.each do |key, path|
|
145
137
|
next unless value = record[key]
|
146
138
|
placeholders['key'] = key
|
@@ -149,9 +141,10 @@ module Fluent
|
|
149
141
|
end
|
150
142
|
end
|
151
143
|
end
|
144
|
+
|
145
|
+
chain.next
|
152
146
|
rescue => e
|
153
147
|
$log.warn "out_yohoushi: #{e.class} #{e.message} #{e.backtrace.first}"
|
154
|
-
# Here, no raise of an error, so this BufferedOutput does not retry
|
155
148
|
end
|
156
149
|
|
157
150
|
def expand_placeholder(value, time, record, opts)
|
data/spec/out_yohoushi_spec.rb
CHANGED
@@ -19,7 +19,7 @@ describe Fluent::YohoushiOutput do
|
|
19
19
|
let(:yohoushi_base_uri) { 'http://localhost:4804' }
|
20
20
|
let(:growthforecast_base_uri) { 'http://localhost:5125' }
|
21
21
|
let(:tag) { 'test' }
|
22
|
-
let(:driver) { Fluent::Test::
|
22
|
+
let(:driver) { Fluent::Test::OutputTestDriver.new(Fluent::YohoushiOutput, tag).configure(config) }
|
23
23
|
let(:instance) { driver.instance }
|
24
24
|
|
25
25
|
describe 'test configure' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-yohoushi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Naotoshi Seo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: growthforecast-client
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.62.4
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.62.4
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: multiforecast-client
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|