evil-metrics-sidekiq 0.1.0 → 0.1.1
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/README.md +19 -32
- data/lib/evil/metrics/sidekiq.rb +18 -3
- data/lib/evil/metrics/sidekiq/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d8fb6bbeb42739176e5fb140daf63be8e3d609a888527f97b4835ac4f6b0136
|
4
|
+
data.tar.gz: e55265b9c18f7f1931afb63020208edcb0d121c36414d69591db38cd0d66b234
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d57c91697e9f580682e4cc52ad34209a0887c26227e020d0e5162b230487bcf0af2d212936ab3933f1fa8019a566ef5028c9734c789f6cc4a3f58495852e0df6
|
7
|
+
data.tar.gz: 2abc6c3e185de6a849bf6adf1ff9490fcec9b4f64015897755eda02a505ff52f815fac89a3c270ad4055f9fc2323d5fd2e65296fb8da137d3d1afa0b2943934f
|
data/README.md
CHANGED
@@ -1,44 +1,29 @@
|
|
1
1
|
# Evil::Metrics::[Sidekiq]
|
2
2
|
|
3
|
-
Built-in metrics for [Sidekiq] monitoring out of the box!
|
3
|
+
Built-in metrics for [Sidekiq] monitoring out of the box! Part of the [evil-metrics] suite.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
-
|
7
|
+
```ruby
|
8
|
+
gem 'evil-metrics-rails'
|
9
|
+
# Then add monitoring system adapter, e.g.:
|
10
|
+
# gem 'evil-metrics-prometheus'
|
11
|
+
```
|
8
12
|
|
9
|
-
|
10
|
-
gem 'evil-metrics-rails'
|
11
|
-
# Then add monitoring system adapter, e.g.:
|
12
|
-
# gem 'evil-metrics-prometheus'
|
13
|
-
```
|
13
|
+
And then execute:
|
14
14
|
|
15
|
-
|
15
|
+
$ bundle
|
16
16
|
|
17
|
-
|
17
|
+
**And that is it!** Sidekiq metrics are being collected!
|
18
18
|
|
19
|
+
Additionally, depending on your adapter, you may want to setup metrics export. E.g. for [evil-metrics-prometheus]:
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
config.server_middleware do |chain|
|
27
|
-
chain.add Evil::Metrics::Sidekiq::ServerMiddleware
|
28
|
-
end
|
29
|
-
# Additional setup may be required depending on adapter. E.g. for prometheus:
|
30
|
-
# Evil::Metrics::Prometheus::Exporter.start_metrics_server!
|
31
|
-
end
|
32
|
-
|
33
|
-
Sidekiq.configure_client do |config|
|
34
|
-
config.redis = your_redis_credentials
|
35
|
-
config.client_middleware do |chain|
|
36
|
-
chain.add Evil::Metrics::Sidekiq::ClientMiddleware
|
37
|
-
end
|
38
|
-
end
|
39
|
-
```
|
40
|
-
|
41
|
-
3. You're done!
|
21
|
+
```ruby
|
22
|
+
# config/initializers/sidekiq or elsewhere
|
23
|
+
Sidekiq.configure_server do |_config|
|
24
|
+
Evil::Metrics::Prometheus::Exporter.start_metrics_server!
|
25
|
+
end
|
26
|
+
```
|
42
27
|
|
43
28
|
## Metrics
|
44
29
|
|
@@ -59,7 +44,7 @@ Built-in metrics for [Sidekiq] monitoring out of the box!
|
|
59
44
|
|
60
45
|
It should be disabled by default as it requires to iterate over all jobs in sets and may be very slow on large sets.
|
61
46
|
|
62
|
-
- Maybe hooks for ease of plugging in metrics for myriads of Sidekiq plugins?
|
47
|
+
- Maybe add some hooks for ease of plugging in metrics for myriads of Sidekiq plugins?
|
63
48
|
|
64
49
|
## Development
|
65
50
|
|
@@ -76,3 +61,5 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/evil-m
|
|
76
61
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
77
62
|
|
78
63
|
[Sidekiq]: https://github.com/mperham/sidekiq/ "Simple, efficient background processing for Ruby"
|
64
|
+
[evil-metrics]: https://github.com/evil-metrics/evil-metrics
|
65
|
+
[evil-metrics-prometheus]: https://github.com/evil-metrics/evil-metrics-prometheus
|
data/lib/evil/metrics/sidekiq.rb
CHANGED
@@ -58,12 +58,27 @@ module Evil
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
+
::Sidekiq.configure_server do |config|
|
62
|
+
config.server_middleware do |chain|
|
63
|
+
chain.add ServerMiddleware
|
64
|
+
end
|
65
|
+
config.client_middleware do |chain|
|
66
|
+
chain.add ClientMiddleware
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
::Sidekiq.configure_client do |config|
|
71
|
+
config.client_middleware do |chain|
|
72
|
+
chain.add ClientMiddleware
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
61
76
|
class << self
|
62
|
-
def labelize(worker,
|
63
|
-
{ queue: queue, worker: worker_class(worker) }
|
77
|
+
def labelize(worker, job, queue)
|
78
|
+
{ queue: queue, worker: worker_class(worker, job) }
|
64
79
|
end
|
65
80
|
|
66
|
-
def worker_class(worker)
|
81
|
+
def worker_class(worker, job)
|
67
82
|
if defined?(ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper)
|
68
83
|
return job["wrapped"] if worker.is_a?(ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper)
|
69
84
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evil-metrics-sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrey Novikov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: evil-metrics
|