fluent-plugin-memcached 0.0.5 → 0.0.6
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/README.md +1 -0
- data/fluent-plugin-memcached.gemspec +1 -1
- data/lib/fluent/plugin/out_memcached.rb +6 -3
- data/test/plugin/test_out_memcached.rb +22 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da645ae2f7d674fe83ee1c49746d5f27e391af15
|
4
|
+
data.tar.gz: ab6d4e05276efecf24f1d97f9e2169970e08bda2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e44da1a22c1f1534934c57ee2595176b1607b2077862d4400530d7763f8302595437692cea143b91d9a8e816638f2d238db9aed4113fe82e00f05a8bbfcc7be
|
7
|
+
data.tar.gz: 037e6872ef6b7a42be7083a250161dde433daf8576e82f62099f302b14c9650d5234842461bddd05d4fb8a894c2373b3468f8f5b74d8d3a39108d4d62c17220d
|
data/README.md
CHANGED
@@ -4,6 +4,7 @@ class Fluent::MemcachedOutput < Fluent::BufferedOutput
|
|
4
4
|
config_param :host, :string, :default => 'localhost'
|
5
5
|
config_param :port, :integer, :default => 11211
|
6
6
|
|
7
|
+
config_param :value_separater, :string, :default => ' '
|
7
8
|
config_param :value_format, :string, :default => 'raw'
|
8
9
|
config_param :param_names, :string, :default => nil # nil doesn't allowed for json
|
9
10
|
|
@@ -20,7 +21,7 @@ class Fluent::MemcachedOutput < Fluent::BufferedOutput
|
|
20
21
|
if @value_format == 'json' and @param_names.nil?
|
21
22
|
raise Fluent::ConfigError, "param_names MUST be specified in the case of json format"
|
22
23
|
end
|
23
|
-
@formatter = RecordValueFormatter.new(@value_format, @param_names)
|
24
|
+
@formatter = RecordValueFormatter.new(@value_separater, @value_format, @param_names)
|
24
25
|
end
|
25
26
|
|
26
27
|
def start
|
@@ -43,10 +44,12 @@ class Fluent::MemcachedOutput < Fluent::BufferedOutput
|
|
43
44
|
end
|
44
45
|
|
45
46
|
class RecordValueFormatter
|
47
|
+
attr_reader :value_separater
|
46
48
|
attr_reader :value_format
|
47
49
|
attr_reader :param_names
|
48
50
|
|
49
|
-
def initialize(value_format, param_names)
|
51
|
+
def initialize(value_separater, value_format, param_names)
|
52
|
+
@value_separater = value_separater
|
50
53
|
@value_format = value_format
|
51
54
|
@param_names = param_names
|
52
55
|
end
|
@@ -65,7 +68,7 @@ class Fluent::MemcachedOutput < Fluent::BufferedOutput
|
|
65
68
|
}
|
66
69
|
hash.to_json
|
67
70
|
else
|
68
|
-
record.values.drop(1).join(
|
71
|
+
record.values.drop(1).join(@value_separater)
|
69
72
|
end
|
70
73
|
end
|
71
74
|
end
|
@@ -19,23 +19,27 @@ class MemcachedOutputTest < Test::Unit::TestCase
|
|
19
19
|
param_names param1,param2
|
20
20
|
]
|
21
21
|
|
22
|
+
CONFIG_MYSQL = %[
|
23
|
+
host 127.0.0.1
|
24
|
+
port 11211
|
25
|
+
value_separater |
|
26
|
+
]
|
27
|
+
|
22
28
|
def create_driver(conf = CONFIG, tag='test')
|
23
29
|
Fluent::Test::BufferedOutputTestDriver.new(Fluent::MemcachedOutput, tag).configure(conf)
|
24
30
|
end
|
25
31
|
|
26
32
|
def test_configure
|
27
33
|
d = create_driver('')
|
28
|
-
|
29
34
|
assert_equal 'localhost', d.instance.host
|
30
35
|
assert_equal 11211, d.instance.port
|
36
|
+
assert_equal ' ', d.instance.value_separater
|
31
37
|
|
32
38
|
d = create_driver
|
33
|
-
|
34
39
|
assert_equal '127.0.0.1', d.instance.host
|
35
40
|
assert_equal 11211, d.instance.port
|
36
41
|
|
37
42
|
d = create_driver(CONFIG_JSON)
|
38
|
-
|
39
43
|
assert_equal '127.0.0.1', d.instance.host
|
40
44
|
assert_equal 11211, d.instance.port
|
41
45
|
assert_equal 'json', d.instance.value_format
|
@@ -48,6 +52,11 @@ class MemcachedOutputTest < Test::Unit::TestCase
|
|
48
52
|
value_format json
|
49
53
|
]
|
50
54
|
}
|
55
|
+
|
56
|
+
d = create_driver(CONFIG_MYSQL)
|
57
|
+
assert_equal '127.0.0.1', d.instance.host
|
58
|
+
assert_equal 11211, d.instance.port
|
59
|
+
assert_equal '|', d.instance.value_separater
|
51
60
|
end
|
52
61
|
|
53
62
|
def test_format
|
@@ -87,4 +96,14 @@ class MemcachedOutputTest < Test::Unit::TestCase
|
|
87
96
|
assert_equal record2_value_json, d.instance.memcached.get('d')
|
88
97
|
end
|
89
98
|
|
99
|
+
def test_write_to_mysql
|
100
|
+
d = create_driver(CONFIG_MYSQL)
|
101
|
+
time = Time.parse('2011-01-02 13:14:15 UTC').to_i
|
102
|
+
record = {'key' => time, 'metrics_name' => 'count', 'metrics_value' => '100'}
|
103
|
+
d.emit(record, time)
|
104
|
+
d.run
|
105
|
+
|
106
|
+
assert_equal 'count|100', d.instance.memcached.get(time)
|
107
|
+
end
|
108
|
+
|
90
109
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-memcached
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- innossh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|