prometheus-client 0.10.0 → 0.11.0.pre.alpha.1
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/README.md +0 -2
- data/lib/prometheus/client/data_stores/direct_file_store.rb +13 -17
- data/lib/prometheus/client/version.rb +1 -1
- data/lib/prometheus/middleware/collector.rb +4 -13
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a558dc9a9c12b948a111369fd378ef1f41135695b0f7fb30eb2691a86a05ea3f
|
4
|
+
data.tar.gz: 0d8554c3e1a4cec8e6db066158247c7a1c8e0fc86653e9a252bc3c08c04d1618
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91b4d4bb9f606b33f77bc0fab83a523d0cf61d6f875f5c42de738513aebc2e6a44994c9098c103b51b54eb2c80957c82616aab4fadb07e583c1b5b0ef3821697
|
7
|
+
data.tar.gz: d956b78c30fff9db52e45f9826f739f1088501ebd12ad71b016e0d58abe3262c320180fd68ba74dbc898a279141e6e27b9f51d2d8471b0d28f7e5bb5eef95595
|
data/README.md
CHANGED
@@ -66,8 +66,6 @@ The Ruby client can also be used to push its collected metrics to a
|
|
66
66
|
where it's not possible or feasible to let a Prometheus server scrape a Ruby
|
67
67
|
process. TLS and basic access authentication are supported.
|
68
68
|
|
69
|
-
**Attention**: The implementation still uses the legacy API of the pushgateway.
|
70
|
-
|
71
69
|
```ruby
|
72
70
|
require 'prometheus/client'
|
73
71
|
require 'prometheus/client/push'
|
@@ -150,7 +150,7 @@ module Prometheus
|
|
150
150
|
labels[:pid] = process_id
|
151
151
|
end
|
152
152
|
|
153
|
-
labels.map{|k,v| "#{CGI::escape(k.to_s)}=#{CGI::escape(v.to_s)}"}.join('&')
|
153
|
+
labels.to_a.sort.map{|k,v| "#{CGI::escape(k.to_s)}=#{CGI::escape(v.to_s)}"}.join('&')
|
154
154
|
end
|
155
155
|
|
156
156
|
def internal_store
|
@@ -215,11 +215,7 @@ module Prometheus
|
|
215
215
|
|
216
216
|
if @used > 0
|
217
217
|
# File already has data. Read the existing values
|
218
|
-
with_file_lock
|
219
|
-
read_all_values.each do |key, _, pos|
|
220
|
-
@positions[key] = pos
|
221
|
-
end
|
222
|
-
end
|
218
|
+
with_file_lock { populate_positions }
|
223
219
|
else
|
224
220
|
# File is empty. Init the `used` counter, if we're in write mode
|
225
221
|
if !readonly
|
@@ -230,10 +226,14 @@ module Prometheus
|
|
230
226
|
end
|
231
227
|
end
|
232
228
|
|
233
|
-
#
|
229
|
+
# Return a list of key-value pairs
|
234
230
|
def all_values
|
235
231
|
with_file_lock do
|
236
|
-
|
232
|
+
@positions.map do |key, pos|
|
233
|
+
@f.seek(pos)
|
234
|
+
value = @f.read(8).unpack('d')[0]
|
235
|
+
[key, value]
|
236
|
+
end
|
237
237
|
end
|
238
238
|
end
|
239
239
|
|
@@ -309,22 +309,18 @@ module Prometheus
|
|
309
309
|
@positions[key] = @used - 8
|
310
310
|
end
|
311
311
|
|
312
|
-
#
|
313
|
-
def
|
312
|
+
# Read position of all keys. No locking is performed.
|
313
|
+
def populate_positions
|
314
314
|
@f.seek(8)
|
315
|
-
values = []
|
316
315
|
while @f.pos < @used
|
317
316
|
padded_len = @f.read(4).unpack('l')[0]
|
318
|
-
|
319
|
-
|
320
|
-
|
317
|
+
key = @f.read(padded_len).unpack("A#{padded_len}")[0].strip
|
318
|
+
@positions[key] = @f.pos
|
319
|
+
@f.seek(8, :CUR)
|
321
320
|
end
|
322
|
-
values
|
323
321
|
end
|
324
322
|
end
|
325
323
|
end
|
326
324
|
end
|
327
325
|
end
|
328
326
|
end
|
329
|
-
|
330
|
-
|
@@ -11,20 +11,11 @@ module Prometheus
|
|
11
11
|
# By default metrics are registered on the global registry. Set the
|
12
12
|
# `:registry` option to use a custom registry.
|
13
13
|
#
|
14
|
-
# By default metrics all have the prefix "http_server". Set
|
15
|
-
# else if you like.
|
14
|
+
# By default metrics all have the prefix "http_server". Set
|
15
|
+
# `:metrics_prefix` to something else if you like.
|
16
16
|
#
|
17
|
-
# The request counter metric is broken down by code, method and path
|
18
|
-
#
|
19
|
-
# builder.
|
20
|
-
#
|
21
|
-
# The request duration metric is broken down by method and path by default.
|
22
|
-
# Set the `:duration_label_builder` option to use a custom label builder.
|
23
|
-
#
|
24
|
-
# Label Builder functions will receive a Rack env and a status code, and must
|
25
|
-
# return a hash with the labels for that request. They must also accept an empty
|
26
|
-
# env, and return a hash with the correct keys. This is necessary to initialize
|
27
|
-
# the metrics with the correct set of labels.
|
17
|
+
# The request counter metric is broken down by code, method and path.
|
18
|
+
# The request duration metric is broken down by method and path.
|
28
19
|
class Collector
|
29
20
|
attr_reader :app, :registry
|
30
21
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prometheus-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0.pre.alpha.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Kochie
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-10-
|
13
|
+
date: 2019-10-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: benchmark-ips
|
@@ -84,11 +84,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
84
84
|
version: '0'
|
85
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 1.3.1
|
90
90
|
requirements: []
|
91
|
-
|
91
|
+
rubyforge_project:
|
92
|
+
rubygems_version: 2.7.6
|
92
93
|
signing_key:
|
93
94
|
specification_version: 4
|
94
95
|
summary: A suite of instrumentation metric primitivesthat can be exposed through a
|