Skip to content

test: update load test for deeper paths and newer schema version#2915

Merged
omer-topal merged 1 commit intomasterfrom
omer/update-performance-test
Apr 23, 2026
Merged

test: update load test for deeper paths and newer schema version#2915
omer-topal merged 1 commit intomasterfrom
omer/update-performance-test

Conversation

@omer-topal
Copy link
Copy Markdown
Contributor

@omer-topal omer-topal commented Apr 23, 2026

Summary by CodeRabbit

  • Documentation
    • Updated performance metrics and benchmark results in README.
    • Updated load testing documentation to target Permify 1.6.9.
    • Enhanced test scripts with improved write and read test procedures, including updated metrics and refined ID tracking logic.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 23, 2026

📝 Walkthrough

Walkthrough

Performance documentation is updated with new load-test metrics and k6 test scripts. The target Permify version is updated to 1.6.9. A dedicated Write Script is introduced to seed large data volumes, and the read/check script is modified to improve ID tracking and randomization.

Changes

Cohort / File(s) Summary
Performance Metrics Updates
README.md, docs/performance-test/README.md
KPI values refreshed in performance metrics tables, including request counts, data volumes, latency percentiles, and virtual user scaling measurements.
K6 Load Test Scripts
docs/performance-test/README.md
New Write Script added for seeding tuple and attribute data via POST /v1/tenants/<TENANT_ID>/data/write in batches. Read/check script refactored to reduce ID reuse probability (0.3 → 0.1), track entity and subject IDs independently, and randomly select entity.type between `content` and `interaction`. Permify target version updated to 1.6.9; pgcat pooling note removed.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • PR #2112: Directly modifies the same performance test documentation files (README.md and docs/performance-test/README.md), including k6 script examples and performance metrics reporting.

Poem

🐰 Fresh metrics hop across the page,
Write scripts dance in a brand new stage,
K6 tests fetch and load with care,
Permify prancing through the air! 🚀
Performance blooms where data flows fair! 📊

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: updating load tests for deeper paths and upgrading to a newer Permify schema version (1.6.9).
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.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch omer/update-performance-test

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.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/performance-test/README.md`:
- Line 267: The table row for the metric "http_req_connecting" contains a typo
in the percentile column: "p(95=0s" is missing a closing parenthesis; update
that token to "p(95)=0s" so the row reads "| **http_req_connecting**        |
avg=2.57µs  min=0s    med=0s      max=2.04ms   p(90)=0s      p(95)=0s         
|", ensuring the p(95) notation matches the others.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 128fa534-6503-4861-a8c2-6dbc57bd833b

📥 Commits

Reviewing files that changed from the base of the PR and between cb0c9af and 155a56f.

📒 Files selected for processing (2)
  • README.md
  • docs/performance-test/README.md

| **data_sent** | 27 MB (268 kB/s) |
| **dropped_iterations** | 272433 (2696.482348/s) |
| **http_req_blocked** | avg=5.59µs min=0s med=2µs max=2.08ms p(90)=4µs p(95)=5µs |
| **http_req_connecting** | avg=2.57µs min=0s med=0s max=2.04ms p(90)=0s p(95=0s |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix typo in p(95) percentile notation.

Missing closing parenthesis in p(95=0s - should be p(95)=0s to match the formatting in other rows.

📝 Proposed fix
-| **http_req_connecting**        | avg=2.57µs  min=0s    med=0s      max=2.04ms   p(90)=0s      p(95=0s          |
+| **http_req_connecting**        | avg=2.57µs  min=0s    med=0s      max=2.04ms   p(90)=0s      p(95)=0s         |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| **http_req_connecting** | avg=2.57µs min=0s med=0s max=2.04ms p(90)=0s p(95=0s |
| **http_req_connecting** | avg=2.57µs min=0s med=0s max=2.04ms p(90)=0s p(95)=0s |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/performance-test/README.md` at line 267, The table row for the metric
"http_req_connecting" contains a typo in the percentile column: "p(95=0s" is
missing a closing parenthesis; update that token to "p(95)=0s" so the row reads
"| **http_req_connecting**        | avg=2.57µs  min=0s    med=0s      max=2.04ms
p(90)=0s      p(95)=0s          |", ensuring the p(95) notation matches the
others.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.57%. Comparing base (cb0c9af) to head (155a56f).
⚠️ Report is 3 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2915      +/-   ##
==========================================
+ Coverage   81.98%   82.57%   +0.60%     
==========================================
  Files          74       74              
  Lines       11215     8300    -2915     
==========================================
- Hits         9193     6853    -2340     
+ Misses       1486      911     -575     
  Partials      536      536              

☔ 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.

@omer-topal omer-topal merged commit bdac564 into master Apr 23, 2026
14 of 16 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant