fluent-plugin-label-router 0.3.0 → 0.3.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/Gemfile.lock +1 -1
- data/fluent-plugin-label-router.gemspec +2 -1
- data/lib/fluent/plugin/out_label_router.rb +7 -9
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0188ed80bdd96932a8d4942585a4cba52843b2e32c0492718aa1706b73ae29e4'
|
4
|
+
data.tar.gz: 8d9fd20daf7e0a2d171185e752bbd4310fb52575747cc73442492839d51056a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 687f7dfb1523caf6ac12c7d5574b7fbab1a7f2a70f4b350a53a1d81aa1c69b24d365546c95d490af4f992b2174b0ad3c6a8793f56e07656f9988f96bf093ad5b
|
7
|
+
data.tar.gz: 38ce993e367fc24bc974da84a96579ba4ce311cf3891f0afe268bea9ee24b05ddb164e7d7fc1214172128a8fa6d9a9ac42d8ddfe974b8a487e86e7b38817d713
|
data/Gemfile.lock
CHANGED
@@ -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-label-router"
|
6
|
-
spec.version = "0.3.
|
6
|
+
spec.version = "0.3.2"
|
7
7
|
spec.authors = ["Banzai Cloud"]
|
8
8
|
spec.email = ["info@banzaicloud.com"]
|
9
9
|
|
@@ -23,5 +23,6 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency "rake", "~> 12.0"
|
24
24
|
spec.add_development_dependency "test-unit", "~> 3.0"
|
25
25
|
spec.add_dependency "prometheus-client", ">= 2.1.0"
|
26
|
+
spec.add_dependency "concurrent-ruby"
|
26
27
|
spec.add_runtime_dependency "fluentd", [">= 0.14.10", "< 2"]
|
27
28
|
end
|
@@ -15,6 +15,7 @@
|
|
15
15
|
|
16
16
|
require "fluent/plugin/output"
|
17
17
|
require 'prometheus/client'
|
18
|
+
require 'concurrent'
|
18
19
|
|
19
20
|
|
20
21
|
module Fluent
|
@@ -95,11 +96,8 @@ module Fluent
|
|
95
96
|
# There is no match at all -> return false
|
96
97
|
def match?(metadata)
|
97
98
|
@matches.each do |match|
|
98
|
-
if filter_select(match, metadata)
|
99
|
-
return
|
100
|
-
end
|
101
|
-
if filter_select(match, metadata) and match.negate
|
102
|
-
return false
|
99
|
+
if filter_select(match, metadata)
|
100
|
+
return !match.negate
|
103
101
|
end
|
104
102
|
end
|
105
103
|
false
|
@@ -153,7 +151,7 @@ module Fluent
|
|
153
151
|
|
154
152
|
def process(tag, es)
|
155
153
|
if @sticky_tags
|
156
|
-
@
|
154
|
+
@rwlock.with_read_lock {
|
157
155
|
if @route_map.has_key?(tag)
|
158
156
|
# We already matched with this tag send events to the routers
|
159
157
|
@route_map[tag].each do |r|
|
@@ -175,7 +173,7 @@ module Fluent
|
|
175
173
|
if r.match?(input_metadata)
|
176
174
|
orphan_record = false
|
177
175
|
if @sticky_tags
|
178
|
-
@
|
176
|
+
@rwlock.with_write_lock {
|
179
177
|
@route_map[tag].add(r)
|
180
178
|
}
|
181
179
|
end
|
@@ -188,7 +186,7 @@ module Fluent
|
|
188
186
|
end
|
189
187
|
if !@default_router.nil? && orphan_record
|
190
188
|
if @sticky_tags
|
191
|
-
@
|
189
|
+
@rwlock.with_write_lock {
|
192
190
|
@route_map[tag].add(@default_router)
|
193
191
|
}
|
194
192
|
end
|
@@ -210,7 +208,7 @@ module Fluent
|
|
210
208
|
super
|
211
209
|
@registry = (::Prometheus::Client.registry if @metrics)
|
212
210
|
@route_map = Hash.new { |h, k| h[k] = Set.new }
|
213
|
-
@
|
211
|
+
@rwlock = Concurrent::ReadWriteLock.new
|
214
212
|
@routers = []
|
215
213
|
@default_router = nil
|
216
214
|
@routes.each do |rule|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-label-router
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Banzai Cloud
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 2.1.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: concurrent-ruby
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: fluentd
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,7 +108,7 @@ homepage: https://github.com/banzaicloud/fluent-plugin-label-router
|
|
94
108
|
licenses:
|
95
109
|
- Apache-2.0
|
96
110
|
metadata: {}
|
97
|
-
post_install_message:
|
111
|
+
post_install_message:
|
98
112
|
rdoc_options: []
|
99
113
|
require_paths:
|
100
114
|
- lib
|
@@ -109,8 +123,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
125
|
requirements: []
|
112
|
-
rubygems_version: 3.
|
113
|
-
signing_key:
|
126
|
+
rubygems_version: 3.0.3.1
|
127
|
+
signing_key:
|
114
128
|
specification_version: 4
|
115
129
|
summary: Routing records based on Kubernetes labels.
|
116
130
|
test_files:
|