statsd-instrument 3.5.10 → 3.5.12

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 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