netflix-spectator-rb 0.1.1 → 0.1.3

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