statsd-instrument 3.5.10 → 3.5.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58bc5f73b44ea7c3ac8268feaeb9defc2da36b9a7a5565cb11d34324f84f5381
4
- data.tar.gz: 0d781d4945f02d7e1eb1bc89e68d647bac0b7062f7d26371b8aef95821080e06
3
+ metadata.gz: 41254f0057c645926c54b36ec4bf937352444740f0cae248b1feed1f35ce4044
4
+ data.tar.gz: 3d2131889385d2755a738d735ca9a20dba0342e645d58312c4007b7a1835b249
5
5
  SHA512:
6
- metadata.gz: 901993924629290a116505b73eea09c84dd422fb1fd96a274733e9b26223b73ec3087599b419e325c1e4728fd45f964bb2a800d881ae207fb90e84c4950e8e02
7
- data.tar.gz: cdd79db9829b2317795330fba20238a122a04cfa15b65b53d2b910a50bb315d961bbcf1714a479c61adbf4a4a378272e71dd9132afe9607eaa96611b20ce332a
6
+ metadata.gz: 46a4f427f2e298c242a84c7f90a715a7d4397c28ad5db8f89f8b669e3867c7b253a5858a61e35768fada113b56202dc43d91cffb68b9626ea79c26fd15d10a67
7
+ data.tar.gz: 99b1979f9b3b9a4e502c78a42bfa48348600eece64646ddfdd2470ae1d3b4cc52123e3edaef539886c667ff2e9eca98051c55c5fec7c6ccc76e1404e2f5f2800
@@ -8,7 +8,7 @@ jobs:
8
8
  runs-on: ubuntu-latest
9
9
 
10
10
  steps:
11
- - uses: actions/checkout@v1
11
+ - uses: actions/checkout@v3
12
12
 
13
13
  - name: Set up Ruby
14
14
  uses: ruby/setup-ruby@v1
@@ -22,15 +22,15 @@ jobs:
22
22
  - name: Run throughput benchmark on branch
23
23
  run: benchmark/local-udp-throughput
24
24
 
25
- - uses: actions/checkout@v1
25
+ - uses: actions/checkout@v3
26
26
  with:
27
- ref: 'master'
27
+ ref: 'main'
28
28
 
29
29
  - name: Install dependencies if needed
30
30
  run: bundle check || bundle install --jobs 4 --retry 3
31
31
 
32
- - name: Run benchmark on master
32
+ - name: Run benchmark on main
33
33
  run: benchmark/send-metrics-to-local-udp-receiver
34
34
 
35
- - name: Run throughput benchmark on master
35
+ - name: Run throughput benchmark on main
36
36
  run: benchmark/local-udp-throughput
@@ -8,7 +8,7 @@ jobs:
8
8
  runs-on: ubuntu-latest
9
9
 
10
10
  steps:
11
- - uses: actions/checkout@v1
11
+ - uses: actions/checkout@v3
12
12
 
13
13
  - name: Set up Ruby
14
14
  uses: ruby/setup-ruby@v1
@@ -16,7 +16,7 @@ jobs:
16
16
  # ...
17
17
 
18
18
  steps:
19
- - uses: actions/checkout@v1
19
+ - uses: actions/checkout@v3
20
20
 
21
21
  - name: Set up Ruby
22
22
  uses: ruby/setup-ruby@v1
data/CHANGELOG.md CHANGED
@@ -6,6 +6,15 @@ section below.
6
6
 
7
7
  ## Unreleased changes
8
8
 
9
+ ## Version 3.5.12
10
+
11
+ - Update CONTRIBUTING docs about release process
12
+ - Rename branch `master` to `main`.
13
+
14
+ ## Version 3.5.11
15
+
16
+ - Fix a bug where passing `nil` to `clone_with_options` did not overwrite existing values
17
+
9
18
  ## Version 3.5.10
10
19
 
11
20
  - Fix rubocop 1.30 compatibilitty
data/CONTRIBUTING.md CHANGED
@@ -59,5 +59,5 @@ we are depending on the current behavior of the library.
59
59
 
60
60
  1. Update the version number in `lib/statsd/instrument/version.rb`.
61
61
  2. Move the "Unreleased changes" items in [CHANGELOG.md](./CHANGELOG.md) to a new section for the release.
62
- 3. Commit these changes.
63
- 4. Run `bundle exec rake release`.
62
+ 3. Open a PR with these changes, have it reviewed and merged.
63
+ 4. The new version will be automatically uploaded by our deployment pipeline.
data/benchmark/README.md CHANGED
@@ -23,7 +23,7 @@ To benchmark your changes:
23
23
  be available if you check out another branch.
24
24
  2. Run these scripts on your pull request branch. The results will be stored in
25
25
  a temporary file.
26
- 3. Checkout the latest version of `master`.
26
+ 3. Checkout the latest version of `main`.
27
27
  4. Run the benchmark again. The benchmark script will now print a comparison
28
- between your branch and master.
28
+ between your branch and main.
29
29
  5. Include the output in your pull request description.
@@ -6,9 +6,9 @@ require "tmpdir"
6
6
  require "benchmark/ips"
7
7
 
8
8
  revision = %x(git rev-parse HEAD).rstrip
9
- base_revision = %x(git rev-parse origin/master).rstrip
9
+ base_revision = %x(git rev-parse origin/main).rstrip
10
10
  branch = if revision == base_revision
11
- "master"
11
+ "main"
12
12
  else
13
13
  %x(git rev-parse --abbrev-ref HEAD).rstrip
14
14
  end
@@ -39,7 +39,7 @@ end
39
39
 
40
40
  if report.entries.length == 1
41
41
  puts
42
- puts "To compare the performance of this revision against another revision (e.g. master),"
42
+ puts "To compare the performance of this revision against another revision (e.g. main),"
43
43
  puts "check out a different branch and run this benchmark script again."
44
44
  elsif ENV["KEEP_RESULTS"]
45
45
  puts
@@ -20,9 +20,9 @@ end
20
20
 
21
21
  def benchmark_implementation(name, env = {})
22
22
  revision = %x(git rev-parse HEAD).rstrip
23
- base_revision = %x(git rev-parse origin/master).rstrip
23
+ base_revision = %x(git rev-parse origin/main).rstrip
24
24
  branch = if revision == base_revision
25
- "master"
25
+ "main"
26
26
  else
27
27
  %x(git rev-parse --abbrev-ref HEAD).rstrip
28
28
  end
@@ -60,7 +60,7 @@ def benchmark_implementation(name, env = {})
60
60
 
61
61
  if report.entries.length == 1
62
62
  puts
63
- puts "To compare the performance of this revision against another revision (e.g. master),"
63
+ puts "To compare the performance of this revision against another revision (e.g. main),"
64
64
  puts "check out a different branch and run this benchmark script again."
65
65
  elsif ENV["KEEP_RESULTS"]
66
66
  puts
@@ -378,6 +378,8 @@ module StatsD
378
378
  ))
379
379
  end
380
380
 
381
+ NO_CHANGE = Object.new
382
+
381
383
  # Instantiates a new StatsD client that uses the settings of the current client,
382
384
  # except for the provided overrides.
383
385
  #
@@ -386,11 +388,11 @@ module StatsD
386
388
  # will be disposed after the block returns
387
389
  # @return The return value of the block will be passed on as return value.
388
390
  def with_options(
389
- sink: nil,
390
- prefix: nil,
391
- default_sample_rate: nil,
392
- default_tags: nil,
393
- datagram_builder_class: nil
391
+ sink: NO_CHANGE,
392
+ prefix: NO_CHANGE,
393
+ default_sample_rate: NO_CHANGE,
394
+ default_tags: NO_CHANGE,
395
+ datagram_builder_class: NO_CHANGE
394
396
  )
395
397
  client = clone_with_options(
396
398
  sink: sink,
@@ -404,18 +406,19 @@ module StatsD
404
406
  end
405
407
 
406
408
  def clone_with_options(
407
- sink: nil,
408
- prefix: nil,
409
- default_sample_rate: nil,
410
- default_tags: nil,
411
- datagram_builder_class: nil
409
+ sink: NO_CHANGE,
410
+ prefix: NO_CHANGE,
411
+ default_sample_rate: NO_CHANGE,
412
+ default_tags: NO_CHANGE,
413
+ datagram_builder_class: NO_CHANGE
412
414
  )
413
415
  self.class.new(
414
- sink: sink || @sink,
415
- prefix: prefix || @prefix,
416
- default_sample_rate: default_sample_rate || @default_sample_rate,
417
- default_tags: default_tags || @default_tags,
418
- datagram_builder_class: datagram_builder_class || @datagram_builder_class,
416
+ sink: sink == NO_CHANGE ? @sink : sink,
417
+ prefix: prefix == NO_CHANGE ? @prefix : prefix,
418
+ default_sample_rate: default_sample_rate == NO_CHANGE ? @default_sample_rate : default_sample_rate,
419
+ default_tags: default_tags == NO_CHANGE ? @default_tags : default_tags,
420
+ datagram_builder_class:
421
+ datagram_builder_class == NO_CHANGE ? @datagram_builder_class : datagram_builder_class,
419
422
  )
420
423
  end
421
424
 
@@ -51,7 +51,7 @@ module RuboCop
51
51
  end
52
52
 
53
53
  def keyword_arguments(node)
54
- return nil if node.arguments.empty?
54
+ return if node.arguments.empty?
55
55
 
56
56
  last_argument = if node.arguments.last&.type == :block_pass
57
57
  node.arguments[node.arguments.length - 2]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module StatsD
4
4
  module Instrument
5
- VERSION = "3.5.10"
5
+ VERSION = "3.5.12"
6
6
  end
7
7
  end
data/test/client_test.rb CHANGED
@@ -223,4 +223,18 @@ class ClientTest < Minitest::Test
223
223
  original_client.increment("metric")
224
224
  client_with_other_options.increment("metric")
225
225
  end
226
+
227
+ def test_clone_can_remove_prefix
228
+ # Both clients will use the same sink.
229
+ mock_sink = mock("sink")
230
+ mock_sink.stubs(:sample?).returns(true)
231
+ mock_sink.expects(:<<).with("foo.metric:1|c").returns(mock_sink)
232
+ mock_sink.expects(:<<).with("metric:1|c").returns(mock_sink)
233
+
234
+ original_client = StatsD::Instrument::Client.new(sink: mock_sink, prefix: "foo")
235
+ client_with_other_options = original_client.clone_with_options(prefix: nil)
236
+
237
+ original_client.increment("metric")
238
+ client_with_other_options.increment("metric")
239
+ end
226
240
  end
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: 3.5.10
4
+ version: 3.5.12
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: 2023-06-05 00:00:00.000000000 Z
13
+ date: 2023-08-25 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: A StatsD client for Ruby apps. Provides metaprogramming methods to inject
16
16
  StatsD instrumentation into your code.
@@ -122,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  requirements: []
125
- rubygems_version: 3.4.13
125
+ rubygems_version: 3.4.18
126
126
  signing_key:
127
127
  specification_version: 4
128
128
  summary: A StatsD client for Ruby apps