prometheus-client-mmap 0.20.3 → 0.22.0
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 +13 -0
- data/ext/fast_mmaped_file_rs/src/mmap/inner.rs +708 -0
- data/ext/fast_mmaped_file_rs/src/mmap.rs +587 -25
- data/lib/prometheus/client/formats/text.rb +10 -1
- data/lib/prometheus/client/helper/mmaped_file.rb +8 -1
- data/lib/prometheus/client/version.rb +1 -1
- metadata +29 -10
@@ -46,13 +46,22 @@ module Prometheus
|
|
46
46
|
|
47
47
|
private
|
48
48
|
|
49
|
+
def load_rust_extension
|
50
|
+
begin
|
51
|
+
ruby_version = /(\d+\.\d+)/.match(RUBY_VERSION)
|
52
|
+
require_relative "../../../#{ruby_version}/fast_mmaped_file_rs"
|
53
|
+
rescue LoadError
|
54
|
+
require 'fast_mmaped_file_rs'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
49
58
|
def check_for_rust
|
50
59
|
# This will be evaluated on each invocation even with `||=` if
|
51
60
|
# `@rust_available` if false. Running a `require` statement is slow,
|
52
61
|
# so the `rust_impl_available?` method memoizes the result, external
|
53
62
|
# callers can only trigger this method a single time.
|
54
63
|
@rust_available = begin
|
55
|
-
|
64
|
+
load_rust_extension
|
56
65
|
true
|
57
66
|
rescue LoadError
|
58
67
|
Prometheus::Client.logger.info('FastMmapedFileRs unavailable')
|
@@ -1,6 +1,13 @@
|
|
1
1
|
require 'prometheus/client/helper/entry_parser'
|
2
2
|
require 'prometheus/client/helper/file_locker'
|
3
|
-
|
3
|
+
|
4
|
+
# load precompiled extension if available
|
5
|
+
begin
|
6
|
+
ruby_version = /(\d+\.\d+)/.match(RUBY_VERSION)
|
7
|
+
require_relative "../../../#{ruby_version}/fast_mmaped_file"
|
8
|
+
rescue LoadError
|
9
|
+
require 'fast_mmaped_file'
|
10
|
+
end
|
4
11
|
|
5
12
|
module Prometheus
|
6
13
|
module Client
|
metadata
CHANGED
@@ -1,15 +1,17 @@
|
|
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.22.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Schmidt
|
8
8
|
- Paweł Chojnacki
|
9
|
-
|
9
|
+
- Stan Hu
|
10
|
+
- Will Chandler
|
11
|
+
autorequire:
|
10
12
|
bindir: bin
|
11
13
|
cert_chain: []
|
12
|
-
date: 2023-04-
|
14
|
+
date: 2023-04-28 00:00:00.000000000 Z
|
13
15
|
dependencies:
|
14
16
|
- !ruby/object:Gem::Dependency
|
15
17
|
name: rb_sys
|
@@ -79,14 +81,28 @@ dependencies:
|
|
79
81
|
requirements:
|
80
82
|
- - "~>"
|
81
83
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
84
|
+
version: 1.2.1
|
83
85
|
type: :development
|
84
86
|
prerelease: false
|
85
87
|
version_requirements: !ruby/object:Gem::Requirement
|
86
88
|
requirements:
|
87
89
|
- - "~>"
|
88
90
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
91
|
+
version: 1.2.1
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: rake-compiler-dock
|
94
|
+
requirement: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - "~>"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 1.3.0
|
99
|
+
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 1.3.0
|
90
106
|
- !ruby/object:Gem::Dependency
|
91
107
|
name: ruby-prof
|
92
108
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,10 +117,12 @@ dependencies:
|
|
101
117
|
- - "~>"
|
102
118
|
- !ruby/object:Gem::Version
|
103
119
|
version: 0.16.2
|
104
|
-
description:
|
120
|
+
description:
|
105
121
|
email:
|
106
122
|
- ts@soundcloud.com
|
107
123
|
- pawel@gitlab.com
|
124
|
+
- stanhu@gmail.com
|
125
|
+
- wchandler@gitlab.com
|
108
126
|
executables: []
|
109
127
|
extensions:
|
110
128
|
- ext/fast_mmaped_file/extconf.rb
|
@@ -141,6 +159,7 @@ files:
|
|
141
159
|
- ext/fast_mmaped_file_rs/src/macros.rs
|
142
160
|
- ext/fast_mmaped_file_rs/src/map.rs
|
143
161
|
- ext/fast_mmaped_file_rs/src/mmap.rs
|
162
|
+
- ext/fast_mmaped_file_rs/src/mmap/inner.rs
|
144
163
|
- ext/fast_mmaped_file_rs/src/parser.rs
|
145
164
|
- ext/fast_mmaped_file_rs/src/raw_entry.rs
|
146
165
|
- ext/fast_mmaped_file_rs/src/testhelper.rs
|
@@ -197,7 +216,7 @@ homepage: https://gitlab.com/gitlab-org/prometheus-client-mmap
|
|
197
216
|
licenses:
|
198
217
|
- Apache-2.0
|
199
218
|
metadata: {}
|
200
|
-
post_install_message:
|
219
|
+
post_install_message:
|
201
220
|
rdoc_options: []
|
202
221
|
require_paths:
|
203
222
|
- lib
|
@@ -210,10 +229,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
210
229
|
requirements:
|
211
230
|
- - ">="
|
212
231
|
- !ruby/object:Gem::Version
|
213
|
-
version:
|
232
|
+
version: 3.3.22
|
214
233
|
requirements: []
|
215
|
-
rubygems_version: 3.
|
216
|
-
signing_key:
|
234
|
+
rubygems_version: 3.3.26
|
235
|
+
signing_key:
|
217
236
|
specification_version: 4
|
218
237
|
summary: A suite of instrumentation metric primitivesthat can be exposed through a
|
219
238
|
web services interface.
|