statsd-instrument 2.3.2 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -0
  3. data/.github/workflows/benchmark.yml +32 -0
  4. data/.github/workflows/ci.yml +47 -0
  5. data/.gitignore +1 -0
  6. data/.rubocop-https---shopify-github-io-ruby-style-guide-rubocop-yml +1027 -0
  7. data/.rubocop.yml +50 -0
  8. data/.yardopts +5 -0
  9. data/CHANGELOG.md +288 -2
  10. data/CONTRIBUTING.md +28 -6
  11. data/Gemfile +5 -0
  12. data/README.md +54 -46
  13. data/Rakefile +4 -2
  14. data/benchmark/README.md +29 -0
  15. data/benchmark/datagram-client +41 -0
  16. data/benchmark/send-metrics-to-dev-null-log +47 -0
  17. data/benchmark/send-metrics-to-local-udp-receiver +57 -0
  18. data/lib/statsd/instrument/assertions.rb +179 -30
  19. data/lib/statsd/instrument/backend.rb +3 -2
  20. data/lib/statsd/instrument/backends/capture_backend.rb +4 -1
  21. data/lib/statsd/instrument/backends/logger_backend.rb +3 -3
  22. data/lib/statsd/instrument/backends/null_backend.rb +2 -0
  23. data/lib/statsd/instrument/backends/udp_backend.rb +39 -45
  24. data/lib/statsd/instrument/capture_sink.rb +27 -0
  25. data/lib/statsd/instrument/client.rb +313 -0
  26. data/lib/statsd/instrument/datagram.rb +75 -0
  27. data/lib/statsd/instrument/datagram_builder.rb +101 -0
  28. data/lib/statsd/instrument/dogstatsd_datagram_builder.rb +71 -0
  29. data/lib/statsd/instrument/environment.rb +108 -29
  30. data/lib/statsd/instrument/helpers.rb +16 -8
  31. data/lib/statsd/instrument/log_sink.rb +24 -0
  32. data/lib/statsd/instrument/matchers.rb +14 -11
  33. data/lib/statsd/instrument/metric.rb +72 -45
  34. data/lib/statsd/instrument/metric_expectation.rb +32 -18
  35. data/lib/statsd/instrument/null_sink.rb +13 -0
  36. data/lib/statsd/instrument/railtie.rb +2 -1
  37. data/lib/statsd/instrument/rubocop/measure_as_dist_argument.rb +39 -0
  38. data/lib/statsd/instrument/rubocop/metaprogramming_positional_arguments.rb +42 -0
  39. data/lib/statsd/instrument/rubocop/metric_prefix_argument.rb +37 -0
  40. data/lib/statsd/instrument/rubocop/metric_return_value.rb +32 -0
  41. data/lib/statsd/instrument/rubocop/metric_value_keyword_argument.rb +36 -0
  42. data/lib/statsd/instrument/rubocop/positional_arguments.rb +99 -0
  43. data/lib/statsd/instrument/rubocop/splat_arguments.rb +31 -0
  44. data/lib/statsd/instrument/rubocop.rb +64 -0
  45. data/lib/statsd/instrument/statsd_datagram_builder.rb +14 -0
  46. data/lib/statsd/instrument/strict.rb +235 -0
  47. data/lib/statsd/instrument/udp_sink.rb +62 -0
  48. data/lib/statsd/instrument/version.rb +3 -1
  49. data/lib/statsd/instrument.rb +340 -163
  50. data/lib/statsd-instrument.rb +2 -0
  51. data/statsd-instrument.gemspec +13 -10
  52. data/test/assertions_test.rb +167 -156
  53. data/test/benchmark/clock_gettime.rb +27 -0
  54. data/test/benchmark/default_tags.rb +47 -0
  55. data/test/benchmark/metrics.rb +9 -8
  56. data/test/benchmark/tags.rb +5 -3
  57. data/test/capture_backend_test.rb +4 -2
  58. data/test/capture_sink_test.rb +44 -0
  59. data/test/client_test.rb +164 -0
  60. data/test/compatibility/dogstatsd_datagram_compatibility_test.rb +162 -0
  61. data/test/datagram_builder_test.rb +120 -0
  62. data/test/deprecations_test.rb +132 -0
  63. data/test/dogstatsd_datagram_builder_test.rb +32 -0
  64. data/test/environment_test.rb +75 -8
  65. data/test/helpers/rubocop_helper.rb +47 -0
  66. data/test/helpers_test.rb +2 -1
  67. data/test/integration_test.rb +31 -7
  68. data/test/log_sink_test.rb +37 -0
  69. data/test/logger_backend_test.rb +10 -8
  70. data/test/matchers_test.rb +42 -28
  71. data/test/metric_test.rb +18 -22
  72. data/test/null_sink_test.rb +13 -0
  73. data/test/rubocop/measure_as_dist_argument_test.rb +44 -0
  74. data/test/rubocop/metaprogramming_positional_arguments_test.rb +58 -0
  75. data/test/rubocop/metric_prefix_argument_test.rb +38 -0
  76. data/test/rubocop/metric_return_value_test.rb +78 -0
  77. data/test/rubocop/metric_value_keyword_argument_test.rb +39 -0
  78. data/test/rubocop/positional_arguments_test.rb +110 -0
  79. data/test/rubocop/splat_arguments_test.rb +27 -0
  80. data/test/statsd_datagram_builder_test.rb +22 -0
  81. data/test/statsd_instrumentation_test.rb +109 -100
  82. data/test/statsd_test.rb +113 -79
  83. data/test/test_helper.rb +12 -1
  84. data/test/udp_backend_test.rb +38 -36
  85. data/test/udp_sink_test.rb +85 -0
  86. metadata +85 -5
  87. data/.travis.yml +0 -12
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: statsd-instrument
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jesse Storimer
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-11-28 00:00:00.000000000 Z
13
+ date: 2019-10-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake
@@ -82,6 +82,20 @@ dependencies:
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: rubocop
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
85
99
  - !ruby/object:Gem::Dependency
86
100
  name: benchmark-ips
87
101
  requirement: !ruby/object:Gem::Requirement
@@ -104,15 +118,24 @@ executables: []
104
118
  extensions: []
105
119
  extra_rdoc_files: []
106
120
  files:
121
+ - ".github/CODEOWNERS"
107
122
  - ".github/probots.yml"
123
+ - ".github/workflows/benchmark.yml"
124
+ - ".github/workflows/ci.yml"
108
125
  - ".gitignore"
109
- - ".travis.yml"
126
+ - ".rubocop-https---shopify-github-io-ruby-style-guide-rubocop-yml"
127
+ - ".rubocop.yml"
128
+ - ".yardopts"
110
129
  - CHANGELOG.md
111
130
  - CONTRIBUTING.md
112
131
  - Gemfile
113
132
  - LICENSE
114
133
  - README.md
115
134
  - Rakefile
135
+ - benchmark/README.md
136
+ - benchmark/datagram-client
137
+ - benchmark/send-metrics-to-dev-null-log
138
+ - benchmark/send-metrics-to-local-udp-receiver
116
139
  - lib/statsd-instrument.rb
117
140
  - lib/statsd/instrument.rb
118
141
  - lib/statsd/instrument/assertions.rb
@@ -121,29 +144,67 @@ files:
121
144
  - lib/statsd/instrument/backends/logger_backend.rb
122
145
  - lib/statsd/instrument/backends/null_backend.rb
123
146
  - lib/statsd/instrument/backends/udp_backend.rb
147
+ - lib/statsd/instrument/capture_sink.rb
148
+ - lib/statsd/instrument/client.rb
149
+ - lib/statsd/instrument/datagram.rb
150
+ - lib/statsd/instrument/datagram_builder.rb
151
+ - lib/statsd/instrument/dogstatsd_datagram_builder.rb
124
152
  - lib/statsd/instrument/environment.rb
125
153
  - lib/statsd/instrument/helpers.rb
154
+ - lib/statsd/instrument/log_sink.rb
126
155
  - lib/statsd/instrument/matchers.rb
127
156
  - lib/statsd/instrument/metric.rb
128
157
  - lib/statsd/instrument/metric_expectation.rb
158
+ - lib/statsd/instrument/null_sink.rb
129
159
  - lib/statsd/instrument/railtie.rb
160
+ - lib/statsd/instrument/rubocop.rb
161
+ - lib/statsd/instrument/rubocop/measure_as_dist_argument.rb
162
+ - lib/statsd/instrument/rubocop/metaprogramming_positional_arguments.rb
163
+ - lib/statsd/instrument/rubocop/metric_prefix_argument.rb
164
+ - lib/statsd/instrument/rubocop/metric_return_value.rb
165
+ - lib/statsd/instrument/rubocop/metric_value_keyword_argument.rb
166
+ - lib/statsd/instrument/rubocop/positional_arguments.rb
167
+ - lib/statsd/instrument/rubocop/splat_arguments.rb
168
+ - lib/statsd/instrument/statsd_datagram_builder.rb
169
+ - lib/statsd/instrument/strict.rb
170
+ - lib/statsd/instrument/udp_sink.rb
130
171
  - lib/statsd/instrument/version.rb
131
172
  - shipit.rubygems.yml
132
173
  - statsd-instrument.gemspec
133
174
  - test/assertions_test.rb
175
+ - test/benchmark/clock_gettime.rb
176
+ - test/benchmark/default_tags.rb
134
177
  - test/benchmark/metrics.rb
135
178
  - test/benchmark/tags.rb
136
179
  - test/capture_backend_test.rb
180
+ - test/capture_sink_test.rb
181
+ - test/client_test.rb
182
+ - test/compatibility/dogstatsd_datagram_compatibility_test.rb
183
+ - test/datagram_builder_test.rb
184
+ - test/deprecations_test.rb
185
+ - test/dogstatsd_datagram_builder_test.rb
137
186
  - test/environment_test.rb
187
+ - test/helpers/rubocop_helper.rb
138
188
  - test/helpers_test.rb
139
189
  - test/integration_test.rb
190
+ - test/log_sink_test.rb
140
191
  - test/logger_backend_test.rb
141
192
  - test/matchers_test.rb
142
193
  - test/metric_test.rb
194
+ - test/null_sink_test.rb
195
+ - test/rubocop/measure_as_dist_argument_test.rb
196
+ - test/rubocop/metaprogramming_positional_arguments_test.rb
197
+ - test/rubocop/metric_prefix_argument_test.rb
198
+ - test/rubocop/metric_return_value_test.rb
199
+ - test/rubocop/metric_value_keyword_argument_test.rb
200
+ - test/rubocop/positional_arguments_test.rb
201
+ - test/rubocop/splat_arguments_test.rb
202
+ - test/statsd_datagram_builder_test.rb
143
203
  - test/statsd_instrumentation_test.rb
144
204
  - test/statsd_test.rb
145
205
  - test/test_helper.rb
146
206
  - test/udp_backend_test.rb
207
+ - test/udp_sink_test.rb
147
208
  homepage: https://github.com/Shopify/statsd-instrument
148
209
  licenses:
149
210
  - MIT
@@ -163,23 +224,42 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
224
  - !ruby/object:Gem::Version
164
225
  version: '0'
165
226
  requirements: []
166
- rubyforge_project:
167
- rubygems_version: 2.7.6
227
+ rubygems_version: 3.0.3
168
228
  signing_key:
169
229
  specification_version: 4
170
230
  summary: A StatsD client for Ruby apps
171
231
  test_files:
172
232
  - test/assertions_test.rb
233
+ - test/benchmark/clock_gettime.rb
234
+ - test/benchmark/default_tags.rb
173
235
  - test/benchmark/metrics.rb
174
236
  - test/benchmark/tags.rb
175
237
  - test/capture_backend_test.rb
238
+ - test/capture_sink_test.rb
239
+ - test/client_test.rb
240
+ - test/compatibility/dogstatsd_datagram_compatibility_test.rb
241
+ - test/datagram_builder_test.rb
242
+ - test/deprecations_test.rb
243
+ - test/dogstatsd_datagram_builder_test.rb
176
244
  - test/environment_test.rb
245
+ - test/helpers/rubocop_helper.rb
177
246
  - test/helpers_test.rb
178
247
  - test/integration_test.rb
248
+ - test/log_sink_test.rb
179
249
  - test/logger_backend_test.rb
180
250
  - test/matchers_test.rb
181
251
  - test/metric_test.rb
252
+ - test/null_sink_test.rb
253
+ - test/rubocop/measure_as_dist_argument_test.rb
254
+ - test/rubocop/metaprogramming_positional_arguments_test.rb
255
+ - test/rubocop/metric_prefix_argument_test.rb
256
+ - test/rubocop/metric_return_value_test.rb
257
+ - test/rubocop/metric_value_keyword_argument_test.rb
258
+ - test/rubocop/positional_arguments_test.rb
259
+ - test/rubocop/splat_arguments_test.rb
260
+ - test/statsd_datagram_builder_test.rb
182
261
  - test/statsd_instrumentation_test.rb
183
262
  - test/statsd_test.rb
184
263
  - test/test_helper.rb
185
264
  - test/udp_backend_test.rb
265
+ - test/udp_sink_test.rb
data/.travis.yml DELETED
@@ -1,12 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.1.10
4
- - 2.2.6
5
- - 2.3.3
6
- - ruby-head
7
-
8
- matrix:
9
- allow_failures:
10
- - rvm: ruby-head
11
-
12
- sudo: false