prometheus-client-mmap 0.19.1 → 0.21.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 +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" ]
|