nsa 0.2.1 → 0.2.8
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/.gitignore +2 -0
- data/.travis.yml +2 -2
- data/lib/nsa/statsd/publisher.rb +5 -3
- data/lib/nsa/statsd/subscriber.rb +3 -4
- data/lib/nsa/version.rb +1 -1
- data/nsa.gemspec +12 -11
- metadata +53 -37
- data/tags +0 -63
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: abd4fef5644f8f3c61e7aa019dcdc65a9b7b5438aef6627d6217547c8aba5ba6
|
4
|
+
data.tar.gz: b5c9663cdb0e4bcb08dc187bee2be634c44634da57b3e4b5492844c668480cc5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c862df27c47bf19b7ca6441eb227cb4d66e81109bf07735730f55dbafa2fee389a69784331894496fce61f8df4fb6404e138496e862d65055fdd652b24a201a
|
7
|
+
data.tar.gz: 5d589a6580a300497f2bd98e1bc7733363e1a6cad6420834360d5b578f82617a4330bedc410a83dfae5067a40b4a1c6bff2c23ca9a0f322016a9fc37117aee37
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/lib/nsa/statsd/publisher.rb
CHANGED
@@ -23,18 +23,20 @@ module NSA
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def statsd_time(key, sample_rate = nil, &block)
|
26
|
-
|
26
|
+
start = Time.now
|
27
|
+
result = block.call unless block.nil?
|
28
|
+
statsd_timing(key, ((Time.now - start) * 1000).round, sample_rate)
|
29
|
+
result
|
27
30
|
end
|
28
31
|
|
29
32
|
def statsd_timing(key, value = 1, sample_rate = nil)
|
30
33
|
__statsd_publish(:timing, key, value, sample_rate)
|
31
34
|
end
|
32
35
|
|
33
|
-
def __statsd_publish(stat_type, key, value = nil, sample_rate = nil
|
36
|
+
def __statsd_publish(stat_type, key, value = nil, sample_rate = nil)
|
34
37
|
payload = { :key => key }
|
35
38
|
payload.merge!({ :value => value }) if value
|
36
39
|
payload.merge!({ :sample_rate => sample_rate }) if sample_rate
|
37
|
-
payload.merge!({ :block => block }) if block_given?
|
38
40
|
|
39
41
|
::ActiveSupport::Notifications.instrument("#{stat_type}.statsd", payload)
|
40
42
|
end
|
@@ -21,14 +21,13 @@ module NSA
|
|
21
21
|
|
22
22
|
key_name = payload[:key]
|
23
23
|
sample_rate = payload.fetch(:sample_rate, 1)
|
24
|
-
block = payload[:block]
|
25
24
|
|
26
25
|
case action.to_sym
|
27
26
|
when :count, :timing, :set, :gauge then
|
28
27
|
value = payload.fetch(:value) { 1 }
|
29
|
-
backend.__send__(action, key_name, value, sample_rate
|
30
|
-
when :increment, :decrement
|
31
|
-
backend.__send__(action, key_name, sample_rate
|
28
|
+
backend.__send__(action, key_name, value, sample_rate)
|
29
|
+
when :increment, :decrement then
|
30
|
+
backend.__send__(action, key_name, sample_rate)
|
32
31
|
end
|
33
32
|
end
|
34
33
|
|
data/lib/nsa/version.rb
CHANGED
data/nsa.gemspec
CHANGED
@@ -9,23 +9,24 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["BJ Neilsen"]
|
10
10
|
spec.email = ["bj.neilsen@gmail.com"]
|
11
11
|
|
12
|
-
spec.summary = %q{
|
13
|
-
spec.description =
|
14
|
-
spec.homepage = "https://
|
12
|
+
spec.summary = %q{Publish Rails application metrics to statsd}
|
13
|
+
spec.description = %q{Listen to your Rails ActiveSupport::Notifications and deliver to a Statsd compatible backend}
|
14
|
+
spec.homepage = "https://github.com/localshred/nsa"
|
15
|
+
spec.licenses = ["MIT"]
|
15
16
|
|
16
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
18
|
spec.bindir = "exe"
|
18
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
20
|
spec.require_paths = ["lib"]
|
20
21
|
|
21
|
-
spec.add_dependency "activesupport", "
|
22
|
-
spec.add_dependency "concurrent-ruby", "~> 1.0.0"
|
23
|
-
spec.add_dependency "sidekiq", ">= 3.5
|
24
|
-
spec.add_dependency "statsd-ruby", "~> 1.
|
22
|
+
spec.add_dependency "activesupport", "< 7", ">= 4.2"
|
23
|
+
spec.add_dependency "concurrent-ruby", "~> 1.0", ">= 1.0.2"
|
24
|
+
spec.add_dependency "sidekiq", ">= 3.5"
|
25
|
+
spec.add_dependency "statsd-ruby", "~> 1.4", ">= 1.4.0"
|
25
26
|
|
26
|
-
spec.add_development_dependency "bundler", "~> 1
|
27
|
+
spec.add_development_dependency "bundler", "~> 2.1"
|
27
28
|
spec.add_development_dependency "rake", "~> 10.0"
|
28
|
-
spec.add_development_dependency "minitest"
|
29
|
-
spec.add_development_dependency "mocha"
|
30
|
-
spec.add_development_dependency "byebug"
|
29
|
+
spec.add_development_dependency "minitest", "~> 5.0"
|
30
|
+
spec.add_development_dependency "mocha", "~> 1.11"
|
31
|
+
spec.add_development_dependency "byebug", "~> 10"
|
31
32
|
end
|
metadata
CHANGED
@@ -1,85 +1,103 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nsa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BJ Neilsen
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "<"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '7'
|
20
|
+
- - ">="
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version: 4.2
|
22
|
+
version: '4.2'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - "<"
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
29
|
+
version: '7'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '4.2'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: concurrent-ruby
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.0
|
39
|
+
version: '1.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.0.2
|
34
43
|
type: :runtime
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
47
|
- - "~>"
|
39
48
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.0
|
49
|
+
version: '1.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.0.2
|
41
53
|
- !ruby/object:Gem::Dependency
|
42
54
|
name: sidekiq
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
44
56
|
requirements:
|
45
57
|
- - ">="
|
46
58
|
- !ruby/object:Gem::Version
|
47
|
-
version: 3.5
|
59
|
+
version: '3.5'
|
48
60
|
type: :runtime
|
49
61
|
prerelease: false
|
50
62
|
version_requirements: !ruby/object:Gem::Requirement
|
51
63
|
requirements:
|
52
64
|
- - ">="
|
53
65
|
- !ruby/object:Gem::Version
|
54
|
-
version: 3.5
|
66
|
+
version: '3.5'
|
55
67
|
- !ruby/object:Gem::Dependency
|
56
68
|
name: statsd-ruby
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
58
70
|
requirements:
|
59
71
|
- - "~>"
|
60
72
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
73
|
+
version: '1.4'
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 1.4.0
|
62
77
|
type: :runtime
|
63
78
|
prerelease: false
|
64
79
|
version_requirements: !ruby/object:Gem::Requirement
|
65
80
|
requirements:
|
66
81
|
- - "~>"
|
67
82
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
83
|
+
version: '1.4'
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 1.4.0
|
69
87
|
- !ruby/object:Gem::Dependency
|
70
88
|
name: bundler
|
71
89
|
requirement: !ruby/object:Gem::Requirement
|
72
90
|
requirements:
|
73
91
|
- - "~>"
|
74
92
|
- !ruby/object:Gem::Version
|
75
|
-
version: '1
|
93
|
+
version: '2.1'
|
76
94
|
type: :development
|
77
95
|
prerelease: false
|
78
96
|
version_requirements: !ruby/object:Gem::Requirement
|
79
97
|
requirements:
|
80
98
|
- - "~>"
|
81
99
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1
|
100
|
+
version: '2.1'
|
83
101
|
- !ruby/object:Gem::Dependency
|
84
102
|
name: rake
|
85
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,46 +116,46 @@ dependencies:
|
|
98
116
|
name: minitest
|
99
117
|
requirement: !ruby/object:Gem::Requirement
|
100
118
|
requirements:
|
101
|
-
- - "
|
119
|
+
- - "~>"
|
102
120
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
121
|
+
version: '5.0'
|
104
122
|
type: :development
|
105
123
|
prerelease: false
|
106
124
|
version_requirements: !ruby/object:Gem::Requirement
|
107
125
|
requirements:
|
108
|
-
- - "
|
126
|
+
- - "~>"
|
109
127
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
128
|
+
version: '5.0'
|
111
129
|
- !ruby/object:Gem::Dependency
|
112
130
|
name: mocha
|
113
131
|
requirement: !ruby/object:Gem::Requirement
|
114
132
|
requirements:
|
115
|
-
- - "
|
133
|
+
- - "~>"
|
116
134
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
135
|
+
version: '1.11'
|
118
136
|
type: :development
|
119
137
|
prerelease: false
|
120
138
|
version_requirements: !ruby/object:Gem::Requirement
|
121
139
|
requirements:
|
122
|
-
- - "
|
140
|
+
- - "~>"
|
123
141
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
142
|
+
version: '1.11'
|
125
143
|
- !ruby/object:Gem::Dependency
|
126
144
|
name: byebug
|
127
145
|
requirement: !ruby/object:Gem::Requirement
|
128
146
|
requirements:
|
129
|
-
- - "
|
147
|
+
- - "~>"
|
130
148
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
149
|
+
version: '10'
|
132
150
|
type: :development
|
133
151
|
prerelease: false
|
134
152
|
version_requirements: !ruby/object:Gem::Requirement
|
135
153
|
requirements:
|
136
|
-
- - "
|
154
|
+
- - "~>"
|
137
155
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
156
|
+
version: '10'
|
139
157
|
description: Listen to your Rails ActiveSupport::Notifications and deliver to a Statsd
|
140
|
-
backend
|
158
|
+
compatible backend
|
141
159
|
email:
|
142
160
|
- bj.neilsen@gmail.com
|
143
161
|
executables: []
|
@@ -164,11 +182,11 @@ files:
|
|
164
182
|
- lib/nsa/statsd/subscriber.rb
|
165
183
|
- lib/nsa/version.rb
|
166
184
|
- nsa.gemspec
|
167
|
-
|
168
|
-
|
169
|
-
|
185
|
+
homepage: https://github.com/localshred/nsa
|
186
|
+
licenses:
|
187
|
+
- MIT
|
170
188
|
metadata: {}
|
171
|
-
post_install_message:
|
189
|
+
post_install_message:
|
172
190
|
rdoc_options: []
|
173
191
|
require_paths:
|
174
192
|
- lib
|
@@ -183,10 +201,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
183
201
|
- !ruby/object:Gem::Version
|
184
202
|
version: '0'
|
185
203
|
requirements: []
|
186
|
-
|
187
|
-
|
188
|
-
signing_key:
|
204
|
+
rubygems_version: 3.2.15
|
205
|
+
signing_key:
|
189
206
|
specification_version: 4
|
190
|
-
summary:
|
191
|
-
backend.
|
207
|
+
summary: Publish Rails application metrics to statsd
|
192
208
|
test_files: []
|
data/tags
DELETED
@@ -1,63 +0,0 @@
|
|
1
|
-
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
2
|
-
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
3
|
-
!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
|
4
|
-
!_TAG_PROGRAM_NAME Exuberant Ctags //
|
5
|
-
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
|
6
|
-
!_TAG_PROGRAM_VERSION 5.8 //
|
7
|
-
ActionController lib/nsa/collectors/action_controller.rb /^ module ActionController$/;" m class:NSA.Collectors
|
8
|
-
ActiveRecord lib/nsa/collectors/active_record.rb /^ module ActiveRecord$/;" m class:NSA.Collectors
|
9
|
-
ActiveSupportCache lib/nsa/collectors/active_support_cache.rb /^ module ActiveSupportCache$/;" m class:NSA.Collectors
|
10
|
-
CACHE_TYPES lib/nsa/collectors/active_support_cache.rb /^ CACHE_TYPES = {$/;" c
|
11
|
-
COLLECTOR_TYPES lib/nsa/statsd_informant.rb /^ COLLECTOR_TYPES = ::Hash.new(::NSA::Collectors::Null).merge({$/;" c
|
12
|
-
Collectors lib/nsa/collectors/action_controller.rb /^ module Collectors$/;" m class:NSA
|
13
|
-
Collectors lib/nsa/collectors/active_record.rb /^ module Collectors$/;" m class:NSA
|
14
|
-
Collectors lib/nsa/collectors/active_support_cache.rb /^ module Collectors$/;" m class:NSA
|
15
|
-
Collectors lib/nsa/collectors/null.rb /^ module Collectors$/;" m class:NSA
|
16
|
-
Collectors lib/nsa/collectors/sidekiq.rb /^ module Collectors$/;" m class:NSA
|
17
|
-
EMPTY_MATCH_RESULT lib/nsa/collectors/active_record.rb /^ EMPTY_MATCH_RESULT = []$/;" c
|
18
|
-
EXPECTED_RESPONDABLE_METHODS lib/nsa/statsd/subscriber.rb /^ EXPECTED_RESPONDABLE_METHODS = %i( count decrement gauge increment set time timing ).freeze$/;" c
|
19
|
-
LoadError lib/nsa/collectors/sidekiq.rb /^ rescue ::LoadError => exception$/;" c
|
20
|
-
MATCHERS lib/nsa/collectors/active_record.rb /^ MATCHERS = [$/;" c
|
21
|
-
NSA lib/nsa.rb /^module NSA$/;" m
|
22
|
-
NSA lib/nsa/collectors/action_controller.rb /^module NSA$/;" m
|
23
|
-
NSA lib/nsa/collectors/active_record.rb /^module NSA$/;" m
|
24
|
-
NSA lib/nsa/collectors/active_support_cache.rb /^module NSA$/;" m
|
25
|
-
NSA lib/nsa/collectors/null.rb /^module NSA$/;" m
|
26
|
-
NSA lib/nsa/collectors/sidekiq.rb /^module NSA$/;" m
|
27
|
-
NSA lib/nsa/statsd/publisher.rb /^module NSA$/;" m
|
28
|
-
NSA lib/nsa/statsd/subscriber.rb /^module NSA$/;" m
|
29
|
-
NSA lib/nsa/statsd_informant.rb /^module NSA$/;" m
|
30
|
-
NSA lib/nsa/version.rb /^module NSA$/;" m
|
31
|
-
Null lib/nsa/collectors/null.rb /^ module Null$/;" m class:NSA.Collectors
|
32
|
-
Publisher lib/nsa/statsd/publisher.rb /^ module Publisher$/;" m class:NSA.Statsd
|
33
|
-
Sidekiq lib/nsa/collectors/sidekiq.rb /^ class Sidekiq$/;" c class:NSA.Collectors
|
34
|
-
Statsd lib/nsa/statsd/publisher.rb /^ module Statsd$/;" m class:NSA
|
35
|
-
Statsd lib/nsa/statsd/subscriber.rb /^ module Statsd$/;" m class:NSA
|
36
|
-
StatsdInformant lib/nsa/statsd_informant.rb /^ module StatsdInformant$/;" m class:NSA
|
37
|
-
Subscriber lib/nsa/statsd/subscriber.rb /^ module Subscriber$/;" m class:NSA.Statsd
|
38
|
-
VERSION lib/nsa/version.rb /^ VERSION = "0.1.4"$/;" c
|
39
|
-
__send_event_to_statsd lib/nsa/statsd/subscriber.rb /^ def __send_event_to_statsd(backend, name, start, finish, id, payload)$/;" f class:NSA.Statsd.Subscriber
|
40
|
-
__statsd_publish lib/nsa/statsd/publisher.rb /^ def __statsd_publish(stat_type, key, value = nil, sample_rate = nil, &block)$/;" f class:NSA.Statsd.Publisher
|
41
|
-
backend_valid? lib/nsa/statsd/subscriber.rb /^ def backend_valid?(backend)$/;" f class:NSA.Statsd.Subscriber
|
42
|
-
call lib/nsa/collectors/sidekiq.rb /^ def call(worker, message, queue_name)$/;" f class:NSA.Collectors.Sidekiq
|
43
|
-
collect lib/nsa/collectors/action_controller.rb /^ def self.collect(key_prefix)$/;" F class:NSA.Collectors.ActionController
|
44
|
-
collect lib/nsa/collectors/active_record.rb /^ def self.collect(key_prefix)$/;" F class:NSA.Collectors.ActiveRecord
|
45
|
-
collect lib/nsa/collectors/active_support_cache.rb /^ def self.collect(key_prefix)$/;" F class:NSA.Collectors.ActiveSupportCache
|
46
|
-
collect lib/nsa/collectors/null.rb /^ def self.collect(*_)$/;" F class:NSA.Collectors.Null
|
47
|
-
collect lib/nsa/collectors/sidekiq.rb /^ def self.collect(key_prefix)$/;" F class:NSA.Collectors.Sidekiq
|
48
|
-
collect lib/nsa/statsd_informant.rb /^ def self.collect(collector, key_prefix)$/;" F class:NSA.StatsdInformant
|
49
|
-
inform_statsd lib/nsa.rb /^ def self.inform_statsd(backend)$/;" F class:NSA
|
50
|
-
initialize lib/nsa/collectors/sidekiq.rb /^ def initialize(key_prefix)$/;" f class:NSA.Collectors.Sidekiq
|
51
|
-
listen lib/nsa/statsd_informant.rb /^ def self.listen(backend)$/;" F class:NSA.StatsdInformant
|
52
|
-
make_key lib/nsa/collectors/sidekiq.rb /^ def make_key(*args)$/;" f class:NSA.Collectors.Sidekiq
|
53
|
-
match_query lib/nsa/collectors/active_record.rb /^ def self.match_query(sql)$/;" F class:NSA.Collectors
|
54
|
-
publish_overall_stats lib/nsa/collectors/sidekiq.rb /^ def publish_overall_stats$/;" f class:NSA.Collectors.Sidekiq
|
55
|
-
publish_queue_size_and_latency lib/nsa/collectors/sidekiq.rb /^ def publish_queue_size_and_latency(queue_name)$/;" f class:NSA.Collectors.Sidekiq
|
56
|
-
statsd_count lib/nsa/statsd/publisher.rb /^ def statsd_count(key, value = 1, sample_rate = nil)$/;" f class:NSA.Statsd.Publisher
|
57
|
-
statsd_decrement lib/nsa/statsd/publisher.rb /^ def statsd_decrement(key, sample_rate = nil)$/;" f class:NSA.Statsd.Publisher
|
58
|
-
statsd_gauge lib/nsa/statsd/publisher.rb /^ def statsd_gauge(key, value = 1, sample_rate = nil)$/;" f class:NSA.Statsd.Publisher
|
59
|
-
statsd_increment lib/nsa/statsd/publisher.rb /^ def statsd_increment(key, sample_rate = nil)$/;" f class:NSA.Statsd.Publisher
|
60
|
-
statsd_set lib/nsa/statsd/publisher.rb /^ def statsd_set(key, value = 1, sample_rate = nil)$/;" f class:NSA.Statsd.Publisher
|
61
|
-
statsd_subscribe lib/nsa/statsd/subscriber.rb /^ def statsd_subscribe(backend)$/;" f class:NSA.Statsd.Subscriber
|
62
|
-
statsd_time lib/nsa/statsd/publisher.rb /^ def statsd_time(key, sample_rate = nil, &block)$/;" f class:NSA.Statsd.Publisher
|
63
|
-
statsd_timing lib/nsa/statsd/publisher.rb /^ def statsd_timing(key, value = 1, sample_rate = nil)$/;" f class:NSA.Statsd.Publisher
|