prometheus-client-mmap 0.15.0 → 0.16.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/fast_mmaped_file/hashmap.c +410 -467
- data/ext/fast_mmaped_file/jsmn.c +259 -244
- data/ext/fast_mmaped_file/mmap.c +3 -0
- data/lib/fast_mmaped_file.bundle +0 -0
- data/lib/prometheus/client/helper/#json_parser.rb# +23 -0
- data/lib/prometheus/client/helper/file_locker.rb +5 -1
- data/lib/prometheus/client/helper/json_parser.rb +2 -0
- data/lib/prometheus/client/helper/mmaped_file.rb +1 -0
- data/lib/prometheus/client/label_set_validator.rb +5 -1
- data/lib/prometheus/client/version.rb +1 -1
- data/lib/prometheus/client.rb +4 -0
- metadata +4 -3
@@ -37,7 +37,7 @@ module Prometheus
|
|
37
37
|
valid?(labels)
|
38
38
|
|
39
39
|
unless @validated.empty? || match?(labels, @validated.first.last)
|
40
|
-
raise InvalidLabelSetError,
|
40
|
+
raise InvalidLabelSetError, "labels must have the same signature: (#{label_diff(labels, @validated.first.last)})"
|
41
41
|
end
|
42
42
|
|
43
43
|
@validated[labels.hash] = labels
|
@@ -45,6 +45,10 @@ module Prometheus
|
|
45
45
|
|
46
46
|
private
|
47
47
|
|
48
|
+
def label_diff(a, b)
|
49
|
+
"expected keys: #{b.keys.sort}, got: #{a.keys.sort}"
|
50
|
+
end
|
51
|
+
|
48
52
|
def match?(a, b)
|
49
53
|
a.keys.sort == b.keys.sort
|
50
54
|
end
|
data/lib/prometheus/client.rb
CHANGED
@@ -37,6 +37,10 @@ module Prometheus
|
|
37
37
|
::Prometheus::Client::MmapedValue.reset_and_reinitialize
|
38
38
|
end
|
39
39
|
|
40
|
+
def cleanup!
|
41
|
+
Dir.glob("#{configuration.multiprocess_files_dir}/*.db").each { |f| File.unlink(f) if File.exist?(f) }
|
42
|
+
end
|
43
|
+
|
40
44
|
# With `force: false`: reinitializes metric files only for processes with the changed PID.
|
41
45
|
# With `force: true`: reinitializes all metrics files.
|
42
46
|
# Always keeps the registry.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prometheus-client-mmap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Schmidt
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-07-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fuzzbert
|
@@ -123,6 +123,7 @@ files:
|
|
123
123
|
- lib/prometheus/client/counter.rb
|
124
124
|
- lib/prometheus/client/formats/text.rb
|
125
125
|
- lib/prometheus/client/gauge.rb
|
126
|
+
- lib/prometheus/client/helper/#json_parser.rb#
|
126
127
|
- lib/prometheus/client/helper/entry_parser.rb
|
127
128
|
- lib/prometheus/client/helper/file_locker.rb
|
128
129
|
- lib/prometheus/client/helper/json_parser.rb
|
@@ -181,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
182
|
- !ruby/object:Gem::Version
|
182
183
|
version: '0'
|
183
184
|
requirements: []
|
184
|
-
rubygems_version: 3.
|
185
|
+
rubygems_version: 3.3.16
|
185
186
|
signing_key:
|
186
187
|
specification_version: 4
|
187
188
|
summary: A suite of instrumentation metric primitivesthat can be exposed through a
|