Skip to content

Update the datasize to match the automated perfs#3753

Merged
madolson merged 3 commits into
valkey-io:unstablefrom
roshkhatri:increase-data-size
May 18, 2026
Merged

Update the datasize to match the automated perfs#3753
madolson merged 3 commits into
valkey-io:unstablefrom
roshkhatri:increase-data-size

Conversation

@roshkhatri

@roshkhatri roshkhatri commented May 18, 2026

Copy link
Copy Markdown
Member

Update the data-size to match the automated perf benchmarking as 96 is also embedded so moving to 128 to test for non-embedded.

I have also update the wfs to use the config files from the valkey-perf-benchmark so we don't need to track the configs in 2 places, everything will be pulled from source valkey-perf-benchmark and the configs will be standard throughout all runs

Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
@coderabbitai

coderabbitai Bot commented May 18, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR increases ARM/x86 benchmark data_sizes upper bound from 96 to 128 and updates two GitHub Actions workflows to preprocess and reference in-repo benchmark configs (adds jq filtering, an x86-specific jq override, and changes CONFIG_FILE paths).

Changes

Benchmark workflows and configs

Layer / File(s) Summary
Data size configuration expansion
.github/benchmark_configs/benchmark-config-arm.json, .github/benchmark_configs/benchmark-config-x86.json
Both ARM and x86 benchmark JSON configs update the data_sizes array second element from 96 to 128.
benchmark-on-label workflow edits
.github/workflows/benchmark-on-label.yml
Adds a jq preprocessing step filtering data_sizes to <=1024, updates cluster_mode editing target to configs/benchmark-config-arm.json, and sets the run step to use configs/benchmark-config-arm.json as CONFIG_FILE.
benchmark-release workflow edits
.github/workflows/benchmark-release.yml
Updates strategy.matrix.include entries, removes matrix.config echo lines, adds jq to dependency installation and an x86-conditional jq step to override client_cpu_range, and changes the run step to use configs/benchmark-config-arm.json as CONFIG_FILE.

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately captures the main objective: updating data sizes in benchmark configs from 96 to 128 to match automated performance testing requirements.
Description check ✅ Passed The description clearly explains the rationale for data-size changes (from 96 to 128 for non-embedded testing) and the workflow consolidation to use valkey-perf-benchmark configs, both reflected in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@roshkhatri roshkhatri marked this pull request as ready for review May 18, 2026 18:02

@sarthakaggarwal97 sarthakaggarwal97 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.

Thanks!

@codecov

codecov Bot commented May 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.92%. Comparing base (bfeb368) to head (0ba2f41).
⚠️ Report is 1 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #3753      +/-   ##
============================================
+ Coverage     76.63%   76.92%   +0.28%     
============================================
  Files           162      162              
  Lines         80695    80695              
============================================
+ Hits          61840    62074     +234     
+ Misses        18855    18621     -234     

see 24 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
@roshkhatri roshkhatri moved this to To be backported in Valkey 7.2 May 18, 2026
@roshkhatri roshkhatri moved this to To be backported in Valkey 8.0 May 18, 2026
@roshkhatri roshkhatri moved this to To be backported in Valkey 8.1 May 18, 2026
@roshkhatri roshkhatri moved this to To be backported in Valkey 9.0 May 18, 2026
@roshkhatri roshkhatri moved this to To be backported in Valkey 9.1 May 18, 2026
@roshkhatri roshkhatri requested a review from madolson May 18, 2026 18:44

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.github/workflows/benchmark-on-label.yml (1)

91-96: 💤 Low value

Consider adding a comment explaining the data_sizes filtering

The jq filtering step removes data sizes > 1024 from the benchmark configuration. While this filtering is correct and will execute successfully, adding an explanatory comment would clarify the intent for future maintainers—for example, noting that this constraint keeps PR benchmarks manageable by excluding very large data sizes.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/benchmark-on-label.yml around lines 91 - 96, Add an inline
comment above the GitHub Actions step named "Filter data_sizes > 1024 from
benchmark config" (the shell block that sets CONFIG_FILE and runs the jq filter)
explaining that the jq expression removes data_sizes larger than 1024 to keep PR
benchmark runs small/manageable and avoid long-running/expensive tests; update
the shell block so the comment clearly states the intent and that it targets
PR/quick benchmarking only.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/benchmark-on-label.yml:
- Around line 91-96: Add an inline comment above the GitHub Actions step named
"Filter data_sizes > 1024 from benchmark config" (the shell block that sets
CONFIG_FILE and runs the jq filter) explaining that the jq expression removes
data_sizes larger than 1024 to keep PR benchmark runs small/manageable and avoid
long-running/expensive tests; update the shell block so the comment clearly
states the intent and that it targets PR/quick benchmarking only.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0a4f3815-264c-44ff-a81d-aab26dd57d82

📥 Commits

Reviewing files that changed from the base of the PR and between e8e6329 and 0ba2f41.

📒 Files selected for processing (2)
  • .github/workflows/benchmark-on-label.yml
  • .github/workflows/benchmark-release.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/benchmark-release.yml

@madolson madolson merged commit 54fbe4a into valkey-io:unstable May 18, 2026
62 checks passed
valkeyrie-ops Bot pushed a commit that referenced this pull request May 18, 2026
Update the data-size to match the automated perf benchmarking as 96 is
also embedded so moving to 128 to test for non-embedded.

I have also update the wfs to use the config files from the
`valkey-perf-benchmark` so we don't need to track the configs in 2
places, everything will be pulled from source `valkey-perf-benchmark`
and the configs will be standard throughout all runs

---------

Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
madolson pushed a commit that referenced this pull request May 19, 2026
Update the data-size to match the automated perf benchmarking as 96 is
also embedded so moving to 128 to test for non-embedded.

I have also update the wfs to use the config files from the
`valkey-perf-benchmark` so we don't need to track the configs in 2
places, everything will be pulled from source `valkey-perf-benchmark`
and the configs will be standard throughout all runs

---------

Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
@sarthakaggarwal97 sarthakaggarwal97 moved this from To be backported to Done in Valkey 9.1 May 19, 2026
roshkhatri added a commit to roshkhatri/valkey that referenced this pull request May 26, 2026
PR valkey-io#3753 moved benchmark configs out of valkey/.github/benchmark_configs/
into valkey-perf-benchmark/configs/. Update the config path references
in the Generate benchmark config and Run benchmarks steps to match.

This aligns with how benchmark-on-label.yml references the config today.

Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
@zuiderkwast

Copy link
Copy Markdown
Contributor

Non-trivial backporting, needs manual work.

target branch lacks conflicted file(s): .github/workflows/benchmark-on-label.yml, .github/workflows/benchmark-release.yml

@sarthakaggarwal97

Copy link
Copy Markdown
Contributor

This perf benchmark is pretty new, not sure why it needs to be backported

@zuiderkwast

Copy link
Copy Markdown
Contributor

@sarthakaggarwal97 Can you remove it from the projects it should not be backported to then?

@sarthakaggarwal97

Copy link
Copy Markdown
Contributor

I removed it. Good datapoint that valkey-ci-agent handles such cases.

@roshkhatri

roshkhatri commented Jun 2, 2026

Copy link
Copy Markdown
Member Author

We need to backport these changes for the benchmark on label and release benchmark workflows

EDIT: Sorry nvm

valkeyrie-ops Bot pushed a commit that referenced this pull request Jun 17, 2026
Update the data-size to match the automated perf benchmarking as 96 is
also embedded so moving to 128 to test for non-embedded.

I have also update the wfs to use the config files from the
`valkey-perf-benchmark` so we don't need to track the configs in 2
places, everything will be pulled from source `valkey-perf-benchmark`
and the configs will be standard throughout all runs

---------

Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: To be backported
Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants