sidekiq-datadog 0.3.5 → 0.4.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 +5 -5
- data/.travis.yml +2 -3
- data/Gemfile.lock +22 -22
- data/README.md +39 -1
- data/lib/sidekiq/datadog/version.rb +1 -1
- data/sidekiq-datadog.gemspec +1 -1
- data/spec/sidekiq/middleware/server/datadog_spec.rb +4 -4
- data/spec/spec_helper.rb +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5f4d345b0e6b984519eca3a6e088f387649fc5bbc46d414fc3ed0165f8ca9db7
|
4
|
+
data.tar.gz: 0d9b85a785bea3e9ca60d2a62604c90eef649754a0f6377e32aa115eb0a0eb95
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5da1867bec33ef19c61ac30efe3f37aef687f77c509a1859d69028fbeade3f49ae4543604bbf21a6c16a2ed980f0f025dbc31f7f09f37119b8a39f554e1b4cfa
|
7
|
+
data.tar.gz: 62cff0b0830b3a3caba520257827524fc49f59f307abfb5476d67b96911bb96db3db21d6fbdeccef2586b7f10c7e2bd1925f76601ae85cf872ac1af197cb18c8
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,40 +1,40 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
sidekiq-datadog (0.
|
5
|
-
dogstatsd-ruby (>=
|
4
|
+
sidekiq-datadog (0.4.0)
|
5
|
+
dogstatsd-ruby (>= 3.3.0)
|
6
6
|
sidekiq
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
11
|
concurrent-ruby (1.0.5)
|
12
|
-
connection_pool (2.2.
|
12
|
+
connection_pool (2.2.2)
|
13
13
|
diff-lcs (1.3)
|
14
|
-
dogstatsd-ruby (
|
15
|
-
rack (2.0.
|
16
|
-
rack-protection (
|
14
|
+
dogstatsd-ruby (3.3.0)
|
15
|
+
rack (2.0.5)
|
16
|
+
rack-protection (2.0.3)
|
17
17
|
rack
|
18
|
-
rake (12.
|
19
|
-
redis (
|
20
|
-
rspec (3.
|
21
|
-
rspec-core (~> 3.
|
22
|
-
rspec-expectations (~> 3.
|
23
|
-
rspec-mocks (~> 3.
|
24
|
-
rspec-core (3.
|
25
|
-
rspec-support (~> 3.
|
26
|
-
rspec-expectations (3.
|
18
|
+
rake (12.3.1)
|
19
|
+
redis (4.0.1)
|
20
|
+
rspec (3.7.0)
|
21
|
+
rspec-core (~> 3.7.0)
|
22
|
+
rspec-expectations (~> 3.7.0)
|
23
|
+
rspec-mocks (~> 3.7.0)
|
24
|
+
rspec-core (3.7.1)
|
25
|
+
rspec-support (~> 3.7.0)
|
26
|
+
rspec-expectations (3.7.0)
|
27
27
|
diff-lcs (>= 1.2.0, < 2.0)
|
28
|
-
rspec-support (~> 3.
|
29
|
-
rspec-mocks (3.
|
28
|
+
rspec-support (~> 3.7.0)
|
29
|
+
rspec-mocks (3.7.0)
|
30
30
|
diff-lcs (>= 1.2.0, < 2.0)
|
31
|
-
rspec-support (~> 3.
|
32
|
-
rspec-support (3.
|
33
|
-
sidekiq (
|
31
|
+
rspec-support (~> 3.7.0)
|
32
|
+
rspec-support (3.7.1)
|
33
|
+
sidekiq (5.1.3)
|
34
34
|
concurrent-ruby (~> 1.0)
|
35
35
|
connection_pool (~> 2.2, >= 2.2.0)
|
36
36
|
rack-protection (>= 1.5.0)
|
37
|
-
redis (
|
37
|
+
redis (>= 3.3.5, < 5)
|
38
38
|
|
39
39
|
PLATFORMS
|
40
40
|
ruby
|
@@ -46,4 +46,4 @@ DEPENDENCIES
|
|
46
46
|
sidekiq-datadog!
|
47
47
|
|
48
48
|
BUNDLED WITH
|
49
|
-
1.
|
49
|
+
1.16.2
|
data/README.md
CHANGED
@@ -21,7 +21,45 @@ Configure it in an initializer:
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
|
24
|
+
## Options
|
25
|
+
|
26
|
+
Options can be configured to be passed to the middleware constructor when it is added to the
|
27
|
+
chain
|
28
|
+
|
29
|
+
Sidekiq.configure_server do |config|
|
30
|
+
config.server_middleware do |chain|
|
31
|
+
chain.add(Sidekiq::Middleware::Server::Datadog, statsd_port: 3334)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
Custom tags can be configured using the `tags:` property
|
36
|
+
|
37
|
+
Sidekiq.configure_server do |config|
|
38
|
+
config.server_middleware do |chain|
|
39
|
+
chain.add(Sidekiq::Middleware::Server::Datadog, tags: ['runtime:jruby'])
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
Dynamic tags can be configured by passing a lambda in the tags array. It is
|
44
|
+
executed at runtime when the job is processed
|
45
|
+
|
46
|
+
Sidekiq.configure_server do |config|
|
47
|
+
config.server_middleware do |chain|
|
48
|
+
chain.add(Sidekiq::Middleware::Server::Datadog, tags: [->(worker, job, queue, error){
|
49
|
+
"source:#{job['source']}"
|
50
|
+
}])
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
#### supported options
|
55
|
+
- *hostname* - the hostname used for instrumentation, defaults to system hostname. Can also be set with the `INSTRUMENTATION_HOSTNAME` env var.
|
56
|
+
- *metric_name* - the metric name (prefix) to use, defaults to "sidekiq.job".
|
57
|
+
- *tags* - array of custom tags. These can be plain strings or lambda blocks
|
58
|
+
- *statsd_host* - the statsD host, defaults to "localhost". Can also be set with the `STATSD_HOST` env var
|
59
|
+
- *statsd_port* - the statsD port, defaults to 8125. Can also be set with the `STATSD_PORT` env var
|
60
|
+
- *statsd* - custom statsd instance
|
61
|
+
|
62
|
+
For more detailed configuration options, please see the [Documentation](http://www.rubydoc.info/gems/sidekiq-datadog).
|
25
63
|
|
26
64
|
## Contributing
|
27
65
|
|
data/sidekiq-datadog.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.require_paths = ["lib"]
|
19
19
|
|
20
20
|
s.add_runtime_dependency(%q<sidekiq>)
|
21
|
-
s.add_runtime_dependency(%q<dogstatsd-ruby>, ">=
|
21
|
+
s.add_runtime_dependency(%q<dogstatsd-ruby>, ">= 3.3.0")
|
22
22
|
|
23
23
|
s.add_development_dependency(%q<rake>)
|
24
24
|
s.add_development_dependency(%q<bundler>)
|
@@ -5,12 +5,12 @@ describe Sidekiq::Middleware::Server::Datadog do
|
|
5
5
|
let(:statsd) { Mock::Statsd.new(nil, nil, {}, 10000) }
|
6
6
|
let(:worker) { Mock::Worker.new }
|
7
7
|
|
8
|
-
before { statsd.
|
8
|
+
before { statsd.written.clear }
|
9
9
|
subject { described_class.new hostname: "test.host", statsd: statsd, tags: ["custom:tag", lambda{|w, *| "worker:#{w.class.name[1..2]}" }] }
|
10
10
|
|
11
11
|
it 'should send an increment and timing event for each job run' do
|
12
12
|
subject.call(worker, { 'enqueued_at' => 1461881794.9312189 }, 'default') { "ok" }
|
13
|
-
expect(statsd.
|
13
|
+
expect(statsd.written).to eq([
|
14
14
|
"sidekiq.job:1|c|#custom:tag,worker:oc,host:test.host,env:test,name:mock/worker,queue:default,status:ok",
|
15
15
|
"sidekiq.job.time:333|ms|#custom:tag,worker:oc,host:test.host,env:test,name:mock/worker,queue:default,status:ok",
|
16
16
|
"sidekiq.job.queued_time:333|ms|#custom:tag,worker:oc,host:test.host,env:test,name:mock/worker,queue:default,status:ok",
|
@@ -19,7 +19,7 @@ describe Sidekiq::Middleware::Server::Datadog do
|
|
19
19
|
|
20
20
|
it 'should support wrappers' do
|
21
21
|
subject.call(worker, { 'enqueued_at' => 1461881794.9312189, 'wrapped' => 'wrap'}, nil) { "ok" }
|
22
|
-
expect(statsd.
|
22
|
+
expect(statsd.written).to eq([
|
23
23
|
"sidekiq.job:1|c|#custom:tag,worker:oc,host:test.host,env:test,name:wrap,status:ok",
|
24
24
|
"sidekiq.job.time:333|ms|#custom:tag,worker:oc,host:test.host,env:test,name:wrap,status:ok",
|
25
25
|
"sidekiq.job.queued_time:333|ms|#custom:tag,worker:oc,host:test.host,env:test,name:wrap,status:ok",
|
@@ -31,7 +31,7 @@ describe Sidekiq::Middleware::Server::Datadog do
|
|
31
31
|
subject.call(worker, {}, nil) { raise RuntimeError, "doh!" }
|
32
32
|
}).to raise_error("doh!")
|
33
33
|
|
34
|
-
expect(statsd.
|
34
|
+
expect(statsd.written).to eq([
|
35
35
|
"sidekiq.job:1|c|#custom:tag,worker:oc,host:test.host,env:test,name:mock/worker,status:error,error:runtime",
|
36
36
|
"sidekiq.job.time:333|ms|#custom:tag,worker:oc,host:test.host,env:test,name:mock/worker,status:error,error:runtime",
|
37
37
|
])
|
data/spec/spec_helper.rb
CHANGED
@@ -11,7 +11,7 @@ module Mock
|
|
11
11
|
|
12
12
|
class Statsd < ::Datadog::Statsd
|
13
13
|
def timing(stat, ms, opts={}); super(stat, 333, opts); end
|
14
|
-
def
|
15
|
-
|
14
|
+
def send_to_socket(message); written.push(message); end
|
15
|
+
def written; @written ||= []; end
|
16
16
|
end
|
17
17
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-datadog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dimitrij Denissenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sidekiq
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 3.3.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 3.3.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
120
|
version: '0'
|
121
121
|
requirements: []
|
122
122
|
rubyforge_project:
|
123
|
-
rubygems_version: 2.
|
123
|
+
rubygems_version: 2.7.7
|
124
124
|
signing_key:
|
125
125
|
specification_version: 4
|
126
126
|
summary: Datadog metrics for sidekiq
|