googleapis / googleapis/google-cloud-rust

pubsub: add CPU utilization tracking and idle stress scenario to throughput benchmark

Open
#6,110 0 comments 0 reactions 0 assignees View on GitHub
api: pubsub testing
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.