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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +12 -0
- data/lib/spectator/registry.rb +7 -3
- data/lib/spectator/version.rb +1 -1
- data/{spectator.gemspec → netflix-spectator-rb.gemspec} +0 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7fd3c80e6d722432cca59966b94d081ab3c50175fc07e7297d3ada52d55bce9
|
4
|
+
data.tar.gz: 98fce8bb5978b4a2338dce4a236ee89d2b232820e0f4e605eba9e1f198ebe20d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b396d6dd9f6d0a75af5f807b675758730991c980e84527f1d437383d25c84a8e9ee92986b19d780c0bd4fa95c20a5d245e6a2724e20d96f3b62f1613f048918
|
7
|
+
data.tar.gz: 3fe4dcf3f86ad2e8d91d0f0bb98b925aa4b0e4838b48cc5fb71436e24a50b4ea746ab8904ec5231e13a714ec28231f6db6be8352b7a55eec57817fd6b871d87a
|
data/Gemfile.lock
CHANGED
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
|
|
data/lib/spectator/registry.rb
CHANGED
@@ -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
|
-
|
279
|
-
|
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
|
|
data/lib/spectator/version.rb
CHANGED
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.
|
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-
|
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.
|
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.
|