prometheus-client-mmap 0.19.1 → 0.21.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +27 -0
- data/ext/fast_mmaped_file/extconf.rb +1 -1
- data/ext/fast_mmaped_file_rs/.cargo/config.toml +23 -0
- data/ext/fast_mmaped_file_rs/Cargo.lock +790 -0
- data/ext/fast_mmaped_file_rs/Cargo.toml +30 -0
- data/ext/fast_mmaped_file_rs/README.md +52 -0
- data/ext/fast_mmaped_file_rs/extconf.rb +30 -0
- data/ext/fast_mmaped_file_rs/src/error.rs +174 -0
- data/ext/fast_mmaped_file_rs/src/file_entry.rs +579 -0
- data/ext/fast_mmaped_file_rs/src/file_info.rs +190 -0
- data/ext/fast_mmaped_file_rs/src/lib.rs +79 -0
- data/ext/fast_mmaped_file_rs/src/macros.rs +14 -0
- data/ext/fast_mmaped_file_rs/src/map.rs +492 -0
- data/ext/fast_mmaped_file_rs/src/mmap.rs +151 -0
- data/ext/fast_mmaped_file_rs/src/parser.rs +346 -0
- data/ext/fast_mmaped_file_rs/src/raw_entry.rs +473 -0
- data/ext/fast_mmaped_file_rs/src/testhelper.rs +222 -0
- data/ext/fast_mmaped_file_rs/src/util.rs +121 -0
- data/lib/prometheus/client/configuration.rb +2 -1
- data/lib/prometheus/client/formats/text.rb +35 -2
- data/lib/prometheus/client/helper/mmaped_file.rb +8 -1
- data/lib/prometheus/client/page_size.rb +17 -0
- data/lib/prometheus/client/version.rb +1 -1
- data/vendor/c/hashmap/.gitignore +52 -0
- data/vendor/c/jsmn/.travis.yml +4 -0
- metadata +58 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ddabdc180689b2098a062a41246907e31fc76ce668a4f1ca520c225f802a6dcd
|
4
|
+
data.tar.gz: b41caad16aa1f6710440fca61baf78cc84dd1e9a187f20b7e59afcb39d736b6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5275669d21536a3d379ca606bff7f3df76aaa61df01b8f4ff5ad599304dfb19ec73f156e07eac2157c257373eb49bd4cfdaf951d6321b3dd3af4eb9245e3067
|
7
|
+
data.tar.gz: 65e34ad07012ea9e5e8c61594bbffbf37fa26019bdb673014b597abf10107c5b80c9f6ab065313402225fefcbc6494472f46b7e31e181eeac547e30196c6e071
|
data/README.md
CHANGED
@@ -34,6 +34,20 @@ http_requests = prometheus.counter(:http_requests, 'A counter of HTTP requests m
|
|
34
34
|
http_requests.increment
|
35
35
|
```
|
36
36
|
|
37
|
+
## Rust extension (experimental)
|
38
|
+
|
39
|
+
In an effort to improve maintainability, there is now an optional Rust
|
40
|
+
implementation that reads the metric files and outputs the multiprocess
|
41
|
+
metrics to text. If `rustc` is available, then the Rust extension will
|
42
|
+
be built automatically. The `use_rust` keyword argument can be used:
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
puts Prometheus::Client::Formats::Text.marshal_multiprocess(use_rust: true)
|
46
|
+
```
|
47
|
+
|
48
|
+
Note that this parameter will likely be deprecated and removed once the Rust
|
49
|
+
extension becomes the default mode.
|
50
|
+
|
37
51
|
### Rack middleware
|
38
52
|
|
39
53
|
There are two [Rack][2] middlewares available, one to expose a metrics HTTP
|
@@ -230,6 +244,19 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
|
230
244
|
|
231
245
|
To install this gem onto your local machine, run `bundle exec rake install`.
|
232
246
|
|
247
|
+
### Releasing a new version
|
248
|
+
|
249
|
+
To release a new version:
|
250
|
+
|
251
|
+
1. Update `lib/prometheus/client/version.rb` with the version number.
|
252
|
+
1. Update `CHANGELOG.md` with the changes in the release.
|
253
|
+
1. Create a merge request and merge it to `master`.
|
254
|
+
1. Push a new tag to the repository.
|
255
|
+
|
256
|
+
The new version with precompiled, native gems will automatically be
|
257
|
+
published to [RubyGems](https://rubygems.org/gems/prometheus-client-mmap) when the
|
258
|
+
pipeline for the tag completes.
|
259
|
+
|
233
260
|
[1]: https://github.com/prometheus/prometheus
|
234
261
|
[2]: http://rack.github.io/
|
235
262
|
[3]: https://gitlab.com/gitlab-org/prometheus-client-mmap/badges/master/pipeline.svg
|
@@ -0,0 +1,23 @@
|
|
1
|
+
[target.aarch64-apple-darwin]
|
2
|
+
# Without this flag, when linking static libruby, the linker removes symbols
|
3
|
+
# (such as `_rb_ext_ractor_safe`) which it thinks are dead code... but they are
|
4
|
+
# not, and they need to be included for the `embed` feature to work with static
|
5
|
+
# Ruby.
|
6
|
+
rustflags = [
|
7
|
+
"-C", "link-dead-code=on",
|
8
|
+
"-C", "link-arg=-undefined",
|
9
|
+
"-C", "link-arg=dynamic_lookup",
|
10
|
+
]
|
11
|
+
|
12
|
+
[target.x86_64-apple-darwin]
|
13
|
+
rustflags = [
|
14
|
+
"-C", "link-dead-code=on",
|
15
|
+
"-C", "link-arg=-undefined",
|
16
|
+
"-C", "link-arg=dynamic_lookup",
|
17
|
+
]
|
18
|
+
|
19
|
+
[target.aarch64-unknown-linux-gnu]
|
20
|
+
rustflags = [ "-C", "link-dead-code=on" ]
|
21
|
+
|
22
|
+
[target.x86_64-unknown-linux-gnu]
|
23
|
+
rustflags = [ "-C", "link-dead-code=on" ]
|