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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd979b17d11338356a4aba41b453da815b59abac9169b4df7ec6aba97f60adf0
4
- data.tar.gz: ed8c5dd1a8129582eaafb2ac8e93afc9b0be487b9b89a4dc44d8b90bc0bf0402
3
+ metadata.gz: '0188ed80bdd96932a8d4942585a4cba52843b2e32c0492718aa1706b73ae29e4'
4
+ data.tar.gz: 8d9fd20daf7e0a2d171185e752bbd4310fb52575747cc73442492839d51056a3
5
5
  SHA512:
6
- metadata.gz: 4031c23b18c50f72953be1d20264c19bd62feea1de49c55bdb479e180f72814bfc064756156b1b4a5d10e2ebe1e1e72339f103e423874d82a01c089da44e1cff
7
- data.tar.gz: 0fa73c96e20e9ffb0da8442f2deafb27853434b78c665437a47f42646df2b3c5ba92c406792012d3cdfb41216916198728c45a46d0fca87b3f236ebbda18a74a
6
+ metadata.gz: 687f7dfb1523caf6ac12c7d5574b7fbab1a7f2a70f4b350a53a1d81aa1c69b24d365546c95d490af4f992b2174b0ad3c6a8793f56e07656f9988f96bf093ad5b
7
+ data.tar.gz: 38ce993e367fc24bc974da84a96579ba4ce311cf3891f0afe268bea9ee24b05ddb164e7d7fc1214172128a8fa6d9a9ac42d8ddfe974b8a487e86e7b38817d713
data/Gemfile.lock CHANGED
@@ -43,7 +43,7 @@ GEM
43
43
  concurrent-ruby (~> 1.0)
44
44
  tzinfo-data (1.2024.1)
45
45
  tzinfo (>= 1.0.0)
46
- webrick (1.8.1)
46
+ webrick (1.8.2)
47
47
  yajl-ruby (1.4.3)
48
48
 
49
49
  PLATFORMS
@@ -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.0"
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) and !match.negate
99
- return true
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
- @mutex.synchronize {
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
- @mutex.synchronize {
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
- @mutex.synchronize {
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
- @mutex = Mutex.new
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.0
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-06-07 00:00:00.000000000 Z
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.5.9
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: