From 11f69429528f52f8ae2c0a164cab1c44f47bc0e0 Mon Sep 17 00:00:00 2001 From: Alisue Date: Wed, 20 Nov 2024 09:11:11 +0900 Subject: [PATCH] Officially remove OpenBSD support Because we cannot fix the CI issue on OpenBSD and we cannot support it. In case, we keep the code for OpenBSD but it is not tested and we cannot guarantee its correctness. --- .github/workflows/test.yml | 11 +++++----- README.md | 44 ++++++++++++++++++++------------------ 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1039aa4..c27029f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -107,11 +107,12 @@ jobs: test-cross-platform: strategy: matrix: - # don't forget to update current os versions, see https://github.com/cross-platform-actions/action?tab=readme-ov-file#supported-platforms include: - - { os: freebsd, version: "14.1", prepare_cmd: "sudo pkg install -y rust cmake rust-bindgen-cli" } - # 7.6 is not supported by action@v0.25.0 yet - - { os: openbsd, version: "7.5", prepare_cmd: "sudo pkg_add rust cmake llvm%17; export LIBCLANG_PATH=/usr/local/llvm17/lib" } + - { + os: freebsd, + version: "14.1", + prepare_cmd: "sudo pkg install -y rust cmake rust-bindgen-cli", + } fail-fast: false runs-on: ubuntu-latest name: "test (${{matrix.os}}-${{matrix.version}})" @@ -127,7 +128,7 @@ jobs: target/ key: ${{matrix.os}}-${{matrix.version}}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Cross-platform test - uses: cross-platform-actions/action@v0.25.0 + uses: cross-platform-actions/action@595d543e5d1aeb6d48c0a176965028afe56c7018 with: operating_system: ${{matrix.os}} version: "${{matrix.version}}" diff --git a/README.md b/README.md index 60435c9..52d41d5 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,9 @@ # ⏱ metrics-process This crate provides a [Prometheus]-style [process metrics] collector for the -[metrics] crate, supporting Linux, macOS, Windows, FreeBSD, and OpenBSD. The -original collector code was manually rewritten in Rust from the official -Prometheus client for Go ([client_golang]), \*BSD support code was written -from scratch. +[metrics] crate, supporting Linux, macOS, Windows, and FreeBSD. The original +collector code was manually rewritten in Rust from the official Prometheus +client for Go ([client_golang]), \*BSD support code was written from scratch. [Prometheus]: https://prometheus.io/ [process metrics]: https://prometheus.io/docs/instrumenting/writing_clientlibs/#process-metrics @@ -35,29 +34,32 @@ This crate supports the following metrics provided by [Prometheus] for | `process_threads` | Number of OS threads in the process. | For each platform, it is equivalent to what the official Prometheus client for -Go ([client_golang]) provides. +Go ([client_golang]) provides. Note that code for OpenBSD exists but is not +tested and we cannot guarantee its correctness. > [!NOTE] > -> Prior to version 2.0.0, the `process_cpu_seconds_total` metric was Gauge instead of Counter. -> Enable `use-gauge-on-cpu-seconds-total` feature to use the previous behavior. - -| Metric name | Linux | macOS | Windows | FreeBSD | OpenBSD | -| ---------------------------------- | ----- | ----- | ------- | ------- | ------- | -| `process_cpu_seconds_total` | x | x | x | x | x | -| `process_open_fds` | x | x | x | x | | -| `process_max_fds` | x | x | x | x | x | -| `process_virtual_memory_bytes` | x | x | x | x | | -| `process_virtual_memory_max_bytes` | x | x | | x | | -| `process_resident_memory_bytes` | x | x | x | x | x | -| `process_heap_bytes` | | | | | | -| `process_start_time_seconds` | x | x | x | x | x | -| `process_threads` | x | x | | x | | +> Prior to version 2.0.0, the `process_cpu_seconds_total` metric was Gauge +> instead of Counter. Enable `use-gauge-on-cpu-seconds-total` feature to use the +> previous behavior. + +| Metric name | Linux | macOS | Windows | FreeBSD | (OpenBSD) | +| ---------------------------------- | ----- | ----- | ------- | ------- | --------- | +| `process_cpu_seconds_total` | x | x | x | x | x | +| `process_open_fds` | x | x | x | x | | +| `process_max_fds` | x | x | x | x | x | +| `process_virtual_memory_bytes` | x | x | x | x | | +| `process_virtual_memory_max_bytes` | x | x | | x | | +| `process_resident_memory_bytes` | x | x | x | x | x | +| `process_heap_bytes` | | | | | | +| `process_start_time_seconds` | x | x | x | x | x | +| `process_threads` | x | x | | x | | > [!NOTE] > -> If you only need to compile this crate on non-supported platforms, you can use the `dummy` feature. -> Enabling this feature activates a dummy collector, which returns an empty `Metrics`. +> If you only need to compile this crate on non-supported platforms, you can use +> the `dummy` feature. Enabling this feature activates a dummy collector, which +> returns an empty `Metrics`. [client_golang]: https://github.com/prometheus/client_golang