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

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: 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: