sidekiq-datadog-monitor 0.1.2 → 0.1.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 +4 -4
- data/README.md +5 -4
- data/lib/sidekiq/datadog/monitor.rb +1 -1
- data/lib/sidekiq/datadog/monitor/data.rb +11 -13
- data/lib/sidekiq/datadog/monitor/metrics_worker.rb +4 -4
- data/lib/sidekiq/datadog/monitor/version.rb +1 -1
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f39776d67b0d9e04bcba82941af3b959286238613a9caf3a5a4441bafab2be7
|
4
|
+
data.tar.gz: 7c09d4302aa6ba33fcb47594b0fd07258e8ac223d4f8b7ecc305e98f537b8d16
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ed5f31a56a46e1bb3296cc99025ea68c098c41528cba06c92e4892762ec86a4decfc9989cd30ea7a38d50a0666d53459b9cd25aad1109af676e4e1c9598c31b
|
7
|
+
data.tar.gz: ae0dfb2ded81b2b23a476b8269366d164d9aea9b3a8d1f021e6e449503b5346ebdec18901c276684e816197771c9db33b2cc11bef009685ae5c6dca57a1ff5c1
|
data/README.md
CHANGED
@@ -31,9 +31,8 @@ require 'sidekiq/datadog/monitor/data'
|
|
31
31
|
Sidekiq::Datadog::Monitor::Data.initialize!(
|
32
32
|
{agent_host: 'localhost',
|
33
33
|
agent_port: 8125,
|
34
|
-
|
35
|
-
|
36
|
-
queue: 'queue name', # optional
|
34
|
+
queue: 'queue name',
|
35
|
+
tags: ['env:production', 'product:product_name'], # optional
|
37
36
|
cron: "*/30 * * * *" # default: "*/1 * * * *"
|
38
37
|
}
|
39
38
|
)
|
@@ -41,7 +40,9 @@ Sidekiq::Datadog::Monitor::Data.initialize!(
|
|
41
40
|
```
|
42
41
|
`agent_host` and `agent_port` instantiate DogStatsD client
|
43
42
|
|
44
|
-
`
|
43
|
+
`queue` setting for background job that will gather and send Sidekiq metrics
|
44
|
+
|
45
|
+
`tags` tags for datadog metrics
|
45
46
|
|
46
47
|
`cron` - schedule settings for background job that will gather and send Sidekiq metrics
|
47
48
|
|
@@ -6,30 +6,28 @@ module Sidekiq
|
|
6
6
|
attr_reader :agent_port, :agent_host, :tags, :env, :queue, :cron
|
7
7
|
|
8
8
|
def initialize!(options)
|
9
|
-
@agent_port, @agent_host = options.fetch_values(:agent_port, :agent_host)
|
9
|
+
@agent_port, @agent_host, @queue = options.fetch_values(:agent_port, :agent_host, :queue)
|
10
10
|
@tags = options[:tags] || []
|
11
|
-
@
|
12
|
-
@cron = options[:cron] || "*/1 * * * *"
|
11
|
+
@cron = options[:cron] || '*/1 * * * *'
|
13
12
|
|
14
|
-
|
15
|
-
|
13
|
+
Sidekiq.configure_server do |config|
|
14
|
+
SidekiqScheduler::Scheduler.dynamic = true
|
16
15
|
|
17
|
-
|
18
|
-
|
16
|
+
config.on(:startup) do
|
17
|
+
start
|
18
|
+
end
|
19
19
|
end
|
20
|
-
end
|
21
|
-
|
22
20
|
rescue StandardError => e
|
23
|
-
raise Sidekiq::Datadog::Monitor::Error
|
21
|
+
raise Sidekiq::Datadog::Monitor::Error, e.message
|
24
22
|
end
|
25
23
|
|
26
24
|
private
|
27
25
|
|
28
26
|
def start
|
29
|
-
Sidekiq.set_schedule('send_metrics',
|
30
|
-
|
27
|
+
Sidekiq.set_schedule('send_metrics',
|
28
|
+
{ 'cron' => cron, 'class' => 'Sidekiq::Datadog::Monitor::MetricsWorker', 'queue' => queue })
|
31
29
|
end
|
32
|
-
end
|
30
|
+
end
|
33
31
|
end
|
34
32
|
end
|
35
33
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'sidekiq/datadog/monitor/data'
|
2
2
|
require 'datadog/statsd'
|
3
3
|
|
4
4
|
module Sidekiq
|
@@ -8,7 +8,7 @@ module Sidekiq
|
|
8
8
|
include Sidekiq::Worker
|
9
9
|
|
10
10
|
sidekiq_options retry: false
|
11
|
-
|
11
|
+
|
12
12
|
def perform
|
13
13
|
Sidekiq::Stats.new.queues.each_pair do |queue_name, size|
|
14
14
|
post_queue_size(queue_name, size)
|
@@ -25,13 +25,13 @@ module Sidekiq
|
|
25
25
|
|
26
26
|
def post_queue_size(queue_name, size)
|
27
27
|
statsd.gauge('sidekiq.queue.size', size,
|
28
|
-
|
28
|
+
tags: ["queue_name:#{queue_name}"].concat(Data.tags))
|
29
29
|
end
|
30
30
|
|
31
31
|
def post_queue_latency(queue_name)
|
32
32
|
latency = Sidekiq::Queue.new(queue_name).latency
|
33
33
|
statsd.gauge('sidekiq.queue.latency', latency,
|
34
|
-
|
34
|
+
tags: ["queue_name:#{queue_name}"].concat(Data.tags))
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-datadog-monitor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- aleksa_castle
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,34 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.85.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop-performance
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop-rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.38.1
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.38.1
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: sidekiq
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|