fluent-plugin-redis-store-wejick 0.0.7 → 0.0.8

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: 6e2066d6534ed05cf989174037f8d29e1b645e55
4
- data.tar.gz: 1cb7c6c67297f5df88cf40a0077d4d683b8bff5d
3
+ metadata.gz: 70737670280e0eeb33bb3563447e49d4a775496b
4
+ data.tar.gz: 41f7932b44117c1fc7bcf1e1575d176307afaadf
5
5
  SHA512:
6
- metadata.gz: 3764f4ee272235c8be7958fbd4f5abb4fec06e4e0d12ab19abb863de71c23ee6a6988a2205d56cb15b1869b99107d87bd3f51828bae8c3b7a0081a0425d2fc10
7
- data.tar.gz: 5d7005008a97dadc79dfdc5dcb8b18ae4809daaaab78152746d5c28bf3f9572d6db5004a48562381383ef28e51841834912f70299622155080a8bf83ea697a34
6
+ metadata.gz: 144e9b8ac10e86e241bdb749bf9e6c6df1abeb7a2e455974ed885be7c19a631a1ac48de94a0cb95f2c4fe034062166346a5bc2cee4948d34f884c7155e20ba76
7
+ data.tar.gz: 7c095e45d1a9aa869cebe6768b9eac8ce2c53788cba8311acdc63b6ae9bde039c94bac9ace51a0ba198d2aa8855c219e6dc82d51b136318b3a5fccce7bf7741a
data/README.md CHANGED
@@ -127,7 +127,7 @@ No more options than common options.
127
127
  | `prevent_duplicate` | (0,1) | 0 | Prevent duplicated value in one key (list) |
128
128
  | `string_tolow` | (0,1) | 0 | value to lowercase |
129
129
  | `string_unescape` | (0,1) | 0 | unescape value |
130
- | `string_unescape_twice` | (0,1) | 0 | if you need another unescape |
130
+ | `string_unescape_twice` | (0,1) | 0 | in you need another unescape |
131
131
  | `value_length` | (0,1) | list trimming doesn't honor ordering |
132
132
 
133
133
  ### `set` storage specific options
@@ -140,6 +140,11 @@ No more options than common options.
140
140
  | :---- | :----- | :----------------------- | :------------ |
141
141
  | `score_path` | string | (_time_ of log event) | path to lookup for _score_ in the event data |
142
142
  | `value_expire` | int | | value expiration in seconds |
143
+ | `prevent_duplicate` | (0,1) | 0 | Prevent duplicated value in one key (list) |
144
+ | `string_tolow` | (0,1) | 0 | value to lowercase |
145
+ | `string_unescape` | (0,1) | 0 | unescape value |
146
+ | `string_unescape_twice` | (0,1) | 0 | in you need another unescape |
147
+ | `value_length` | (0,1) | z trimming doesn't honor ordering |
143
148
 
144
149
  If `value_expire` is set, the plugin assumes that the _score_ in the **SortedSet** is
145
150
  based on *timestamp* and it deletes expired _members_ every after new event data arrives.
@@ -2,11 +2,11 @@
2
2
  Gem::Specification.new do |gem|
3
3
  gem.name = "fluent-plugin-redis-store-wejick"
4
4
  gem.email = "wejick@gmail.com"
5
- gem.version = "0.0.7"
5
+ gem.version = "0.0.8"
6
6
  gem.authors = ["wejick", "Gian Giovani"]
7
7
  gem.licenses = ["Apache-2.0"]
8
- gem.summary = %q{Redis(zset/set/list/string/publish) output plugin for Fluentd (in heavy dev, contains config breaking change)}
9
- gem.description = %q{Redis(zset/set/list/string/publish) output plugin for Fluentd, in the process to adding more functionality (not stable)...}
8
+ gem.summary = %q{Redis(zset/set/list/string/publish) output plugin for Fluentd}
9
+ gem.description = %q{Redis(zset/set/list/string/publish) output plugin for Fluentd...}
10
10
  gem.homepage = "https://github.com/wejick/fluent-plugin-redis-store"
11
11
 
12
12
  gem.files = `git ls-files`.split($\)
@@ -97,6 +97,23 @@ module Fluent
97
97
  key = get_key_from(record)
98
98
  value = get_value_from(record)
99
99
  score = get_score_from(record, time)
100
+
101
+ if 0 < @string_tolow
102
+ value = lower_string(value)
103
+ end
104
+ if 0 < @string_unescape
105
+ value = unescape_string(value)
106
+ if 0 <@string_unescape_twice
107
+ value = unescape_string(value)
108
+ end
109
+ end
110
+ if 0 < @only_alphanumeric
111
+ if ( /^[a-zA-Z0-9 ]*$/.match(value) ) != nil
112
+ else
113
+ return
114
+ end
115
+ end
116
+
100
117
  @redis.zadd key, score, value
101
118
 
102
119
  set_key_expire key
@@ -105,8 +122,8 @@ module Fluent
105
122
  @redis.zremrangebyscore key , '-inf' , (now - @value_expire)
106
123
  end
107
124
  if 0 < @value_length
108
- script = generate_zremrangebyrank_script(key, @value_length, @order)
109
- @redis.eval script
125
+ l = -1 - @value_length
126
+ @redis.zremrangebyrank key, 0, l
110
127
  end
111
128
  end
112
129
 
@@ -173,40 +190,6 @@ module Fluent
173
190
  return string
174
191
  end
175
192
 
176
- def generate_zremrangebyrank_script(key, maxlen, order)
177
- script = "local key = '" + key.to_s + "'\n"
178
- script += "local maxlen = " + maxlen.to_s + "\n"
179
- script += "local order ='" + order.to_s + "'\n"
180
- script += "local len = tonumber(redis.call('ZCOUNT', key, '-inf', '+inf'))\n"
181
- script += "if len > maxlen then\n"
182
- script += " if order == 'asc' then\n"
183
- script += " local l = len - maxlen\n"
184
- script += " if l >= 0 then\n"
185
- script += " return redis.call('ZREMRANGEBYRANK', key, 0, l)\n"
186
- script += " end\n"
187
- script += " else\n"
188
- script += " return redis.call('ZREMRANGEBYRANK', key, maxlen, -1)\n"
189
- script += " end\n"
190
- script += "end\n"
191
- return script
192
- end
193
-
194
- def generate_ltrim_script(key, maxlen, order)
195
- script = "local key = '" + key.to_s + "'\n"
196
- script += "local maxlen = " + maxlen.to_s + "\n"
197
- script += "local order ='" + order.to_s + "'\n"
198
- script += "local len = tonumber(redis.call('LLEN', key))\n"
199
- script += "if len > maxlen then\n"
200
- script += " if order == 'asc' then\n"
201
- script += " local l = len - maxlen\n"
202
- script += " return redis.call('LTRIM', key, l, -1)\n"
203
- script += " else\n"
204
- script += " return redis.call('LTRIM', key, 0, maxlen - 1)\n"
205
- script += " end\n"
206
- script += "end\n"
207
- return script
208
- end
209
-
210
193
  def traverse(data, key)
211
194
  val = data
212
195
  key.split('.').each{ |k|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-redis-store-wejick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - wejick
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-08-16 00:00:00.000000000 Z
12
+ date: 2016-09-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -67,8 +67,7 @@ dependencies:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
- description: Redis(zset/set/list/string/publish) output plugin for Fluentd, in the
71
- process to adding more functionality (not stable)...
70
+ description: Redis(zset/set/list/string/publish) output plugin for Fluentd...
72
71
  email: wejick@gmail.com
73
72
  executables: []
74
73
  extensions: []
@@ -102,11 +101,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
101
  version: '0'
103
102
  requirements: []
104
103
  rubyforge_project:
105
- rubygems_version: 2.5.1
104
+ rubygems_version: 2.4.8
106
105
  signing_key:
107
106
  specification_version: 4
108
- summary: Redis(zset/set/list/string/publish) output plugin for Fluentd (in heavy dev,
109
- contains config breaking change)
107
+ summary: Redis(zset/set/list/string/publish) output plugin for Fluentd
110
108
  test_files:
111
109
  - test/helpers.rb
112
110
  - test/plugin/test_out_redis_publish.rb