googleapis / googleapis/google-cloud-rust
pubsub: add CPU utilization tracking and idle stress scenario to throughput benchmark
- Dominant language
- Rust
- Stars
- 955
- Forks
- 144
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 279
Description
This issue tracks adding a dedicated resource utilization benchmark tool (e.g. `pubsub-cpu-benchmark` under `src/pubsub/benchmarks/`) to measure client CPU and memory footprint across idle and active phases.
As demonstrated in PR #6050 (https://github.com/googleapis/google-cloud-rust/pull/6050#discussion_r3590569283 and https://github.com/panimidi/pubsub-demo), measuring client process CPU utilization (`getrusage`) when spawning thousands of publishers—both at rest and under load—is critical to prevent CPU regressions.
We should include a benchmark like this to prevent regressions in the future.
Contributor guide
Research direction
Start by reviewing the existing benchmarks under src/pubsub/benchmarks/ and the discussion in PR #6050. Define the proposed pubsub-cpu-benchmark around client CPU and memory measurements during idle and active phases, including thousands of publishers and getrusage-based CPU tracking. Done means the benchmark can run both scenarios and provide results suitable for detecting regressions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100