fluent-plugin-prometheus 1.8.4 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/linux.yml +32 -0
- data/ChangeLog +16 -0
- data/fluent-plugin-prometheus.gemspec +2 -2
- data/lib/fluent/plugin/in_prometheus_monitor.rb +16 -8
- data/lib/fluent/plugin/in_prometheus_output_monitor.rb +16 -7
- data/lib/fluent/plugin/in_prometheus_tail_monitor.rb +3 -3
- data/lib/fluent/plugin/prometheus.rb +23 -9
- data/spec/fluent/plugin/out_prometheus_spec.rb +25 -0
- data/spec/fluent/plugin/shared.rb +8 -9
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 949d2ec196fae78bdfcbbfeae20d718e7a3a34a6ceba9ba665d1a7d40326d529
|
4
|
+
data.tar.gz: c1adf9a63565a38141247034157f84aadb85336e5add24ca6d99c126cd8e01d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7199fc669d4c389fa5638615d16a4fdb29a27cc959b60c3ec6e3031328a9cb052bb6169733c73e66f659ec929aa3faffd8869187dc70f6eff361263b3304ecb0
|
7
|
+
data.tar.gz: acfbe23681c5bf801ae10c41a265dfb358b05516b79d0e2944317469b0b4be8aad5b1fbda246d9e4caa0e75f473428046015232c0900689ccb629a3b7c5b72a8
|
@@ -0,0 +1,32 @@
|
|
1
|
+
name: linux
|
2
|
+
on:
|
3
|
+
- push
|
4
|
+
- pull_request
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
runs-on: ${{ matrix.os }}
|
8
|
+
continue-on-error: ${{ matrix.experimental }}
|
9
|
+
strategy:
|
10
|
+
fail-fast: false
|
11
|
+
matrix:
|
12
|
+
ruby: [ '2.5', '2.6', '2.7', '3.0' ]
|
13
|
+
os:
|
14
|
+
- ubuntu-latest
|
15
|
+
experimental: [false]
|
16
|
+
include:
|
17
|
+
- ruby: head
|
18
|
+
os: ubuntu-latest
|
19
|
+
experimental: true
|
20
|
+
name: Ruby ${{ matrix.ruby }} unit testing on ${{ matrix.os }}
|
21
|
+
steps:
|
22
|
+
- uses: actions/checkout@v2
|
23
|
+
- uses: ruby/setup-ruby@v1
|
24
|
+
with:
|
25
|
+
ruby-version: ${{ matrix.ruby }}
|
26
|
+
- name: unit testing
|
27
|
+
env:
|
28
|
+
CI: true
|
29
|
+
run: |
|
30
|
+
gem install bundler rake
|
31
|
+
bundle install --jobs 4 --retry 3
|
32
|
+
bundle exec rake spec
|
data/ChangeLog
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
Release 2.0.2 - 2021/08/02
|
2
|
+
|
3
|
+
* in_prometheus_output_monitor: Follow Fluentd's core metrics mechanism
|
4
|
+
|
5
|
+
Release 2.0.1 - 2021/04/08
|
6
|
+
|
7
|
+
* out_prometheus: Allow for lookup by symbol as well as string
|
8
|
+
|
9
|
+
Release 2.0.0 - 2021/02/18
|
10
|
+
|
11
|
+
* Update prometheus-client dependency to 2.1.0 or later
|
12
|
+
|
13
|
+
Release 1.8.5 - 2020/11/24
|
14
|
+
|
15
|
+
* in_prometheus_monitor: Support USR2 reload
|
16
|
+
|
1
17
|
Release 1.8.4 - 2020/09/24
|
2
18
|
|
3
19
|
* in_prometheus_output_monitor: Add gauge_all parameter
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
2
|
spec.name = "fluent-plugin-prometheus"
|
3
|
-
spec.version = "
|
3
|
+
spec.version = "2.0.2"
|
4
4
|
spec.authors = ["Masahiro Sano"]
|
5
5
|
spec.email = ["sabottenda@gmail.com"]
|
6
6
|
spec.summary = %q{A fluent plugin that collects metrics and exposes for Prometheus.}
|
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.require_paths = ["lib"]
|
15
15
|
|
16
16
|
spec.add_dependency "fluentd", ">= 1.9.1", "< 2"
|
17
|
-
spec.add_dependency "prometheus-client", "
|
17
|
+
spec.add_dependency "prometheus-client", ">= 2.1.0"
|
18
18
|
spec.add_development_dependency "bundler"
|
19
19
|
spec.add_development_dependency "rake"
|
20
20
|
spec.add_development_dependency "rspec"
|
@@ -46,19 +46,19 @@ module Fluent::Plugin
|
|
46
46
|
def start
|
47
47
|
super
|
48
48
|
|
49
|
-
@buffer_newest_timekey =
|
49
|
+
@buffer_newest_timekey = get_gauge(
|
50
50
|
:fluentd_status_buffer_newest_timekey,
|
51
51
|
'Newest timekey in buffer.')
|
52
|
-
@buffer_oldest_timekey =
|
52
|
+
@buffer_oldest_timekey = get_gauge(
|
53
53
|
:fluentd_status_buffer_oldest_timekey,
|
54
54
|
'Oldest timekey in buffer.')
|
55
|
-
buffer_queue_length =
|
55
|
+
buffer_queue_length = get_gauge(
|
56
56
|
:fluentd_status_buffer_queue_length,
|
57
57
|
'Current buffer queue length.')
|
58
|
-
buffer_total_queued_size =
|
58
|
+
buffer_total_queued_size = get_gauge(
|
59
59
|
:fluentd_status_buffer_total_bytes,
|
60
60
|
'Current total size of queued buffers.')
|
61
|
-
retry_counts =
|
61
|
+
retry_counts = get_gauge(
|
62
62
|
:fluentd_status_retry_count,
|
63
63
|
'Current retry counts.')
|
64
64
|
|
@@ -76,14 +76,14 @@ module Fluent::Plugin
|
|
76
76
|
|
77
77
|
@monitor_info.each do |name, metric|
|
78
78
|
if info[name]
|
79
|
-
metric.set(
|
79
|
+
metric.set(info[name], labels: label)
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
83
|
timekeys = info["buffer_timekeys"]
|
84
84
|
if timekeys && !timekeys.empty?
|
85
|
-
@buffer_newest_timekey.set(
|
86
|
-
@buffer_oldest_timekey.set(
|
85
|
+
@buffer_newest_timekey.set(timekeys.max, labels: label)
|
86
|
+
@buffer_oldest_timekey.set(timekeys.min, labels: label)
|
87
87
|
end
|
88
88
|
end
|
89
89
|
end
|
@@ -95,5 +95,13 @@ module Fluent::Plugin
|
|
95
95
|
type: plugin_info["type"],
|
96
96
|
)
|
97
97
|
end
|
98
|
+
|
99
|
+
def get_gauge(name, docstring)
|
100
|
+
if @registry.exist?(name)
|
101
|
+
@registry.get(name)
|
102
|
+
else
|
103
|
+
@registry.gauge(name, docstring: docstring, labels: @base_labels.keys + [:plugin_id, :plugin_category, :type])
|
104
|
+
end
|
105
|
+
end
|
98
106
|
end
|
99
107
|
end
|
@@ -144,7 +144,16 @@ module Fluent::Plugin
|
|
144
144
|
|
145
145
|
# output metrics
|
146
146
|
'retry_count' => @metrics[:retry_counts],
|
147
|
+
# Needed since Fluentd v1.14 due to metrics extensions.
|
148
|
+
'num_errors' => @metrics[:num_errors],
|
149
|
+
'write_count' => @metrics[:write_count],
|
150
|
+
'emit_count' => @metrics[:emit_count],
|
151
|
+
'emit_records' => @metrics[:emit_records],
|
152
|
+
'rollback_count' => @metrics[:rollback_count],
|
153
|
+
'flush_time_count' => @metrics[:flush_time_count],
|
154
|
+
'slow_flush_count' => @metrics[:slow_flush_count],
|
147
155
|
}
|
156
|
+
# No needed for Fluentd v1.14 but leave as-is for backward compatibility.
|
148
157
|
instance_vars_info = {
|
149
158
|
num_errors: @metrics[:num_errors],
|
150
159
|
write_count: @metrics[:write_count],
|
@@ -161,9 +170,9 @@ module Fluent::Plugin
|
|
161
170
|
monitor_info.each do |name, metric|
|
162
171
|
if info[name]
|
163
172
|
if metric.is_a?(::Prometheus::Client::Gauge)
|
164
|
-
metric.set(
|
173
|
+
metric.set(info[name], labels: label)
|
165
174
|
elsif metric.is_a?(::Prometheus::Client::Counter)
|
166
|
-
metric.increment(
|
175
|
+
metric.increment(by: info[name] - metric.get(labels: label), labels: label)
|
167
176
|
end
|
168
177
|
end
|
169
178
|
end
|
@@ -172,9 +181,9 @@ module Fluent::Plugin
|
|
172
181
|
instance_vars_info.each do |name, metric|
|
173
182
|
if info['instance_variables'][name]
|
174
183
|
if metric.is_a?(::Prometheus::Client::Gauge)
|
175
|
-
metric.set(
|
184
|
+
metric.set(info['instance_variables'][name], labels: label)
|
176
185
|
elsif metric.is_a?(::Prometheus::Client::Counter)
|
177
|
-
metric.increment(
|
186
|
+
metric.increment(by: info['instance_variables'][name] - metric.get(labels: label), labels: label)
|
178
187
|
end
|
179
188
|
end
|
180
189
|
end
|
@@ -193,7 +202,7 @@ module Fluent::Plugin
|
|
193
202
|
if next_time && start_time
|
194
203
|
wait = next_time - start_time
|
195
204
|
end
|
196
|
-
@metrics[:retry_wait].set(
|
205
|
+
@metrics[:retry_wait].set(wait.to_f, labels: label)
|
197
206
|
end
|
198
207
|
end
|
199
208
|
end
|
@@ -209,7 +218,7 @@ module Fluent::Plugin
|
|
209
218
|
if @registry.exist?(name)
|
210
219
|
@registry.get(name)
|
211
220
|
else
|
212
|
-
@registry.gauge(name, docstring)
|
221
|
+
@registry.gauge(name, docstring: docstring, labels: @base_labels.keys + [:plugin_id, :type])
|
213
222
|
end
|
214
223
|
end
|
215
224
|
|
@@ -217,7 +226,7 @@ module Fluent::Plugin
|
|
217
226
|
if @registry.exist?(name)
|
218
227
|
@registry.get(name)
|
219
228
|
else
|
220
|
-
@registry.public_send(@gauge_or_counter, name, docstring)
|
229
|
+
@registry.public_send(@gauge_or_counter, name, docstring: docstring, labels: @base_labels.keys + [:plugin_id, :type])
|
221
230
|
end
|
222
231
|
end
|
223
232
|
end
|
@@ -73,8 +73,8 @@ module Fluent::Plugin
|
|
73
73
|
# Very fragile implementation
|
74
74
|
pe = watcher.instance_variable_get(:@pe)
|
75
75
|
label = labels(info, watcher.path)
|
76
|
-
@metrics[:inode].set(
|
77
|
-
@metrics[:position].set(
|
76
|
+
@metrics[:inode].set(pe.read_inode, labels: label)
|
77
|
+
@metrics[:position].set(pe.read_pos, labels: label)
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
@@ -91,7 +91,7 @@ module Fluent::Plugin
|
|
91
91
|
if @registry.exist?(name)
|
92
92
|
@registry.get(name)
|
93
93
|
else
|
94
|
-
@registry.gauge(name, docstring)
|
94
|
+
@registry.gauge(name, docstring: docstring, labels: @base_labels.keys + [:plugin_id, :type, :path])
|
95
95
|
end
|
96
96
|
end
|
97
97
|
end
|
@@ -85,6 +85,18 @@ module Fluent
|
|
85
85
|
Fluent::Plugin::Prometheus::ExpandBuilder.new(log: log)
|
86
86
|
end
|
87
87
|
|
88
|
+
def stringify_keys(hash_to_stringify)
|
89
|
+
# Adapted from: https://www.jvt.me/posts/2019/09/07/ruby-hash-keys-string-symbol/
|
90
|
+
hash_to_stringify.map do |k,v|
|
91
|
+
value_or_hash = if v.instance_of? Hash
|
92
|
+
stringify_keys(v)
|
93
|
+
else
|
94
|
+
v
|
95
|
+
end
|
96
|
+
[k.to_s, value_or_hash]
|
97
|
+
end.to_h
|
98
|
+
end
|
99
|
+
|
88
100
|
def configure(conf)
|
89
101
|
super
|
90
102
|
@placeholder_values = {}
|
@@ -99,6 +111,7 @@ module Fluent
|
|
99
111
|
'worker_id' => fluentd_worker_id,
|
100
112
|
}
|
101
113
|
|
114
|
+
record = stringify_keys(record)
|
102
115
|
placeholders = record.merge(@placeholder_values[tag])
|
103
116
|
expander = @placeholder_expander_builder.build(placeholders)
|
104
117
|
metrics.each do |metric|
|
@@ -119,6 +132,7 @@ module Fluent
|
|
119
132
|
}
|
120
133
|
|
121
134
|
es.each do |time, record|
|
135
|
+
record = stringify_keys(record)
|
122
136
|
placeholders = record.merge(placeholder_values)
|
123
137
|
expander = @placeholder_expander_builder.build(placeholders)
|
124
138
|
metrics.each do |metric|
|
@@ -188,7 +202,7 @@ module Fluent
|
|
188
202
|
end
|
189
203
|
|
190
204
|
begin
|
191
|
-
@gauge = registry.gauge(element['name'].to_sym, element['desc'])
|
205
|
+
@gauge = registry.gauge(element['name'].to_sym, docstring: element['desc'], labels: @base_labels.keys)
|
192
206
|
rescue ::Prometheus::Client::Registry::AlreadyRegisteredError
|
193
207
|
@gauge = Fluent::Plugin::Prometheus::Metric.get(registry, element['name'].to_sym, :gauge, element['desc'])
|
194
208
|
end
|
@@ -201,7 +215,7 @@ module Fluent
|
|
201
215
|
value = @key.call(record)
|
202
216
|
end
|
203
217
|
if value
|
204
|
-
@gauge.set(labels(record, expander)
|
218
|
+
@gauge.set(value, labels: labels(record, expander))
|
205
219
|
end
|
206
220
|
end
|
207
221
|
end
|
@@ -210,7 +224,7 @@ module Fluent
|
|
210
224
|
def initialize(element, registry, labels)
|
211
225
|
super
|
212
226
|
begin
|
213
|
-
@counter = registry.counter(element['name'].to_sym, element['desc'])
|
227
|
+
@counter = registry.counter(element['name'].to_sym, docstring: element['desc'], labels: @base_labels.keys)
|
214
228
|
rescue ::Prometheus::Client::Registry::AlreadyRegisteredError
|
215
229
|
@counter = Fluent::Plugin::Prometheus::Metric.get(registry, element['name'].to_sym, :counter, element['desc'])
|
216
230
|
end
|
@@ -229,7 +243,7 @@ module Fluent
|
|
229
243
|
# ignore if record value is nil
|
230
244
|
return if value.nil?
|
231
245
|
|
232
|
-
@counter.increment(labels(record, expander)
|
246
|
+
@counter.increment(by: value, labels: labels(record, expander))
|
233
247
|
end
|
234
248
|
end
|
235
249
|
|
@@ -241,7 +255,7 @@ module Fluent
|
|
241
255
|
end
|
242
256
|
|
243
257
|
begin
|
244
|
-
@summary = registry.summary(element['name'].to_sym, element['desc'])
|
258
|
+
@summary = registry.summary(element['name'].to_sym, docstring: element['desc'], labels: @base_labels.keys)
|
245
259
|
rescue ::Prometheus::Client::Registry::AlreadyRegisteredError
|
246
260
|
@summary = Fluent::Plugin::Prometheus::Metric.get(registry, element['name'].to_sym, :summary, element['desc'])
|
247
261
|
end
|
@@ -254,7 +268,7 @@ module Fluent
|
|
254
268
|
value = @key.call(record)
|
255
269
|
end
|
256
270
|
if value
|
257
|
-
@summary.observe(labels(record, expander)
|
271
|
+
@summary.observe(value, labels: labels(record, expander))
|
258
272
|
end
|
259
273
|
end
|
260
274
|
end
|
@@ -271,9 +285,9 @@ module Fluent
|
|
271
285
|
buckets = element['buckets'].split(/,/).map(&:strip).map do |e|
|
272
286
|
e[/\A\d+.\d+\Z/] ? e.to_f : e.to_i
|
273
287
|
end
|
274
|
-
@histogram = registry.histogram(element['name'].to_sym, element['desc'],
|
288
|
+
@histogram = registry.histogram(element['name'].to_sym, docstring: element['desc'], labels: @base_labels.keys, buckets: buckets)
|
275
289
|
else
|
276
|
-
@histogram = registry.histogram(element['name'].to_sym, element['desc'])
|
290
|
+
@histogram = registry.histogram(element['name'].to_sym, docstring: element['desc'], labels: @base_labels.keys)
|
277
291
|
end
|
278
292
|
rescue ::Prometheus::Client::Registry::AlreadyRegisteredError
|
279
293
|
@histogram = Fluent::Plugin::Prometheus::Metric.get(registry, element['name'].to_sym, :histogram, element['desc'])
|
@@ -287,7 +301,7 @@ module Fluent
|
|
287
301
|
value = @key.call(record)
|
288
302
|
end
|
289
303
|
if value
|
290
|
-
@histogram.observe(labels(record, expander)
|
304
|
+
@histogram.observe(value, labels: labels(record, expander))
|
291
305
|
end
|
292
306
|
end
|
293
307
|
end
|
@@ -40,4 +40,29 @@ describe Fluent::Plugin::PrometheusOutput do
|
|
40
40
|
|
41
41
|
it_behaves_like 'instruments record'
|
42
42
|
end
|
43
|
+
|
44
|
+
describe '#run with symbolized keys' do
|
45
|
+
let(:message) { {:foo => 100, :bar => 100, :baz => 100, :qux => 10} }
|
46
|
+
|
47
|
+
context 'simple config' do
|
48
|
+
let(:config) {
|
49
|
+
BASE_CONFIG + %(
|
50
|
+
<metric>
|
51
|
+
name simple
|
52
|
+
type counter
|
53
|
+
desc Something foo.
|
54
|
+
key foo
|
55
|
+
</metric>
|
56
|
+
)
|
57
|
+
}
|
58
|
+
|
59
|
+
it 'adds a new counter metric' do
|
60
|
+
expect(registry.metrics.map(&:name)).not_to eq([:simple])
|
61
|
+
driver.run(default_tag: tag) { driver.feed(event_time, message) }
|
62
|
+
expect(registry.metrics.map(&:name)).to eq([:simple])
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
it_behaves_like 'instruments record'
|
67
|
+
end
|
43
68
|
end
|
@@ -178,20 +178,19 @@ shared_examples_for 'instruments record' do
|
|
178
178
|
|
179
179
|
it 'instruments counter metric' do
|
180
180
|
expect(counter.type).to eq(:counter)
|
181
|
-
expect(counter.get({test_key: 'test_value', key: 'foo1'})).to be_kind_of(Numeric)
|
182
|
-
expect(counter_with_accessor.get({test_key: 'test_value', key: 'foo6'})).to be_kind_of(Numeric)
|
181
|
+
expect(counter.get(labels: {test_key: 'test_value', key: 'foo1'})).to be_kind_of(Numeric)
|
182
|
+
expect(counter_with_accessor.get(labels: {test_key: 'test_value', key: 'foo6'})).to be_kind_of(Numeric)
|
183
183
|
end
|
184
184
|
|
185
185
|
it 'instruments gauge metric' do
|
186
186
|
expect(gauge.type).to eq(:gauge)
|
187
|
-
expect(gauge.get({test_key: 'test_value', key: 'foo2'})).to eq(100)
|
187
|
+
expect(gauge.get(labels: {test_key: 'test_value', key: 'foo2'})).to eq(100)
|
188
188
|
end
|
189
189
|
|
190
190
|
it 'instruments summary metric' do
|
191
191
|
expect(summary.type).to eq(:summary)
|
192
|
-
expect(summary.get({test_key: 'test_value', key: 'foo3'})).to be_kind_of(Hash)
|
193
|
-
expect(
|
194
|
-
expect(summary_with_accessor.get({test_key: 'test_value', key: 'foo5'})[0.99]).to eq(100)
|
192
|
+
expect(summary.get(labels: {test_key: 'test_value', key: 'foo3'})).to be_kind_of(Hash)
|
193
|
+
expect(summary_with_accessor.get(labels: {test_key: 'test_value', key: 'foo5'})["sum"]).to eq(100)
|
195
194
|
end
|
196
195
|
|
197
196
|
it 'instruments histogram metric' do
|
@@ -200,8 +199,8 @@ shared_examples_for 'instruments record' do
|
|
200
199
|
end
|
201
200
|
|
202
201
|
expect(histogram.type).to eq(:histogram)
|
203
|
-
expect(histogram.get({test_key: 'test_value', key: 'foo4'})).to be_kind_of(Hash)
|
204
|
-
expect(histogram.get({test_key: 'test_value', key: 'foo4'})[10]).to eq(5) # 4 + `es` in before
|
202
|
+
expect(histogram.get(labels: {test_key: 'test_value', key: 'foo4'})).to be_kind_of(Hash)
|
203
|
+
expect(histogram.get(labels: {test_key: 'test_value', key: 'foo4'})["10"]).to eq(5) # 4 + `es` in before
|
205
204
|
end
|
206
205
|
end
|
207
206
|
|
@@ -231,7 +230,7 @@ shared_examples_for 'instruments record' do
|
|
231
230
|
expect(counter).to be_kind_of(::Prometheus::Client::Metric)
|
232
231
|
key, _ = counter.values.find {|k,v| v == 100 }
|
233
232
|
expect(key).to be_kind_of(Hash)
|
234
|
-
expect(key[:foo]).to eq(100)
|
233
|
+
expect(key[:foo]).to eq("100")
|
235
234
|
end
|
236
235
|
end
|
237
236
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-prometheus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masahiro Sano
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -34,16 +34,16 @@ dependencies:
|
|
34
34
|
name: prometheus-client
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - "
|
37
|
+
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 2.1.0
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- - "
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 2.1.0
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,6 +107,7 @@ executables: []
|
|
107
107
|
extensions: []
|
108
108
|
extra_rdoc_files: []
|
109
109
|
files:
|
110
|
+
- ".github/workflows/linux.yml"
|
110
111
|
- ".gitignore"
|
111
112
|
- ".rspec"
|
112
113
|
- ".travis.yml"
|
@@ -158,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
159
|
- !ruby/object:Gem::Version
|
159
160
|
version: '0'
|
160
161
|
requirements: []
|
161
|
-
rubygems_version: 3.
|
162
|
+
rubygems_version: 3.2.22
|
162
163
|
signing_key:
|
163
164
|
specification_version: 4
|
164
165
|
summary: A fluent plugin that collects metrics and exposes for Prometheus.
|