sidekiq_prometheus 0.8.1 → 0.9.0
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/.chglog/CHANGELOG.tpl.md +39 -0
- data/.chglog/config.yml +27 -0
- data/CHANGELOG.md +6 -0
- data/README.md +114 -30
- data/lib/sidekiq_prometheus/version.rb +1 -1
- data/lib/sidekiq_prometheus.rb +41 -15
- data/sidekiq_prometheus.gemspec +1 -1
- metadata +10 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 748f399320010ab1e703781c7a2c938b43c7d2a546218fe2a53397f60785be47
|
4
|
+
data.tar.gz: f7122e72637d68d0a5357308a6695994a0a6671569307e4223a1fd38efc624ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 598de4311c9de184940ead8482a150eb242cf610500404914a7f1ed3ce6eea8395021b1bb007d65567227d97056b8ebe1e392688ad5a7f40b4e760d90f71683b
|
7
|
+
data.tar.gz: b56334f343b2cce15e905a609ed11ac33ce5f2a42042bc6641ffe20444df2c26f5108ee275f76bca18ebcfd588321529a2d86e5edbb9d48acfff99fef1d4adb8
|
@@ -0,0 +1,39 @@
|
|
1
|
+
CHANGELOG
|
2
|
+
{{ range .Versions }}
|
3
|
+
<a name="{{ .Tag.Name }}"></a>
|
4
|
+
## {{ if .Tag.Previous }}[{{ .Tag.Name }}]({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}){{ else }}{{ .Tag.Name }}{{ end }} ({{ datetime "2006-01-02" .Tag.Date }})
|
5
|
+
|
6
|
+
{{ range .CommitGroups -}}
|
7
|
+
### {{ .Title }}
|
8
|
+
|
9
|
+
{{ range .Commits -}}
|
10
|
+
* {{ .Subject }}
|
11
|
+
{{ end }}
|
12
|
+
{{ end -}}
|
13
|
+
|
14
|
+
{{- if .RevertCommits -}}
|
15
|
+
### Reverts
|
16
|
+
|
17
|
+
{{ range .RevertCommits -}}
|
18
|
+
* {{ .Revert.Header }}
|
19
|
+
{{ end }}
|
20
|
+
{{ end -}}
|
21
|
+
|
22
|
+
{{- if .MergeCommits -}}
|
23
|
+
### Pull Requests
|
24
|
+
|
25
|
+
{{ range .MergeCommits -}}
|
26
|
+
* {{ .Header }}
|
27
|
+
{{ end }}
|
28
|
+
{{ end -}}
|
29
|
+
|
30
|
+
{{- if .NoteGroups -}}
|
31
|
+
{{ range .NoteGroups -}}
|
32
|
+
### {{ .Title }}
|
33
|
+
|
34
|
+
{{ range .Notes }}
|
35
|
+
{{ .Body }}
|
36
|
+
{{ end }}
|
37
|
+
{{ end -}}
|
38
|
+
{{ end -}}
|
39
|
+
{{ end -}}
|
data/.chglog/config.yml
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
style: github
|
2
|
+
template: CHANGELOG.tpl.md
|
3
|
+
info:
|
4
|
+
title: CHANGELOG
|
5
|
+
repository_url: https://github.com/fastly/sidekiq-prometheus
|
6
|
+
options:
|
7
|
+
commits:
|
8
|
+
# filters:
|
9
|
+
# Type:
|
10
|
+
# - feat
|
11
|
+
# - fix
|
12
|
+
# - perf
|
13
|
+
# - refactor
|
14
|
+
commit_groups:
|
15
|
+
# title_maps:
|
16
|
+
# feat: Features
|
17
|
+
# fix: Bug Fixes
|
18
|
+
# perf: Performance Improvements
|
19
|
+
# refactor: Code Refactoring
|
20
|
+
header:
|
21
|
+
pattern: "^(\\w*)\\:\\s(.*)$"
|
22
|
+
pattern_maps:
|
23
|
+
- Type
|
24
|
+
- Subject
|
25
|
+
notes:
|
26
|
+
keywords:
|
27
|
+
- BREAKING CHANGE
|
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -1,11 +1,15 @@
|
|
1
|
-
#
|
1
|
+
# Sidekiq Prometheus
|
2
2
|
|
3
|
-
Prometheus Instrumentation for Sidekiq.
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
[](https://travis-ci.org/fastly/sidekiq-prometheus)
|
5
|
+

|
6
|
+
[](http://opensource.org/licenses/MIT)
|
7
|
+
|
8
|
+
Prometheus Instrumentation for Sidekiq. This gem provides:
|
8
9
|
|
10
|
+
* Sidekiq server middleware for reporting job metrics
|
11
|
+
* Global metrics reporter that uses the Sidekiq API for reporting Sidekiq cluster stats (*requires Sidekiq::Enterprise*)
|
12
|
+
* Sidecar Rack server to provide scrape-able endpoint for Prometheus. This allows for metrics to be reported without having to run a separate prometheus exporter process.
|
9
13
|
|
10
14
|
## Installation
|
11
15
|
|
@@ -31,35 +35,42 @@ To run with the defaults add this to your Sidekiq initializer
|
|
31
35
|
SidekiqPrometheus.setup
|
32
36
|
```
|
33
37
|
|
34
|
-
This will register metrics, start the global reporter (if available), and start the Rack server for scraping. The default port is
|
38
|
+
This will register metrics, start the global reporter (if available), and start the Rack server for scraping. The default port is 9359 but this is easily configurable.
|
35
39
|
|
36
|
-
|
40
|
+
Once Sidekiq server is running you can see your metrics or scrape them with Prometheus:
|
37
41
|
|
38
42
|
```
|
39
|
-
|
40
|
-
config.base_labels = { service: 'image_api' }
|
41
|
-
config.metrics_port = 9090
|
42
|
-
end
|
43
|
+
$curl http://localhost:9359/metrics
|
43
44
|
|
44
|
-
#
|
45
|
-
|
45
|
+
# TYPE sidekiq_job_count counter
|
46
|
+
# HELP sidekiq_job_count Count of Sidekiq jobs
|
47
|
+
# TYPE sidekiq_job_duration histogram
|
48
|
+
# HELP sidekiq_job_duration Sidekiq job processing duration
|
49
|
+
|
50
|
+
[etc]
|
46
51
|
```
|
47
52
|
|
48
|
-
|
49
|
-
There is also a helper method: `SidekiqPrometheus.configure!` which can be used to configure and setup in one step:
|
53
|
+
[Full documentation](https://www.rubydoc.info/gems/sidekiq_prometheus)
|
50
54
|
|
51
|
-
|
52
|
-
SidekiqPrometheus.configure! do |config|
|
53
|
-
config.base_labels = { service: 'dogs_api' }
|
54
|
-
end
|
55
|
+
## Configuration
|
55
56
|
|
56
|
-
|
57
|
+
You can configure the gem by calling `configure`:
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
SidekiqPrometheus.configure do |config|
|
61
|
+
config.base_labels = { service: 'kubernandos_api' }
|
62
|
+
end
|
57
63
|
```
|
58
64
|
|
59
|
-
|
65
|
+
`configure` will automatically call setup so
|
60
66
|
|
61
|
-
|
62
|
-
|
67
|
+
If you are running multiple services that will be reporting Sidekiq metrics you will want to take advantage of the `base_labels` configuration option. For example:
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
SidekiqPrometheus.configure do |config|
|
71
|
+
config.base_labels = { service: 'image_api' }
|
72
|
+
config.metrics_port = 9090
|
73
|
+
end
|
63
74
|
```
|
64
75
|
|
65
76
|
#### Configuration options
|
@@ -67,11 +78,12 @@ curl http://localhost:8675/metrics
|
|
67
78
|
* `base_labels`: Hash of labels that will be included with every metric when they are registered.
|
68
79
|
* `gc_metrics_enabled`: Boolean that determines whether to record object allocation metrics per job. The default is `true`. Setting this to `false` if you don't need this metric.
|
69
80
|
* `global_metrics_enabled`: Boolean that determines whether to report global metrics from the PeriodicMetrics reporter. When `true` this will report on a number of stats from the Sidekiq API for the cluster. This requires Sidekiq::Enterprise as the reporter uses the leader election functionality to ensure that only one worker per cluster is reporting metrics.
|
70
|
-
* `periodic_metrics_enabled`: Boolean that determines whether to run the periodic metrics reporter. `PeriodicMetrics` runs a separate thread that reports on global metrics (if enabled) as well worker GC stats (if enabled). It reports metrics on the interval defined by `periodic_reporting_interval`.
|
81
|
+
* `periodic_metrics_enabled`: Boolean that determines whether to run the periodic metrics reporter. `PeriodicMetrics` runs a separate thread that reports on global metrics (if enabled) as well worker GC stats (if enabled). It reports metrics on the interval defined by `periodic_reporting_interval`. Defaults to `true`.
|
71
82
|
* `periodic_reporting_interval`: interval in seconds for reporting periodic metrics. Default: `30`
|
72
|
-
* `metrics_port`: Port on which the rack server will listen. Defaults to `
|
83
|
+
* `metrics_port`: Port on which the rack server will listen. Defaults to `9359`
|
84
|
+
* `registry`: An instance of `Prometheus::Client::Registry`. If you have a registry with defined metrics you can use this option to pass in your registry.
|
73
85
|
|
74
|
-
```
|
86
|
+
```ruby
|
75
87
|
SidekiqPrometheus.configure do |config|
|
76
88
|
config.base_labels = { service: 'myapp' }
|
77
89
|
config.gc_metrics_enabled = false
|
@@ -84,7 +96,7 @@ end
|
|
84
96
|
|
85
97
|
Custom labels may be added by defining the `prometheus_labels` method in the worker class:
|
86
98
|
|
87
|
-
```
|
99
|
+
```ruby
|
88
100
|
class SomeWorker
|
89
101
|
include Sidekiq::Worker
|
90
102
|
|
@@ -133,7 +145,7 @@ These require `SidekiqPrometheus.gc_metrics_enabled? == true` and `SidekiqPromet
|
|
133
145
|
|
134
146
|
These require `SidekiqPrometheus.global_metrics_enabled? == true` and `SidekiqPrometheus.periodic_metrics_enabled? == true`
|
135
147
|
|
136
|
-
Periodic metric reporting relies
|
148
|
+
Periodic metric reporting relies on Sidekiq Enterprise's leader election functionality ([Ent Leader Election ](https://github.com/mperham/sidekiq/wiki/Ent-Leader-Election))
|
137
149
|
which ensures that metrics are only reported once per cluster.
|
138
150
|
|
139
151
|
| Metric | Type | Description |
|
@@ -154,6 +166,78 @@ which ensures that metrics are only reported once per cluster.
|
|
154
166
|
|
155
167
|
The global metrics are reported with the only the `base_labels` with the exception of `sidekiq_enqueued` which will add a `queue` label and record a metric per Sidekiq queue.
|
156
168
|
|
169
|
+
## Custom Worker Metrics
|
170
|
+
|
171
|
+
There are a few different ways to register custom metrics with SidekiqPrometheus. Each custom metric should be defined as a Hash with the following form:
|
172
|
+
|
173
|
+
```ruby
|
174
|
+
{
|
175
|
+
name: :metric_name,
|
176
|
+
type: :gauge,
|
177
|
+
docstring: 'description',
|
178
|
+
base_labels: { label_name: 'label_text' },
|
179
|
+
}
|
180
|
+
```
|
181
|
+
|
182
|
+
* `:name` (required) - Unique name of the metric and should be a symbol.
|
183
|
+
* `:type` (required) - Prometheus metric type. Supported values are: `:counter`, `:gauge`, `:histogram`, and `:summary`.
|
184
|
+
* `:docstring` (required) - Human readable description of the metric.
|
185
|
+
* `:base_labels` (optional) - Hash of labels that will be applied to every instance of this metric.
|
186
|
+
|
187
|
+
#### Registering custom metrics:
|
188
|
+
|
189
|
+
Registering a set of custom metrics is done by defining `custom_metrics` in the `configure` block:
|
190
|
+
|
191
|
+
```ruby
|
192
|
+
SidekiqPrometheus.configure do |config|
|
193
|
+
config.custom_metrics = [
|
194
|
+
{ name: :imported_records, type: :counter, :docstring: 'Count of successfully imported records' },
|
195
|
+
{ name: :failed_records, type: counter:, :docstring: 'Count of failed records' },
|
196
|
+
]
|
197
|
+
end
|
198
|
+
```
|
199
|
+
|
200
|
+
Metrics can also be registered directly. This must done *after* `SidekiqPrometheus.configure` or `setup` has been run.
|
201
|
+
|
202
|
+
```ruby
|
203
|
+
SidekiqPrometheus::Metrics.register(name: :logged_in_users, type: :gauge, docstring: 'Logged in users')
|
204
|
+
```
|
205
|
+
|
206
|
+
There is also a method to register more than one metric at a time:
|
207
|
+
|
208
|
+
```ruby
|
209
|
+
customer_worker_metrics = [
|
210
|
+
{
|
211
|
+
name: :file_count, type: :counter, docstring: 'Number of active files',
|
212
|
+
name: :file_size, type: :gauge, docstring: 'Size of files in bytes',
|
213
|
+
}
|
214
|
+
]
|
215
|
+
|
216
|
+
SidekiqPrometheus::Metrics.register_metrics(customer_worker_metrics)
|
217
|
+
```
|
218
|
+
|
219
|
+
#### Using custom metrics:
|
220
|
+
|
221
|
+
Once metrics are registered they can be used in your Sidekiq workers.
|
222
|
+
|
223
|
+
```ruby
|
224
|
+
class ImportWorker
|
225
|
+
include Sidekiq::Worker
|
226
|
+
|
227
|
+
LABELS = {}
|
228
|
+
|
229
|
+
def perform(*args)
|
230
|
+
# worker code
|
231
|
+
|
232
|
+
SidekiqPrometheus[:file_count].increment(LABELS, new_file_count)
|
233
|
+
SidekiqPrometheus[:file_size].set(LABELS, total_file_size)
|
234
|
+
end
|
235
|
+
|
236
|
+
end
|
237
|
+
```
|
238
|
+
|
239
|
+
See the [documentation of the Prometheus::Client library](https://github.com/prometheus/client_ruby) for all of the available options for setting metric values.
|
240
|
+
|
157
241
|
## Development
|
158
242
|
|
159
243
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -162,7 +246,7 @@ To install this gem onto your local machine, run `bundle exec rake install`.
|
|
162
246
|
|
163
247
|
## Contributing
|
164
248
|
|
165
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/fastly/
|
249
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/fastly/sidekiq-prometheus. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
166
250
|
|
167
251
|
## Copyright
|
168
252
|
|
@@ -174,4 +258,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
174
258
|
|
175
259
|
## Code of Conduct
|
176
260
|
|
177
|
-
Everyone interacting in the SidekiqPrometheus project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/
|
261
|
+
Everyone interacting in the SidekiqPrometheus project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/fastly/sidekiq-prometheus/blob/master/CODE_OF_CONDUCT.md).
|
data/lib/sidekiq_prometheus.rb
CHANGED
@@ -20,6 +20,21 @@ module SidekiqPrometheus
|
|
20
20
|
# @return [Hash] Custom labels applied to specific metrics
|
21
21
|
attr_accessor :custom_labels
|
22
22
|
|
23
|
+
# @return [Array] Custom metrics that will be registered on setup.
|
24
|
+
# @example
|
25
|
+
# [
|
26
|
+
# {
|
27
|
+
# name: :metric_name,
|
28
|
+
# type: :prometheus_metric_type,
|
29
|
+
# docstring: 'Description of the metric',
|
30
|
+
# base_labels : { label: 'value' },
|
31
|
+
# }
|
32
|
+
# ]
|
33
|
+
# @note Each element of the array is a hash and must have the required keys: `:name`, `:type`, and `:docstring`.
|
34
|
+
# The values for `:name` and `:type` should be symbols and `:docstring` should be a string.
|
35
|
+
# `base_labels` is optional and, if used, must be a hash of labels that will be included on every instance of this metric.
|
36
|
+
attr_accessor :custom_metrics
|
37
|
+
|
23
38
|
# @return [Boolean] Setting to control enabling/disabling GC metrics. Default: true
|
24
39
|
attr_accessor :gc_metrics_enabled
|
25
40
|
|
@@ -42,6 +57,9 @@ module SidekiqPrometheus
|
|
42
57
|
# Orverride the default Prometheus Metric Registry
|
43
58
|
# @return [Prometheus::Client::Registry]
|
44
59
|
attr_writer :registry
|
60
|
+
|
61
|
+
# @private
|
62
|
+
attr_writer :setup_complete
|
45
63
|
end
|
46
64
|
|
47
65
|
self.gc_metrics_enabled = true
|
@@ -50,6 +68,7 @@ module SidekiqPrometheus
|
|
50
68
|
self.periodic_reporting_interval = 30
|
51
69
|
self.metrics_port = 9359
|
52
70
|
self.custom_labels = {}
|
71
|
+
self.custom_metrics = []
|
53
72
|
|
54
73
|
module_function
|
55
74
|
|
@@ -60,7 +79,7 @@ module SidekiqPrometheus
|
|
60
79
|
end
|
61
80
|
|
62
81
|
##
|
63
|
-
# Configure SidekiqPrometheus
|
82
|
+
# Configure SidekiqPrometheus and setup for reporting
|
64
83
|
# @example
|
65
84
|
# SidekiqPrometheus.configure do |config|
|
66
85
|
# config.base_labels = { service: 'images_api' }
|
@@ -69,16 +88,11 @@ module SidekiqPrometheus
|
|
69
88
|
# end
|
70
89
|
def configure
|
71
90
|
yield self
|
72
|
-
end
|
73
|
-
|
74
|
-
##
|
75
|
-
# Configure and call setup immediately after
|
76
|
-
def configure!
|
77
|
-
yield self
|
78
91
|
setup
|
79
92
|
end
|
80
93
|
|
81
|
-
|
94
|
+
alias configure! configure
|
95
|
+
|
82
96
|
# Helper method for +gc_metrics_enabled+ configuration setting
|
83
97
|
# @return [Boolean] defaults to true
|
84
98
|
def gc_metrics_enabled?
|
@@ -117,17 +131,33 @@ module SidekiqPrometheus
|
|
117
131
|
# Prometheus client metric registry
|
118
132
|
# @return [Prometheus::Client::Registry]
|
119
133
|
def registry
|
120
|
-
@registry ||= client.
|
134
|
+
@registry ||= client::Registry.new
|
135
|
+
end
|
136
|
+
|
137
|
+
##
|
138
|
+
# Register custom metrics
|
139
|
+
# Internal method called by +setup+. This method should not be called from application code in most cases.
|
140
|
+
def register_custom_metrics
|
141
|
+
return if custom_metrics.empty?
|
142
|
+
|
143
|
+
raise SidekiqPrometheus::Error, 'custom_metrics is not an array.' unless custom_metrics.is_a?(Array)
|
144
|
+
|
145
|
+
SidekiqPrometheus::Metrics.register_metrics(custom_metrics)
|
121
146
|
end
|
122
147
|
|
123
148
|
##
|
124
149
|
# register metrics and instrument sidekiq
|
125
150
|
def setup
|
151
|
+
return false if @setup_complete
|
126
152
|
SidekiqPrometheus::Metrics.register_sidekiq_job_metrics
|
127
153
|
SidekiqPrometheus::Metrics.register_sidekiq_gc_metric if gc_metrics_enabled?
|
128
154
|
SidekiqPrometheus::Metrics.register_sidekiq_worker_gc_metrics if gc_metrics_enabled? && periodic_metrics_enabled?
|
129
155
|
SidekiqPrometheus::Metrics.register_sidekiq_global_metrics if global_metrics_enabled? && periodic_metrics_enabled?
|
156
|
+
register_custom_metrics
|
157
|
+
|
130
158
|
sidekiq_setup
|
159
|
+
|
160
|
+
self.setup_complete = true
|
131
161
|
end
|
132
162
|
|
133
163
|
##
|
@@ -163,14 +193,10 @@ module SidekiqPrometheus
|
|
163
193
|
)
|
164
194
|
end
|
165
195
|
end
|
166
|
-
|
167
|
-
private
|
168
|
-
|
169
|
-
def metrics
|
170
|
-
SidekiqPrometheus::Metrics
|
171
|
-
end
|
172
196
|
end
|
173
197
|
|
198
|
+
class SidekiqPrometheus::Error < StandardError; end
|
199
|
+
|
174
200
|
require 'sidekiq_prometheus/job_metrics'
|
175
201
|
require 'sidekiq_prometheus/metrics'
|
176
202
|
require 'sidekiq_prometheus/periodic_metrics'
|
data/sidekiq_prometheus.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ['lib']
|
23
23
|
|
24
|
-
spec.add_development_dependency 'bundler'
|
24
|
+
spec.add_development_dependency 'bundler'
|
25
25
|
spec.add_development_dependency 'pry'
|
26
26
|
spec.add_development_dependency 'rake', '~> 10.0'
|
27
27
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq_prometheus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lukas Eklund
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: pry
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,9 +129,12 @@ executables: []
|
|
129
129
|
extensions: []
|
130
130
|
extra_rdoc_files: []
|
131
131
|
files:
|
132
|
+
- ".chglog/CHANGELOG.tpl.md"
|
133
|
+
- ".chglog/config.yml"
|
132
134
|
- ".gitignore"
|
133
135
|
- ".rubocop.yml"
|
134
136
|
- ".travis.yml"
|
137
|
+
- CHANGELOG.md
|
135
138
|
- CODE_OF_CONDUCT.md
|
136
139
|
- Gemfile
|
137
140
|
- LICENSE.txt
|
@@ -165,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
168
|
version: '0'
|
166
169
|
requirements: []
|
167
170
|
rubyforge_project:
|
168
|
-
rubygems_version: 2.7.
|
171
|
+
rubygems_version: 2.7.9
|
169
172
|
signing_key:
|
170
173
|
specification_version: 4
|
171
174
|
summary: Prometheus Instrumentation for Sidekiq
|