Skip to content

feat(storage): introduce basic appendable upload benchmark scenario - #6149

Open
vsharonlynn wants to merge 1 commit into
googleapis:mainfrom
vsharonlynn:appendable_upload_benchmark_2
Open

feat(storage): introduce basic appendable upload benchmark scenario#6149
vsharonlynn wants to merge 1 commit into
googleapis:mainfrom
vsharonlynn:appendable_upload_benchmark_2

Conversation

@vsharonlynn

@vsharonlynn vsharonlynn commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Issue #5716.

@product-auto-label product-auto-label Bot added the api: storage Issues related to the Cloud Storage API. label Jul 23, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new benchmark tool, storage-benchmark-appendable-object, to measure Cloud Storage appendable upload performance, and implements tracing annotations for the AppendableObjectWriter along with corresponding unit tests. The reviewer feedback highlights several key improvement opportunities: optimizing memory usage in the benchmark scenario by reusing chunks instead of pre-allocating them all in a Vec to prevent potential OOM crashes; allowing fewer than 100 measured iterations to facilitate quicker local testing; fixing shell argument forwarding in run_all.sh using bash arrays to prevent word-splitting bugs; and optimizing the flush tracing implementation by recording the persisted size directly from the returned result.

Comment thread src/storage/benchmarks/appendable_object/src/scenarios.rs Outdated
Comment thread src/storage/benchmarks/appendable_object/src/main.rs Outdated
Comment thread src/storage/benchmarks/appendable_object/run_all.sh Outdated
Comment thread src/storage/benchmarks/appendable_object/run_all.sh Outdated
Comment thread src/storage/src/storage/tracing.rs
@codecov

codecov Bot commented Jul 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.57%. Comparing base (b3a930b) to head (81039ea).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6149      +/-   ##
==========================================
- Coverage   96.57%   96.57%   -0.01%     
==========================================
  Files         264      264              
  Lines       66577    66577              
==========================================
- Hits        64297    64296       -1     
- Misses       2280     2281       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@vsharonlynn
vsharonlynn force-pushed the appendable_upload_benchmark_2 branch 2 times, most recently from dd65057 to af23c27 Compare July 27, 2026 11:51
@vsharonlynn vsharonlynn changed the title feat(storage): implement appendable upload benchmark feat(storage): introduce basic appendable upload benchmark scenario Jul 27, 2026
@vsharonlynn
vsharonlynn force-pushed the appendable_upload_benchmark_2 branch from af23c27 to 1899259 Compare July 27, 2026 12:33
@vsharonlynn
vsharonlynn force-pushed the appendable_upload_benchmark_2 branch 4 times, most recently from 675ff6c to 47dca79 Compare July 27, 2026 13:31
@vsharonlynn
vsharonlynn force-pushed the appendable_upload_benchmark_2 branch from 47dca79 to 81039ea Compare July 27, 2026 13:42
@vsharonlynn
vsharonlynn marked this pull request as ready for review July 27, 2026 15:34
@vsharonlynn
vsharonlynn requested review from a team as code owners July 27, 2026 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: storage Issues related to the Cloud Storage API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant