Skip to content

Conversation

@mtrezza
Copy link
Member

@mtrezza mtrezza commented Nov 9, 2025

Pull Request

Issue

Performance step in CI not working properly.

Approach

  • Reduce iterations to 1000.
  • Base branch now runs PR perf script.

Summary by CodeRabbit

  • Chores

    • Reduced performance benchmark iterations from 10,000 to 1,000 in CI/CD workflows and benchmark configuration.
  • Documentation

    • Updated contribution guidelines to reflect new benchmark iteration count.

@parse-github-assistant
Copy link

parse-github-assistant bot commented Nov 9, 2025

🚀 Thanks for opening this pull request!

@coderabbitai
Copy link

coderabbitai bot commented Nov 9, 2025

📝 Walkthrough

Walkthrough

This pull request reduces the default benchmark iteration count from 10,000 to 1,000 across the performance benchmarking infrastructure, including the GitHub Actions workflow configuration, contributing documentation, and benchmark implementation code.

Changes

Cohort / File(s) Summary
Benchmark iteration configuration
benchmark/performance.js
Reduced default ITERATIONS constant from 10000 to 1000, adjusting the measurement workload density while preserving methodology
CI workflow messaging
.github/workflows/ci-performance.yml
Updated PR comment generation to reflect 1k iterations instead of 10k as the default benchmark count
Contributing guide
CONTRIBUTING.md
Updated performance benchmarking guidance documentation to reference 1,000 iterations instead of 10,000

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

  • Changes are consistent parameter value reductions applied uniformly across three related files
  • No logic modifications, control flow changes, or error handling alterations
  • Documentation updates align directly with code changes

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: fixing a performance step in CI by reducing iterations from 10,000 to 1,000.
Description check ✅ Passed The description includes the Issue section and Approach section, though it lacks a specific issue link (shows 'Performance step in CI not working properly' as description rather than a link).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b73ebac and a6a2588.

📒 Files selected for processing (3)
  • .github/workflows/ci-performance.yml (1 hunks)
  • CONTRIBUTING.md (1 hunks)
  • benchmark/performance.js (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-09-21T15:43:32.265Z
Learnt from: mtrezza
Repo: parse-community/parse-server PR: 9858
File: src/GraphQL/ParseGraphQLServer.js:176-178
Timestamp: 2025-09-21T15:43:32.265Z
Learning: The GraphQL playground feature in ParseGraphQLServer.js (applyPlayground method) is intended for development environments only, which is why it includes the master key in client-side headers.

Applied to files:

  • benchmark/performance.js
📚 Learning: 2025-04-30T19:31:35.344Z
Learnt from: RahulLanjewar93
Repo: parse-community/parse-server PR: 9744
File: spec/ParseLiveQuery.spec.js:0-0
Timestamp: 2025-04-30T19:31:35.344Z
Learning: In the Parse Server codebase, the functions in QueryTools.js are typically tested through end-to-end behavior tests rather than direct unit tests, even though the functions are exported from the module.

Applied to files:

  • benchmark/performance.js
📚 Learning: 2025-11-08T13:46:04.917Z
Learnt from: mtrezza
Repo: parse-community/parse-server PR: 0
File: :0-0
Timestamp: 2025-11-08T13:46:04.917Z
Learning: For new Parse Server options, verify that the option is documented in src/Options/index.js and that npm run definitions has been executed to reflect changes in src/Options/docs.js and src/Options/Definitions.js. README.md documentation is a bonus but not required for new options.

Applied to files:

  • benchmark/performance.js
🔇 Additional comments (3)
.github/workflows/ci-performance.yml (1)

307-309: Consistent iteration count messaging in CI output.

The updated messaging correctly reflects the 1,000 iteration default. The bash variable expansion ${BENCHMARK_ITERATIONS:-1000} properly aligns with the environment variable read in benchmark/performance.js.

CONTRIBUTING.md (1)

344-344: Documentation updated to reflect new iteration count.

The contributor guidance has been correctly updated to reflect the 1,000 iteration default for full benchmarks, maintaining clarity for developers running performance tests locally.

benchmark/performance.js (1)

22-22: Iteration count reduction is consistent with workflow and documentation.

The default iteration count has been appropriately reduced from 10,000 to 1,000, maintaining the environment variable override capability for flexibility in CI/local testing scenarios.

To ensure no other hardcoded 10,000 iteration values exist elsewhere in the benchmark infrastructure, run:


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@parseplatformorg
Copy link
Contributor

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@mtrezza mtrezza merged commit 818824f into parse-community:alpha Nov 9, 2025
18 of 25 checks passed
@mtrezza mtrezza deleted the ci/fix-perf branch November 9, 2025 01:20
@codecov
Copy link

codecov bot commented Nov 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.05%. Comparing base (b73ebac) to head (a6a2588).
⚠️ Report is 2 commits behind head on alpha.

Additional details and impacted files
@@            Coverage Diff             @@
##            alpha    #9922      +/-   ##
==========================================
+ Coverage   92.63%   93.05%   +0.42%     
==========================================
  Files         187      187              
  Lines       15224    15224              
  Branches      177      177              
==========================================
+ Hits        14102    14167      +65     
+ Misses       1106     1045      -61     
+ Partials       16       12       -4     

☔ View full report in Codecov by Sentry.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants