Bump prometheus-client-mmap to v0.21.0
What does this MR do and why?
This commit brings in the Rust implementation of to_metrics
but
does not yet use it.
This version also shells out to getconf PAGESIZE
once to determine
the page size for the operating system.
v0.21.0 requires RubyGems >= v3.3.22 since there is a bug in older versions that may install the musl version of the precompiled native extensions: https://github.com/rubygems/rubygems/pull/5852.
Diff: https://my.diffend.io/gems/prometheus-client-mmap/0.19.1/0.21.0
Relates to #408338 (closed)
Tests
These are the tests that I ran for Omnibus GitLab:
- Confirmed
curl http://localhost:8080/-/metrics
continues to work. - For x86 platforms, confirmed the
x86_64-linux
precompiled, native gem is installed:root@stanhu-gce:/opt/gitlab/embedded/bin# ./gem list | grep prometheus-client-mmap prometheus-client-mmap (0.21.0 x86_64-linux)
- Confirmed Rust extension is also available via
gitlab-rails console
:irb(main):001:0> Prometheus::Client::Formats::Text.rust_impl_available? => true
- Ubuntu 20.04 package build: https://gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/-/jobs/4186217693.
✅ - CentOS 7 package build: https://gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/-/jobs/4186225967
✅ (this verifies that the older glibc works fine with the precompiled extension) - AmazonLinux 2 arm64: https://gitlab.com/gitlab-org/build/omnibus-gitlab-mirror/-/jobs/4186225967
✅ (this verifies that the forced recompile for arm64 works, since rake-docker-compile uses Ubuntu 20.04 as the base image).[ec2-user@ec2-instance]$ ./gem list prometheus-client-mmap *** LOCAL GEMS *** prometheus-client-mmap (0.21.0)
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Stan Hu