librato-rack 2.0.1 → 2.0.2
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.
- data.tar.gz.sig +0 -0
- data/CHANGELOG.md +4 -1
- data/README.md +3 -1
- data/lib/librato/rack/validating_queue.rb +8 -4
- data/lib/librato/rack/version.rb +1 -1
- data/test/unit/rack/validating_queue_test.rb +56 -0
- metadata +64 -42
- metadata.gz.sig +0 -0
- checksums.yaml +0 -7
- checksums.yaml.gz.sig +0 -1
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,11 @@
|
|
1
|
+
### Version 2.0.2
|
2
|
+
* Update `ValidatingQueue` tag value restrictions (#72)
|
3
|
+
|
1
4
|
### Version 2.0.1
|
2
5
|
* Ensure `rack.request.queue.time` metric is not negative (#68, Austin Schneider)
|
3
6
|
|
4
7
|
### Version 2.0.0
|
5
|
-
* Add support for tagged measurements (#54)
|
8
|
+
* Add support for tagged measurements (#54). **NOTE**: This version introduces breaking changes for legacy sources. Please contact support@librato.com to learn more.
|
6
9
|
|
7
10
|
### Version 1.1.0
|
8
11
|
* Fix deprecation warnings in ruby 2.4 (#57, Ben Radler)
|
data/README.md
CHANGED
@@ -5,7 +5,9 @@ librato-rack
|
|
5
5
|
|
6
6
|
---
|
7
7
|
|
8
|
-
**NOTE:** Starting with version 2.0.0 librato-rack requires a Librato account that [supports tagged metrics](https://www.librato.com/docs/kb/faq/account_questions/tags_or_sources/).
|
8
|
+
**NOTE:** Starting with version 2.0.0 librato-rack requires a Librato account that [supports tagged metrics](https://www.librato.com/docs/kb/faq/account_questions/tags_or_sources/).
|
9
|
+
|
10
|
+
If your Librato account doesn't yet support tagged metrics or you are using [a heroku addon](https://devcenter.heroku.com/articles/librato#using-with-ruby), please use the [1.x.x version](https://rubygems.org/gems/librato-rack/versions/1.1.0).
|
9
11
|
|
10
12
|
---
|
11
13
|
|
@@ -8,12 +8,18 @@ module Librato
|
|
8
8
|
DEFAULT_TAGS_LIMIT = 4
|
9
9
|
METRIC_NAME_REGEX = /\A[-.:_\w]{1,255}\z/
|
10
10
|
TAGS_KEY_REGEX = /\A[-.:_\w]{1,64}\z/
|
11
|
-
TAGS_VALUE_REGEX = /\A[-.:_\w]{1,
|
11
|
+
TAGS_VALUE_REGEX = /\A[-.:_\w\s]{1,255}\z/
|
12
12
|
|
13
13
|
attr_accessor :logger
|
14
14
|
|
15
|
-
# screen all measurements for validity before sending
|
16
15
|
def submit
|
16
|
+
validate_measurements
|
17
|
+
|
18
|
+
super
|
19
|
+
end
|
20
|
+
|
21
|
+
# screen all measurements for validity before sending
|
22
|
+
def validate_measurements
|
17
23
|
@queued[:measurements].delete_if do |entry|
|
18
24
|
name = entry[:name].to_s
|
19
25
|
tags = entry[:tags]
|
@@ -27,8 +33,6 @@ module Librato
|
|
27
33
|
false # preserve
|
28
34
|
end
|
29
35
|
end
|
30
|
-
|
31
|
-
super
|
32
36
|
end
|
33
37
|
|
34
38
|
private
|
data/lib/librato/rack/version.rb
CHANGED
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
module Librato
|
4
|
+
class Rack
|
5
|
+
class ValidatingQueueTest < Minitest::Test
|
6
|
+
def setup
|
7
|
+
@queue = ValidatingQueue.new
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_valid_metric_name_tag_name_tag_value
|
11
|
+
@queue.add valid_metric_name: {
|
12
|
+
value: rand(100),
|
13
|
+
tags: { valid_tag_name: 'valid_tag_value' }
|
14
|
+
}
|
15
|
+
@queue.validate_measurements
|
16
|
+
refute_empty @queue.queued[:measurements]
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_valid_tag_value_with_whitespace
|
20
|
+
@queue.add valid_metric_name: {
|
21
|
+
value: rand(100),
|
22
|
+
tags: { valid_tag_name: 'valid tag value' }
|
23
|
+
}
|
24
|
+
@queue.validate_measurements
|
25
|
+
refute_empty @queue.queued[:measurements]
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_invalid_metric_name
|
29
|
+
@queue.add 'invalid metric name' => {
|
30
|
+
value: rand(100),
|
31
|
+
tags: { valid_tag_name: 'valid_tag_value' }
|
32
|
+
}
|
33
|
+
@queue.validate_measurements
|
34
|
+
assert_empty @queue.queued[:measurements]
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_invalid_tag_name
|
38
|
+
@queue.add valid_metric_name: {
|
39
|
+
value: rand(100),
|
40
|
+
tags: { 'invalid_tag_name!' => 'valid_tag_value' }
|
41
|
+
}
|
42
|
+
@queue.validate_measurements
|
43
|
+
assert_empty @queue.queued[:measurements]
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_invalid_tag_value
|
47
|
+
@queue.add valid_metric_name: {
|
48
|
+
value: rand(100),
|
49
|
+
tags: { valid_tag_name: 'invalid_tag_value!' }
|
50
|
+
}
|
51
|
+
@queue.validate_measurements
|
52
|
+
assert_empty @queue.queued[:measurements]
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
metadata
CHANGED
@@ -1,76 +1,89 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: librato-rack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Matt Sanders
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain:
|
11
|
-
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
12
|
+
- !binary |-
|
13
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMakNDQWhhZ0F3SUJB
|
14
|
+
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE5TVEwd0N3WURWUVFEREFSeWRX
|
15
|
+
SjUKTVJjd0ZRWUtDWkltaVpQeUxHUUJHUllIYkdsaWNtRjBiekVUTUJFR0Nn
|
16
|
+
bVNKb21UOGl4a0FSa1dBMk52YlRBZQpGdzB4TnpBeE1URXhPREkzTURkYUZ3
|
17
|
+
MHhPREF4TVRFeE9ESTNNRGRhTUQweERUQUxCZ05WQkFNTUJISjFZbmt4CkZ6
|
18
|
+
QVZCZ29Ka2lhSmsvSXNaQUVaRmdkc2FXSnlZWFJ2TVJNd0VRWUtDWkltaVpQ
|
19
|
+
eUxHUUJHUllEWTI5dE1JSUIKSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4
|
20
|
+
QU1JSUJDZ0tDQVFFQTU4TGlyd3NXbktMMXV1Q2xRMHV3QTFYTApHcHhEdUZ6
|
21
|
+
U29zaXBpUGt6WlkzaGlIYXpDOFNIRFJFWlFYbG03SVRYL28rZHVlTm9CN2R0
|
22
|
+
MEJSM1JQVmlwSDdWCjdjdmJDVWFaTmpFWFI1TGFsNlBzbVVzYk1UcmRka3Zq
|
23
|
+
M2U3ZmxtSnYra01qK3RlZUo3TURlSlRVNXdYWFY5cEQKVGhpQ0RJTEpNRjVD
|
24
|
+
ZFA4SnJ1NHJTQk9QNlJtbXpZVSswY041KzVwdDl4cXJ5Y0ErUG9vMlp1b1VN
|
25
|
+
Q01zU0J2bApQaW1NM1BQdm9XVHVFNDFHVG4vYkxvT1ZvWFFtZHdaSWJ3VVNW
|
26
|
+
SDhyQ0RqWlNsdHRPc3QreHJCdzRLRzBkWVVwCjJVdkVlOGlDeXFFTVE4ZkVa
|
27
|
+
N0VYdVAyV01WSUN1dEZiejhQdDRoSU1xK09UbkRYK21JZm1hN0d2UGFLQUZ3
|
28
|
+
SUQKQVFBQm96a3dOekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJRQlN4
|
29
|
+
dTlKajRWVHJYVHBMdWpQd2s5S3p3cAoyakFMQmdOVkhROEVCQU1DQkxBd0RR
|
30
|
+
WUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFDdk5zdzFwR3Y3MnhwM0xpRGxaCjB0
|
31
|
+
cGhOUC84NVJjWXlKTWtsc2xHM3RJWWJseW83MXhIVzFVYks1QXJVSzZrMEJO
|
32
|
+
NDNNdURuM3BxTEpRdHRWbWkKYlVkQTN5WWkxM0dlU3JyQU1scjRuSDhZdC9C
|
33
|
+
bi9YcFpHbGlvdUpVQndoMUJqRzZkU2oxaXVSNC85cHQ5L0x0TwpRVGRJYysw
|
34
|
+
N3FHc3B5cFQwVWgvdy9Cb2RFY0d1QWFaWkZsa1U5dm90dFRlNndXTm5NNmhm
|
35
|
+
UkV4aVNJc3Irb1ZlCnM4czgzT2JzaGp1U3pqT3FTNTZJQnRObFBFTCtENmdo
|
36
|
+
alpaTFAzbFM2bDlwNzBQY3BjbCtJY0U0dmVxWm1tS0MKc0dlcGdSY2xDNlVi
|
37
|
+
WmgreVEzYWxYVmdoTTJxc29uQXdJL3JUTm1GSk45a1FuNm5QOStmMVVmL3Fa
|
38
|
+
Rk5jam40TAo5Ymc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
39
|
+
date: 2017-03-20 00:00:00.000000000 Z
|
33
40
|
dependencies:
|
34
41
|
- !ruby/object:Gem::Dependency
|
35
42
|
name: librato-metrics
|
36
43
|
requirement: !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
37
45
|
requirements:
|
38
|
-
- -
|
46
|
+
- - ~>
|
39
47
|
- !ruby/object:Gem::Version
|
40
48
|
version: 2.1.0
|
41
49
|
type: :runtime
|
42
50
|
prerelease: false
|
43
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
44
53
|
requirements:
|
45
|
-
- -
|
54
|
+
- - ~>
|
46
55
|
- !ruby/object:Gem::Version
|
47
56
|
version: 2.1.0
|
48
57
|
- !ruby/object:Gem::Dependency
|
49
58
|
name: hetchy
|
50
59
|
requirement: !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
51
61
|
requirements:
|
52
|
-
- -
|
62
|
+
- - ~>
|
53
63
|
- !ruby/object:Gem::Version
|
54
64
|
version: '1.0'
|
55
65
|
type: :runtime
|
56
66
|
prerelease: false
|
57
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
58
69
|
requirements:
|
59
|
-
- -
|
70
|
+
- - ~>
|
60
71
|
- !ruby/object:Gem::Version
|
61
72
|
version: '1.0'
|
62
73
|
- !ruby/object:Gem::Dependency
|
63
74
|
name: minitest
|
64
75
|
requirement: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
65
77
|
requirements:
|
66
|
-
- -
|
78
|
+
- - ! '>='
|
67
79
|
- !ruby/object:Gem::Version
|
68
80
|
version: '0'
|
69
81
|
type: :development
|
70
82
|
prerelease: false
|
71
83
|
version_requirements: !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
72
85
|
requirements:
|
73
|
-
- -
|
86
|
+
- - ! '>='
|
74
87
|
- !ruby/object:Gem::Version
|
75
88
|
version: '0'
|
76
89
|
description: Rack middleware to report key app statistics and custom instrumentation
|
@@ -82,25 +95,25 @@ executables: []
|
|
82
95
|
extensions: []
|
83
96
|
extra_rdoc_files: []
|
84
97
|
files:
|
85
|
-
- CHANGELOG.md
|
86
|
-
- LICENSE
|
87
|
-
- README.md
|
88
|
-
- Rakefile
|
89
|
-
- lib/librato-rack.rb
|
90
|
-
- lib/librato/collector.rb
|
91
98
|
- lib/librato/collector/aggregator.rb
|
92
99
|
- lib/librato/collector/counter_cache.rb
|
93
100
|
- lib/librato/collector/exceptions.rb
|
94
101
|
- lib/librato/collector/group.rb
|
95
|
-
- lib/librato/
|
96
|
-
- lib/librato/rack/configuration.rb
|
102
|
+
- lib/librato/collector.rb
|
97
103
|
- lib/librato/rack/configuration/suites.rb
|
104
|
+
- lib/librato/rack/configuration.rb
|
98
105
|
- lib/librato/rack/errors.rb
|
99
106
|
- lib/librato/rack/logger.rb
|
100
107
|
- lib/librato/rack/tracker.rb
|
101
108
|
- lib/librato/rack/validating_queue.rb
|
102
109
|
- lib/librato/rack/version.rb
|
103
110
|
- lib/librato/rack/worker.rb
|
111
|
+
- lib/librato/rack.rb
|
112
|
+
- lib/librato-rack.rb
|
113
|
+
- LICENSE
|
114
|
+
- Rakefile
|
115
|
+
- README.md
|
116
|
+
- CHANGELOG.md
|
104
117
|
- test/apps/basic.ru
|
105
118
|
- test/apps/custom.ru
|
106
119
|
- test/apps/custom_suites.ru
|
@@ -123,30 +136,38 @@ files:
|
|
123
136
|
- test/unit/rack/configuration_test.rb
|
124
137
|
- test/unit/rack/logger_test.rb
|
125
138
|
- test/unit/rack/tracker_test.rb
|
139
|
+
- test/unit/rack/validating_queue_test.rb
|
126
140
|
- test/unit/rack/worker_test.rb
|
127
141
|
homepage: https://github.com/librato/librato-rack
|
128
142
|
licenses:
|
129
143
|
- BSD-3-Clause
|
130
|
-
metadata: {}
|
131
144
|
post_install_message:
|
132
145
|
rdoc_options: []
|
133
146
|
require_paths:
|
134
147
|
- lib
|
135
148
|
required_ruby_version: !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
136
150
|
requirements:
|
137
|
-
- -
|
151
|
+
- - ! '>='
|
138
152
|
- !ruby/object:Gem::Version
|
139
153
|
version: '0'
|
154
|
+
segments:
|
155
|
+
- 0
|
156
|
+
hash: -2408742932426034102
|
140
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
|
+
none: false
|
141
159
|
requirements:
|
142
|
-
- -
|
160
|
+
- - ! '>='
|
143
161
|
- !ruby/object:Gem::Version
|
144
162
|
version: '0'
|
163
|
+
segments:
|
164
|
+
- 0
|
165
|
+
hash: -2408742932426034102
|
145
166
|
requirements: []
|
146
167
|
rubyforge_project:
|
147
|
-
rubygems_version:
|
168
|
+
rubygems_version: 1.8.23.2
|
148
169
|
signing_key:
|
149
|
-
specification_version:
|
170
|
+
specification_version: 3
|
150
171
|
summary: Use Librato Metrics with your rack application
|
151
172
|
test_files:
|
152
173
|
- test/apps/basic.ru
|
@@ -171,4 +192,5 @@ test_files:
|
|
171
192
|
- test/unit/rack/configuration_test.rb
|
172
193
|
- test/unit/rack/logger_test.rb
|
173
194
|
- test/unit/rack/tracker_test.rb
|
195
|
+
- test/unit/rack/validating_queue_test.rb
|
174
196
|
- test/unit/rack/worker_test.rb
|
metadata.gz.sig
CHANGED
Binary file
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: d291d01af87d4bef2ce62492b0d44487112626b6
|
4
|
-
data.tar.gz: dfe86fb5950bfa428bb153a471f14d5bf2b9fee2
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 8fc08bb0ce4c5a06864cf1f2c43818a4e9485c0adebdafde1e5ab7a427c1b38b620aca87af7115d671936731ad346ac8a17d28bf9678b488d4ec655a13afc5fb
|
7
|
-
data.tar.gz: f87fb8ebb490fbe3e2ecb1ca6db297b07841fafbc66ee2e53b52ccc3b1e07a0825ab8a183a58cda4e19b9501ee2e6399963b43d79261dd257f3aebc50360ee40
|
checksums.yaml.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
E�ݕ�%�+�g�>����ނs}�>��P�g^9�(�RHvj��4�>��OI�����iS�u�>:{�L�Q���;�_nv��[�y__�С�'0�i�����
|