netflix-spectator-rb 0.1.1 → 0.1.3

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: e7f6b3e0e0113f8cbe55f8fd1e18767ace79da07883cc9df6cd6b852e01d3b3c
4
- data.tar.gz: 805eba8ac1097710ce1b6a960dbc981bd5f42be458d38d94b129dea837601c46
3
+ metadata.gz: a7fd3c80e6d722432cca59966b94d081ab3c50175fc07e7297d3ada52d55bce9
4
+ data.tar.gz: 98fce8bb5978b4a2338dce4a236ee89d2b232820e0f4e605eba9e1f198ebe20d
5
5
  SHA512:
6
- metadata.gz: 93a47c61d075d109db3c807e44b4476915965d17c452eabaec369c1901b09611b4b8eee2054eda1fb0d39e011bfc91bb60e46d7ea8ea9e434d921547318b1b78
7
- data.tar.gz: c459973b622af7b87e524c0416d49ef334c83df510cc1e70da78d02929f5e5fb3db629265dcc9d85e24b6bb055a6984a15774c261eed661d02cfcef4ff3d3621
6
+ metadata.gz: 8b396d6dd9f6d0a75af5f807b675758730991c980e84527f1d437383d25c84a8e9ee92986b19d780c0bd4fa95c20a5d245e6a2724e20d96f3b62f1613f048918
7
+ data.tar.gz: 3fe4dcf3f86ad2e8d91d0f0bb98b925aa4b0e4838b48cc5fb71436e24a50b4ea746ab8904ec5231e13a714ec28231f6db6be8352b7a55eec57817fd6b871d87a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- netflix-spectator-rb (0.1.1)
4
+ netflix-spectator-rb (0.1.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -41,6 +41,10 @@ class ExampleServer
41
41
  @resp_sizes = registry.distribution_summary('server.responseSizes')
42
42
  end
43
43
 
44
+ def expensive_computation(request)
45
+ # ...
46
+ end
47
+
44
48
  def handle_request(request)
45
49
  start = @registry.clock.monotonic_time
46
50
 
@@ -59,6 +63,14 @@ class ExampleServer
59
63
  # ...
60
64
  @req_latency.record(@registry.clock.monotonic_time - start)
61
65
  @resp_sizes.record(response.size)
66
+
67
+ # timers can also time a given block
68
+ # this is equivalent to:
69
+ # start = @registry.clock.monotonic_time
70
+ # expensive_computation(request)
71
+ # @registry.timer('server.computeTime').record(@registry.clock.monotonic_time - start)
72
+ @registry.timer('server.computeTime').time { expensive_computation(request) }
73
+ # ...
62
74
  end
63
75
  end
64
76
 
@@ -20,6 +20,7 @@ module Spectator
20
20
  # :uri the endpoint for the aggregator service
21
21
  def initialize(config, clock = SystemClock.new)
22
22
  @config = config
23
+ @batch_size = config[:batch_size] || 10_000
23
24
  @clock = clock
24
25
  @meters = {}
25
26
  @common_tags = to_symbols(config[:common_tags]) || {}
@@ -270,13 +271,16 @@ module Spectator
270
271
  # Send the current measurements to our aggregator service
271
272
  def send_metrics_now
272
273
  ms = registry_measurements
274
+
273
275
  if ms.empty?
274
276
  Spectator.logger.debug 'No measurements to send'
275
277
  else
276
- payload = payload_for_measurements(ms)
277
278
  uri = @registry.config[:uri]
278
- Spectator.logger.info "Sending #{ms.length} measurements to #{uri}"
279
- @http.post_json(uri, payload)
279
+ ms.each_slice(@registry.batch_size) do |batch|
280
+ payload = payload_for_measurements(batch)
281
+ Spectator.logger.info "Sending #{batch.length} measurements to #{uri}"
282
+ @http.post_json(uri, payload)
283
+ end
280
284
  end
281
285
  end
282
286
 
@@ -1,3 +1,3 @@
1
1
  module Spectator
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.1.3'.freeze
3
3
  end
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: netflix-spectator-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Muino
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-26 00:00:00.000000000 Z
11
+ date: 2018-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -98,7 +98,7 @@ files:
98
98
  - lib/spectator/registry.rb
99
99
  - lib/spectator/timer.rb
100
100
  - lib/spectator/version.rb
101
- - spectator.gemspec
101
+ - netflix-spectator-rb.gemspec
102
102
  homepage: https://github.com/Netflix/spectator-rb
103
103
  licenses:
104
104
  - Apache-2.0
@@ -119,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  version: '0'
120
120
  requirements: []
121
121
  rubyforge_project:
122
- rubygems_version: 2.7.6
122
+ rubygems_version: 2.7.7
123
123
  signing_key:
124
124
  specification_version: 4
125
125
  summary: Simple library for instrumenting code to record dimensional time series.