prometheus-client 1.0.0 → 2.0.0
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a751a9f1859db76b453a64f74ae033ad6e197ccdd5e868fa72a267f074ea6cb
|
4
|
+
data.tar.gz: 5f68748f976f3c1ce975f950d352c4d015fa021bd1fc93e3dd337cff19bd8d7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: beb6e41e1a0fb2a269977646022a1ff055c17087a9736732f53df8ee6dedf3e14257c32584f756980148aeea0cc00635fc5d40c2730ef90b1a39dc5755c9798e
|
7
|
+
data.tar.gz: 34c04abc96d1059ff55a4284e33d5a621ec9f76a12325c41ec92ef7650d3deb5ed91bc19eb55124cae54ed904c48779196fc34577a72ed28e24778b07f88c99a
|
data/README.md
CHANGED
@@ -10,6 +10,13 @@ through a HTTP interface. Intended to be used together with a
|
|
10
10
|
|
11
11
|
## Usage
|
12
12
|
|
13
|
+
### Installation
|
14
|
+
|
15
|
+
For a global installation run `gem install prometheus-client`.
|
16
|
+
|
17
|
+
If you're using [Bundler](https://bundler.io/) add `gem "prometheus-client"` to your `Gemfile`.
|
18
|
+
Make sure to run `bundle install` afterwards.
|
19
|
+
|
13
20
|
### Overview
|
14
21
|
|
15
22
|
```ruby
|
@@ -254,6 +261,12 @@ class MyComponent
|
|
254
261
|
end
|
255
262
|
```
|
256
263
|
|
264
|
+
### `init_label_set`
|
265
|
+
|
266
|
+
The time series of a metric are not initialized until something happens. For counters, for example, this means that the time series do not exist until the counter is incremented for the first time.
|
267
|
+
|
268
|
+
To get around this problem the client provides the `init_label_set` method that can be used to initialise the time series of a metric for a given label set.
|
269
|
+
|
257
270
|
### Reserved labels
|
258
271
|
|
259
272
|
The following labels are reserved by the client library, and attempting to use them in a
|
@@ -187,7 +187,7 @@ has created a good amount of research, benchmarks, and experimental stores, whic
|
|
187
187
|
weren't useful to include in this repo, but may be a useful resource or starting point
|
188
188
|
if you are building your own store.
|
189
189
|
|
190
|
-
Check out the [GoCardless Data Stores Experiments](gocardless/prometheus-client-ruby-data-stores-experiments)
|
190
|
+
Check out the [GoCardless Data Stores Experiments](https://github.com/gocardless/prometheus-client-ruby-data-stores-experiments)
|
191
191
|
repository for these.
|
192
192
|
|
193
193
|
## Sample, imaginary multi-process Data Store
|
@@ -47,7 +47,7 @@ module Prometheus
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def observe(value, labels: {})
|
50
|
-
bucket = buckets.find {|upper_limit| upper_limit
|
50
|
+
bucket = buckets.find {|upper_limit| upper_limit >= value }
|
51
51
|
bucket = "+Inf" if bucket.nil?
|
52
52
|
|
53
53
|
base_label_set = label_set_for(labels)
|
@@ -94,6 +94,16 @@ module Prometheus
|
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
97
|
+
def init_label_set(labels)
|
98
|
+
base_label_set = label_set_for(labels)
|
99
|
+
|
100
|
+
@store.synchronize do
|
101
|
+
(buckets + ["+Inf", "sum"]).each do |bucket|
|
102
|
+
@store.set(labels: base_label_set.merge(le: bucket.to_s), val: 0)
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
97
107
|
private
|
98
108
|
|
99
109
|
# Modifies the passed in parameter
|
@@ -45,6 +45,15 @@ module Prometheus
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
+
def init_label_set(labels)
|
49
|
+
base_label_set = label_set_for(labels)
|
50
|
+
|
51
|
+
@store.synchronize do
|
52
|
+
@store.set(labels: base_label_set.merge(quantile: "count"), val: 0)
|
53
|
+
@store.set(labels: base_label_set.merge(quantile: "sum"), val: 0)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
48
57
|
private
|
49
58
|
|
50
59
|
def reserved_labels
|
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:
|
4
|
+
version: 2.0.0
|
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:
|
13
|
+
date: 2020-01-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: benchmark-ips
|