phihos-fluent-plugin-prometheus 2.0.3.pre.1 → 2.0.3

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
  SHA256:
3
- metadata.gz: efd374590cb67d424b01056a347218c26987535304afc2b5ab0c8dffa27ebd42
4
- data.tar.gz: a959a82145c5189df3462676fca0390a7a2ebe56c1a766c5be8cc839c40212c7
3
+ metadata.gz: 3502c3486612aa7d3f802bb36b74e32546b0d794596ef36fd89212677f9ec7d4
4
+ data.tar.gz: 452afbd170f2d9236c48cd22932e9be5e5562272d400d76ca379c9e2b5e46265
5
5
  SHA512:
6
- metadata.gz: e62e512ff1b137a95f26a06586cebdebb08e7ad3bd90ddb31218641ebe3c854e649446a389cd54e7f8803c60dfefa5a9f1a6d51190e646fe3df4b8602d5e0bc1
7
- data.tar.gz: '08c148bcaa3707aec3b3272e1836e2cc588826f86c6d33a635b00b58cbab5b28309f255ceee3804371cf2f918cfbd3208f9dabb51f8d79122e06934d62c4a8ae'
6
+ metadata.gz: 68ed7e87f2d2cedc1b8f1e688cca2825a1b2ca8309a0011a2e984a6a1fe6d1a4db0e41cf89b9ba5fdf839049b298d7636ef12c8a34a8b0d64427751adcedf009
7
+ data.tar.gz: 413c3d13f10213e5119ce34da437c8824a0d5dfa3ec1188ccf3d885ef224db8058237abd6cd3e6e972cb0f5ecdbe5c3be1c60583777169f90b8abbc81bb54fa5
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "phihos-fluent-plugin-prometheus"
3
- spec.version = "2.0.3-1"
3
+ spec.version = "2.0.3"
4
4
  spec.authors = ["Philipp Hossner"]
5
5
  spec.email = ["philipp.hossner@posteo.de"]
6
6
  spec.summary = %q{A fluent plugin that collects metrics and exposes for Prometheus.}
@@ -33,13 +33,6 @@ module Fluent::Plugin
33
33
  method(:thread_current_running?),
34
34
  @log
35
35
  )
36
- Fluent::Plugin::Prometheus.start_reset_threads(
37
- @metrics,
38
- @registry,
39
- method(:thread_create),
40
- method(:thread_current_running?),
41
- @log
42
- )
43
36
  end
44
37
 
45
38
  def filter(tag, time, record)
@@ -33,13 +33,6 @@ module Fluent::Plugin
33
33
  method(:thread_current_running?),
34
34
  @log
35
35
  )
36
- Fluent::Plugin::Prometheus.start_reset_threads(
37
- @metrics,
38
- @registry,
39
- method(:thread_create),
40
- method(:thread_current_running?),
41
- @log
42
- )
43
36
  end
44
37
 
45
38
  def process(tag, es)
@@ -8,10 +8,6 @@ module Prometheus
8
8
  label_set = label_set_for(labels)
9
9
  @store.remove(labels: label_set)
10
10
  end
11
-
12
- def reset_values
13
- @store.reset_values
14
- end
15
11
  end
16
12
  end
17
13
  end
@@ -88,12 +84,6 @@ module Fluent
88
84
  end
89
85
  end
90
86
  end
91
-
92
- def reset_values
93
- synchronize do
94
- @internal_store.transform_values! { |_| 0.0 }
95
- end
96
- end
97
87
  end
98
88
 
99
89
  private_constant :MetricStore
@@ -93,17 +93,6 @@ module Fluent
93
93
  end
94
94
  end
95
95
 
96
- def self.start_reset_threads(metrics, registry, thread_create, thread_running, log)
97
- metrics.select { |metric| metric.has_reset? }.each do |metric|
98
- thread_create.call("prometheus_reset_#{metric.name}".to_sym) do
99
- while thread_running.call()
100
- sleep(metric.reset_after)
101
- metric.reset_values(registry, log)
102
- end
103
- end
104
- end
105
- end
106
-
107
96
  def self.placeholder_expander(log)
108
97
  Fluent::Plugin::Prometheus::ExpandBuilder.new(log: log)
109
98
  end
@@ -181,7 +170,6 @@ module Fluent
181
170
  attr_reader :desc
182
171
  attr_reader :retention
183
172
  attr_reader :retention_check_interval
184
- attr_reader :reset_after
185
173
 
186
174
  def initialize(element, registry, labels)
187
175
  ['name', 'desc'].each do |key|
@@ -199,7 +187,6 @@ module Fluent
199
187
  @last_modified_store = LastModifiedStore.new
200
188
  end
201
189
  @topk = element['topk'].to_i
202
- @reset_after = element['reset_after'].to_i
203
190
 
204
191
  @base_labels = Fluent::Plugin::Prometheus.parse_labels_elements(element)
205
192
  @base_labels = labels.merge(@base_labels)
@@ -253,10 +240,6 @@ module Fluent
253
240
  @retention > 0
254
241
  end
255
242
 
256
- def has_reset?
257
- reset_after > 0
258
- end
259
-
260
243
  def remove_expired_metrics(registry, log)
261
244
  if has_retention?
262
245
  metric = registry.get(@name)
@@ -274,16 +257,6 @@ module Fluent
274
257
  end
275
258
  end
276
259
 
277
- def reset_values(registry, log)
278
- if has_reset?
279
- metric = registry.get(@name)
280
- log.debug "Resetting values nof metric #{@name}..."
281
- metric.reset_values
282
- else
283
- log.warn('reset_store should not be called when reset_after is not set for this metric!')
284
- end
285
- end
286
-
287
260
  class LastModifiedStore
288
261
  def initialize
289
262
  @internal_store = Hash.new
@@ -85,7 +85,7 @@ describe Fluent::Plugin::PrometheusFilter do
85
85
  let(:message2) { { "foo" => 300, "bar" => "b" } }
86
86
  let(:message3) { { "foo" => 100, "bar" => "c" } }
87
87
 
88
- context 'config with topk 2' do
88
+ context 'config with retention 1' do
89
89
  let(:config) {
90
90
  BASE_CONFIG + %(
91
91
  <metric>
@@ -101,7 +101,7 @@ describe Fluent::Plugin::PrometheusFilter do
101
101
  )
102
102
  }
103
103
 
104
- it 'shows only top 2 metrics' do
104
+ it 'expires metric after max 2s' do
105
105
  expect(registry.metrics.map(&:name)).not_to eq([:simple])
106
106
  driver.run(default_tag: tag) {
107
107
  driver.feed(event_time, message1)
@@ -115,31 +115,4 @@ describe Fluent::Plugin::PrometheusFilter do
115
115
  end
116
116
  end
117
117
  end
118
-
119
- describe '#run with reset_after' do
120
- let(:message) { { "foo" => 100 } }
121
-
122
- context 'config with reset_after 1' do
123
- let(:config) {
124
- BASE_CONFIG + %(
125
- <metric>
126
- name simple
127
- type counter
128
- desc Something foo.
129
- key foo
130
- reset_after 1
131
- </metric>
132
- )
133
- }
134
-
135
- it 'resets metric values after max 2s' do
136
- expect(registry.metrics.map(&:name)).not_to eq([:simple])
137
- driver.run(default_tag: tag) {
138
- driver.feed(event_time, message)
139
- sleep(2)
140
- }
141
- expect(registry.metrics[0].values).to eq({ {} => 0 })
142
- end
143
- end
144
- end
145
118
  end
@@ -106,7 +106,7 @@ describe Fluent::Plugin::PrometheusOutput do
106
106
  let(:message2) { { "foo" => 300, "bar" => "b" } }
107
107
  let(:message3) { { "foo" => 100, "bar" => "c" } }
108
108
 
109
- context 'config with topk 2' do
109
+ context 'config with retention 1' do
110
110
  let(:config) {
111
111
  BASE_CONFIG + %(
112
112
  <metric>
@@ -122,7 +122,7 @@ describe Fluent::Plugin::PrometheusOutput do
122
122
  )
123
123
  }
124
124
 
125
- it 'shows only top 2 metrics' do
125
+ it 'expires metric after max 2s' do
126
126
  expect(registry.metrics.map(&:name)).not_to eq([:simple])
127
127
  driver.run(default_tag: tag) {
128
128
  driver.feed(event_time, message1)
@@ -136,31 +136,4 @@ describe Fluent::Plugin::PrometheusOutput do
136
136
  end
137
137
  end
138
138
  end
139
-
140
- describe '#run with reset_after' do
141
- let(:message) { { "foo" => 100 } }
142
-
143
- context 'config with reset_after 1' do
144
- let(:config) {
145
- BASE_CONFIG + %(
146
- <metric>
147
- name simple
148
- type counter
149
- desc Something foo.
150
- key foo
151
- reset_after 1
152
- </metric>
153
- )
154
- }
155
-
156
- it 'resets metric values after max 2s' do
157
- expect(registry.metrics.map(&:name)).not_to eq([:simple])
158
- driver.run(default_tag: tag) {
159
- driver.feed(event_time, message)
160
- sleep(2)
161
- }
162
- expect(registry.metrics[0].values).to eq({ {} => 0 })
163
- end
164
- end
165
- end
166
139
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phihos-fluent-plugin-prometheus
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3.pre.1
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Philipp Hossner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-02 00:00:00.000000000 Z
11
+ date: 2022-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -156,9 +156,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
156
156
  version: '0'
157
157
  required_rubygems_version: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - ">"
159
+ - - ">="
160
160
  - !ruby/object:Gem::Version
161
- version: 1.3.1
161
+ version: '0'
162
162
  requirements: []
163
163
  rubygems_version: 3.3.5
164
164
  signing_key: