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