Skip to content

Update CHANGELOG.md for v0.6.31#1511

Merged
hackerwins merged 2 commits into
mainfrom
v0.6.31
Sep 17, 2025
Merged

Update CHANGELOG.md for v0.6.31#1511
hackerwins merged 2 commits into
mainfrom
v0.6.31

Conversation

@hackerwins

@hackerwins hackerwins commented Sep 17, 2025

Copy link
Copy Markdown
Member

What this PR does / why we need it:

Update CHANGELOG.md for v0.6.31

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:


Additional documentation:


Checklist:

  • Added relevant tests or not required
  • Addressed and resolved all CodeRabbit review comments
  • Didn't break anything

Summary by CodeRabbit

  • New Features
    • Project-level webhook configuration.
    • Project-level RemoveOnDetach setting.
  • Changes
    • Reduced unnecessary database updates when vectors or checkpoints are already in sync.
    • Simplified RPC logging.
    • Project listing command now supports a verbose output option.
    • Unified error handling with structured status and metadata.
  • Bug Fixes
    • Prevented overlapping compaction/push-pull operations on the same document.
  • Documentation
    • Updated API docs to v0.6.31.
  • Chores
    • Bumped application, chart, and artifact versions to 0.6.31.

@coderabbitai

coderabbitai Bot commented Sep 17, 2025

Copy link
Copy Markdown

Walkthrough

Adds release metadata bumps (CHANGELOG, Makefile, OpenAPI docs, Helm Chart) and introduces a per-document concurrency lock in server CompactDocument to serialize compaction and prevent overlapping operations for the same document.

Changes

Cohort / File(s) Summary of Changes
Changelog updates
CHANGELOG.md
Added Unreleased entries for v0.6.31 (2025-09-17) and v0.6.30 (2025-09-11); updated Added/Changed/Fixed lists.
Build/version bump
Makefile
Updated YORKIE_VERSION from 0.6.300.6.31.
OpenAPI metadata bump
api/docs/yorkie.base.yaml, api/docs/yorkie/v1/admin.openapi.yaml, api/docs/yorkie/v1/cluster.openapi.yaml, api/docs/yorkie/v1/resources.openapi.yaml, api/docs/yorkie/v1/yorkie.openapi.yaml
Bumped OpenAPI info.version from v0.6.30v0.6.31; no path/schema changes.
Helm chart metadata bump
build/charts/yorkie-cluster/Chart.yaml
Bumped version and appVersion from 0.6.300.6.31.
Server runtime change (concurrency)
server/server.go
Added per-document locker acquisition/release in CompactDocument (uses backend.Lockers.Locker with packs.DocKey(project.ID, docKey)) to serialize compaction and prevent overlapping push/pull operations. No public signatures changed.

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant Server
    participant Locker as LockerStore
    participant Backend as DocumentBackend

    Client->>Server: CompactDocument(projectID, docKey)
    alt acquire per-document lock
        Server->>Locker: Locker(packs.DocKey(projectID, docKey))
        Locker-->>Server: locker
        Note right of Server #DFF2E1: defer locker.Unlock() established
    end
    Server->>Backend: get docInfo / perform compaction
    Backend-->>Server: docInfo / compaction result
    Server->>Client: CompactDocument response
    Server->>Locker: locker.Unlock()
    Locker-->>Server: unlocked
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "Update CHANGELOG.md for v0.6.31" accurately describes a real and central part of the changeset—the changelog and accompanying metadata were bumped for v0.6.31—and is concise and specific. It does not mention a substantive runtime change present in the diff (server/server.go adds a per-document compaction lock), but the title still legitimately summarizes a primary intent of this PR. Overall the title is clear and related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch v0.6.31

📜 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 1441954 and 56abf97.

📒 Files selected for processing (1)
  • server/server.go (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
server/server.go (2)
server/backend/sync/locker.go (1)
  • Locker (80-95)
server/packs/pushpull.go (1)
  • DocKey (43-45)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: load-test
  • GitHub Check: build
  • GitHub Check: bench
🔇 Additional comments (1)
server/server.go (1)

183-188: Acquire the per-doc locker before deferring Unlock()

You create the locker then immediately call defer locker.Unlock(); acquire the lock first (locker.Lock() or locker.lock() depending on API) to ensure mutual exclusion and avoid unlocking an unlocked lock (panic).

File: server/server.go (lines 183-188)

Suggested change:

-	locker := r.backend.Lockers.Locker(packs.DocKey(project.ID, docKey))
-	defer locker.Unlock()
+	locker := r.backend.Lockers.Locker(packs.DocKey(project.ID, docKey))
+	// Acquire exclusive lock for compaction; adjust to locker.lock() if the method is unexported.
+	locker.Lock()
+	defer locker.Unlock()

Optional: use a non-blocking try‑lock and return a “document busy” error on contention.


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.

@hackerwins hackerwins marked this pull request as ready for review September 17, 2025 08:46

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
CHANGELOG.md (1)

10-23: v0.6.31 entry looks solid; minor markdownlint nit on bare URLs.

To satisfy MD034, wrap URLs in angle brackets (keeps current style minimal).

- - Move webhook configuration to project level by @ggyuchive in https://github.com/yorkie-team/yorkie/pull/1498
- - Reduce unnecessary DB updates when vectors are already in sync by @hackerwins in https://github.com/yorkie-team/yorkie/pull/1509
- - Reduce unnecessary DB updates when CPs are already in sync by @hackerwins in https://github.com/yorkie-team/yorkie/pull/1510
+ - Move webhook configuration to project level by @ggyuchive in <https://github.com/yorkie-team/yorkie/pull/1498>
+ - Reduce unnecessary DB updates when vectors are already in sync by @hackerwins in <https://github.com/yorkie-team/yorkie/pull/1509>
+ - Reduce unnecessary DB updates when CPs are already in sync by @hackerwins in <https://github.com/yorkie-team/yorkie/pull/1510>
- - Simplify RPC logging and its dependency by @hackerwins in https://github.com/yorkie-team/yorkie/pull/1499
- - Enhance project listing command with verbose output option by @hackerwins in https://github.com/yorkie-team/yorkie/pull/1501
- - Unify error handling with structured status and metadata by @hackerwins in https://github.com/yorkie-team/yorkie/pull/1504
+ - Simplify RPC logging and its dependency by @hackerwins in <https://github.com/yorkie-team/yorkie/pull/1499>
+ - Enhance project listing command with verbose output option by @hackerwins in <https://github.com/yorkie-team/yorkie/pull/1501>
+ - Unify error handling with structured status and metadata by @hackerwins in <https://github.com/yorkie-team/yorkie/pull/1504>
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 14ca62b and 1441954.

📒 Files selected for processing (8)
  • CHANGELOG.md (1 hunks)
  • Makefile (1 hunks)
  • api/docs/yorkie.base.yaml (1 hunks)
  • api/docs/yorkie/v1/admin.openapi.yaml (1 hunks)
  • api/docs/yorkie/v1/cluster.openapi.yaml (1 hunks)
  • api/docs/yorkie/v1/resources.openapi.yaml (1 hunks)
  • api/docs/yorkie/v1/yorkie.openapi.yaml (1 hunks)
  • build/charts/yorkie-cluster/Chart.yaml (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-07-09T01:45:42.906Z
Learnt from: KMSstudio
PR: yorkie-team/yorkie#1372
File: cmd/yorkie/signup.go:0-0
Timestamp: 2025-07-09T01:45:42.906Z
Learning: In the Yorkie CLI codebase (cmd/yorkie/), global variables like `username`, `password`, `rpcAddr`, and `insecure` are declared in `login.go` at package level and are reused across different commands (like `signup.go`) within the same `main` package, avoiding unnecessary duplication.

Applied to files:

  • Makefile
🪛 markdownlint-cli2 (0.17.2)
CHANGELOG.md

14-14: Bare URL used

(MD034, no-bare-urls)


15-15: Bare URL used

(MD034, no-bare-urls)


16-16: Bare URL used

(MD034, no-bare-urls)


20-20: Bare URL used

(MD034, no-bare-urls)


21-21: Bare URL used

(MD034, no-bare-urls)


22-22: Bare URL used

(MD034, no-bare-urls)


28-28: Bare URL used

(MD034, no-bare-urls)


32-32: Bare URL used

(MD034, no-bare-urls)


33-33: Bare URL used

(MD034, no-bare-urls)

🔇 Additional comments (8)
api/docs/yorkie/v1/resources.openapi.yaml (1)

6-6: Version bump only — looks good.

No schema/path changes; metadata aligns with v0.6.31.

api/docs/yorkie/v1/cluster.openapi.yaml (1)

6-6: OpenAPI info.version updated correctly.

No functional diffs beyond metadata.

api/docs/yorkie/v1/yorkie.openapi.yaml (1)

6-6: Metadata bump acknowledged.

Consistent with other docs.

api/docs/yorkie/v1/admin.openapi.yaml (1)

6-6: Admin OpenAPI version bump is consistent.

No endpoint/schema impact.

api/docs/yorkie.base.yaml (1)

5-5: Base doc version synchronized to v0.6.31.

All good.

build/charts/yorkie-cluster/Chart.yaml (1)

14-15: Chart version/appVersion aligned to 0.6.31.

Matches Makefile tag.

CHANGELOG.md (1)

24-36: v0.6.30 section headers added for structure — fine.

No further changes needed.

Makefile (1)

1-1: YORKIE_VERSION → 0.6.31 — OK.

No leftover 0.6.30 occurrences found; Makefile, Chart.yaml, and OpenAPI docs all declare 0.6.31.

@codecov

codecov Bot commented Sep 17, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 48.86%. Comparing base (14ca62b) to head (56abf97).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
server/server.go 0.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1511      +/-   ##
==========================================
- Coverage   48.86%   48.86%   -0.01%     
==========================================
  Files         182      182              
  Lines       22742    22745       +3     
==========================================
  Hits        11114    11114              
- Misses      10698    10701       +3     
  Partials      930      930              

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

@hackerwins-yorkie hackerwins-yorkie 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.

Go Benchmark Analysis 📊

This is a comparison result between the previous(14ca62b) and the current commit(8d8d94e).

Significant Changes (≥20% difference)

Benchmark suite Previous Current Change
BenchmarkSync/memory_sync_10000_test/ (ns/op) 10.50 ms 7.70 ms 🟢 -26.69%

Key Observations 🔍

  • In the BenchmarkSync suite, the memory_sync_10000_test benchmark showed a significant improvement with a decrease of 26.69% in execution time, from 10.50 ms to 7.70 ms. This indicates a notable optimization in memory synchronization performance.

  • Across various benchmark suites like BenchmarkDeleltionConcurrency, BenchmarkDocument, and BenchmarkSyncConcurrency, there are consistent trends of performance improvements ranging from 1% to 7%. This suggests ongoing optimizations and enhancements in the system's functionality.

  • The BenchmarkSnapshot suite demonstrates varying performance improvements in pulling and pushing snapshots based on the data size, with reductions in execution time ranging from 1% to 6.54%. This indicates efficient handling of different snapshot sizes in the system.

Detailed Test Results

BenchmarkDeactivate
Benchmark suite Previous Current Change
deactivate_with_100_total_50_attached/ (ns/op) 123.14 ms 119.62 ms 🟢 -2.86%
deactivate_with_100_total_50_attached/ (B/op) 12.86 MB 13.83 MB 🔴 +7.50%
deactivate_with_100_total_50_attached/ (allocs/op) 152,658 allocs 153,146 allocs 🔴 +0.32%
deactivate_with_100_total_100_attached/ (ns/op) 256.40 ms 237.86 ms 🟢 -7.23%
deactivate_with_100_total_100_attached/ (B/op) 23.92 MB 24.20 MB 🔴 +1.16%
deactivate_with_100_total_100_attached/ (allocs/op) 304,285 allocs 310,866 allocs 🔴 +2.16%
BenchmarkDeletionConcurrency
Benchmark suite Previous Current Change
concurrent_text_delete_range_100/ (ns/op) 602.10 ms 576.65 ms 🟢 -4.23%
concurrent_text_delete_range_100/ (B/op) 58.84 MB 56.60 MB 🟢 -3.81%
concurrent_text_delete_range_100/ (allocs/op) 620,115 allocs 619,987 allocs 🟢 -0.02%
concurrent_text_delete_range_1000/ (ns/op) 4.87 s 4.68 s 🟢 -3.88%
concurrent_text_delete_range_1000/ (B/op) 344.17 MB 346.71 MB 🔴 +0.74%
concurrent_text_delete_range_1000/ (allocs/op) 5,904,001 allocs 5,887,933 allocs 🟢 -0.27%
concurrent_tree_delete_range_100/ (ns/op) 628.89 ms 593.54 ms 🟢 -5.62%
concurrent_tree_delete_range_100/ (B/op) 73.96 MB 71.02 MB 🟢 -3.99%
concurrent_tree_delete_range_100/ (allocs/op) 688,167 allocs 684,945 allocs 🟢 -0.47%
concurrent_tree_delete_range_1000/ (ns/op) 5.70 s 5.42 s 🟢 -4.90%
concurrent_tree_delete_range_1000/ (B/op) 896.17 MB 893.69 MB 🟢 -0.28%
concurrent_tree_delete_range_1000/ (allocs/op) 6,461,306 allocs 6,475,836 allocs 🔴 +0.22%
concurrent_text_edit_delete_all_100/ (ns/op) 531.17 ms 509.76 ms 🟢 -4.03%
concurrent_text_edit_delete_all_100/ (B/op) 51.90 MB 52.32 MB 🔴 +0.80%
concurrent_text_edit_delete_all_100/ (allocs/op) 526,830 allocs 526,896 allocs 🔴 +0.01%
concurrent_text_edit_delete_all_1000/ (ns/op) 4.06 s 3.93 s 🟢 -3.42%
concurrent_text_edit_delete_all_1000/ (B/op) 295.16 MB 329.12 MB 🔴 +11.50%
concurrent_text_edit_delete_all_1000/ (allocs/op) 4,793,919 allocs 4,903,774 allocs 🔴 +2.29%
concurrent_tree_edit_delete_all_100/ (ns/op) 550.46 ms 515.46 ms 🟢 -6.36%
concurrent_tree_edit_delete_all_100/ (B/op) 60.89 MB 58.45 MB 🟢 -4.00%
concurrent_tree_edit_delete_all_100/ (allocs/op) 579,334 allocs 573,771 allocs 🟢 -0.96%
concurrent_tree_edit_delete_all_1000/ (ns/op) 4.80 s 4.49 s 🟢 -6.61%
concurrent_tree_edit_delete_all_1000/ (B/op) 699.19 MB 698.32 MB 🟢 -0.13%
concurrent_tree_edit_delete_all_1000/ (allocs/op) 5,262,510 allocs 5,273,242 allocs 🔴 +0.20%
BenchmarkDocument
Benchmark suite Previous Current Change
constructor_test/ (ns/op) 1683.00 ns 1663.00 ns 🟢 -1.19%
constructor_test/ (B/op) 1.59 KB 1.59 KB ⚪ 0%
constructor_test/ (allocs/op) 27 allocs 27 allocs ⚪ 0%
status_test/ (ns/op) 1294.00 ns 1240.00 ns 🟢 -4.17%
status_test/ (B/op) 1.56 KB 1.56 KB ⚪ 0%
status_test/ (allocs/op) 25 allocs 25 allocs ⚪ 0%
equals_test/ (ns/op) 9103.00 ns 8677.00 ns 🟢 -4.68%
equals_test/ (B/op) 8.33 KB 8.33 KB ⚪ 0%
equals_test/ (allocs/op) 139 allocs 139 allocs ⚪ 0%
nested_update_test/ (ns/op) 19079.00 ns 18185.00 ns 🟢 -4.69%
nested_update_test/ (B/op) 12.86 KB 12.86 KB ⚪ 0%
nested_update_test/ (allocs/op) 272 allocs 272 allocs ⚪ 0%
delete_test/ (ns/op) 25394.00 ns 24194.00 ns 🟢 -4.73%
delete_test/ (B/op) 16.37 KB 16.37 KB ⚪ 0%
delete_test/ (allocs/op) 352 allocs 352 allocs ⚪ 0%
object_test/ (ns/op) 9773.00 ns 9293.00 ns 🟢 -4.91%
object_test/ (B/op) 7.42 KB 7.42 KB ⚪ 0%
object_test/ (allocs/op) 124 allocs 124 allocs ⚪ 0%
array_test/ (ns/op) 30807.00 ns 30057.00 ns 🟢 -2.43%
array_test/ (B/op) 12.64 KB 12.64 KB ⚪ 0%
array_test/ (allocs/op) 283 allocs 283 allocs ⚪ 0%
text_test/ (ns/op) 35099.00 ns 33873.00 ns 🟢 -3.49%
text_test/ (B/op) 15.31 KB 15.31 KB 🟢 -0.03%
text_test/ (allocs/op) 503 allocs 503 allocs ⚪ 0%
text_composition_test/ (ns/op) 34248.00 ns 33162.00 ns 🟢 -3.17%
text_composition_test/ (B/op) 16.94 KB 16.94 KB 🔴 +0.03%
text_composition_test/ (allocs/op) 493 allocs 493 allocs ⚪ 0%
rich_text_test/ (ns/op) 93665.00 ns 90164.00 ns 🟢 -3.74%
rich_text_test/ (B/op) 38.48 KB 38.48 KB ⚪ 0%
rich_text_test/ (allocs/op) 1,185 allocs 1,185 allocs ⚪ 0%
counter_test/ (ns/op) 19355.00 ns 18548.00 ns 🟢 -4.17%
counter_test/ (B/op) 12.31 KB 12.31 KB ⚪ 0%
counter_test/ (allocs/op) 254 allocs 254 allocs ⚪ 0%
text_edit_gc_100/ (ns/op) 1.58 ms 1.55 ms 🟢 -2.18%
text_edit_gc_100/ (B/op) 808.45 KB 808.47 KB ⚪ 0%
text_edit_gc_100/ (allocs/op) 16,885 allocs 16,884 allocs ⚪ 0%
text_edit_gc_1000/ (ns/op) 61.12 ms 60.71 ms 🟢 -0.67%
text_edit_gc_1000/ (B/op) 46.27 MB 46.27 MB ⚪ 0%
text_edit_gc_1000/ (allocs/op) 181,588 allocs 181,589 allocs ⚪ 0%
text_split_gc_100/ (ns/op) 2.32 ms 2.36 ms 🔴 +1.64%
text_split_gc_100/ (B/op) 1.53 MB 1.53 MB ⚪ 0%
text_split_gc_100/ (allocs/op) 15,554 allocs 15,554 allocs ⚪ 0%
text_split_gc_1000/ (ns/op) 139.14 ms 139.42 ms 🔴 +0.20%
text_split_gc_1000/ (B/op) 137.28 MB 137.28 MB ⚪ 0%
text_split_gc_1000/ (allocs/op) 180,989 allocs 181,002 allocs ⚪ 0%
text_100/ (ns/op) 253216.00 ns 249216.00 ns 🟢 -1.58%
text_100/ (B/op) 113.26 KB 113.26 KB ⚪ 0%
text_100/ (allocs/op) 4,985 allocs 4,985 allocs ⚪ 0%
text_1000/ (ns/op) 2.71 ms 2.70 ms 🟢 -0.49%
text_1000/ (B/op) 1.08 MB 1.08 MB ⚪ 0%
text_1000/ (allocs/op) 49,088 allocs 49,088 allocs ⚪ 0%
array_1000/ (ns/op) 1.39 ms 1.38 ms 🟢 -0.34%
array_1000/ (B/op) 1.13 MB 1.13 MB ⚪ 0%
array_1000/ (allocs/op) 13,883 allocs 13,883 allocs ⚪ 0%
array_10000/ (ns/op) 15.10 ms 15.03 ms 🟢 -0.45%
array_10000/ (B/op) 10.29 MB 10.29 MB 🔴 +0.01%
array_10000/ (allocs/op) 140,735 allocs 140,740 allocs ⚪ 0%
array_gc_100/ (ns/op) 149641.00 ns 149296.00 ns 🟢 -0.23%
array_gc_100/ (B/op) 104.27 KB 104.28 KB ⚪ 0%
array_gc_100/ (allocs/op) 1,469 allocs 1,469 allocs ⚪ 0%
array_gc_1000/ (ns/op) 1.60 ms 1.61 ms 🔴 +0.93%
array_gc_1000/ (B/op) 1.18 MB 1.18 MB ⚪ 0%
array_gc_1000/ (allocs/op) 14,929 allocs 14,929 allocs ⚪ 0%
counter_1000/ (ns/op) 211094.00 ns 213114.00 ns 🔴 +0.96%
counter_1000/ (B/op) 194.39 KB 194.39 KB ⚪ 0%
counter_1000/ (allocs/op) 5,773 allocs 5,773 allocs ⚪ 0%
counter_10000/ (ns/op) 2.26 ms 2.31 ms 🔴 +2.01%
counter_10000/ (B/op) 2.23 MB 2.23 MB ⚪ 0%
counter_10000/ (allocs/op) 59,780 allocs 59,780 allocs ⚪ 0%
object_1000/ (ns/op) 1.62 ms 1.60 ms 🟢 -1.38%
object_1000/ (B/op) 1.48 MB 1.48 MB ⚪ 0%
object_1000/ (allocs/op) 11,927 allocs 11,927 allocs ⚪ 0%
object_10000/ (ns/op) 17.60 ms 17.26 ms 🟢 -1.98%
object_10000/ (B/op) 12.75 MB 12.75 MB ⚪ 0%
object_10000/ (allocs/op) 121,233 allocs 121,232 allocs ⚪ 0%
tree_100/ (ns/op) 791377.00 ns 795407.00 ns 🔴 +0.51%
tree_100/ (B/op) 524.17 KB 524.17 KB ⚪ 0%
tree_100/ (allocs/op) 4,722 allocs 4,722 allocs ⚪ 0%
tree_1000/ (ns/op) 55.42 ms 56.22 ms 🔴 +1.45%
tree_1000/ (B/op) 43.74 MB 43.74 MB ⚪ 0%
tree_1000/ (allocs/op) 46,132 allocs 46,132 allocs ⚪ 0%
tree_10000/ (ns/op) 7.16 s 7.36 s 🔴 +2.79%
tree_10000/ (B/op) 4.30 GB 4.30 GB ⚪ 0%
tree_10000/ (allocs/op) 460,235 allocs 460,222 allocs ⚪ 0%
tree_edit_gc_100/ (ns/op) 2.78 ms 2.87 ms 🔴 +3.37%
tree_edit_gc_100/ (B/op) 2.40 MB 2.40 MB ⚪ 0%
tree_edit_gc_100/ (allocs/op) 11,868 allocs 11,868 allocs ⚪ 0%
tree_edit_gc_1000/ (ns/op) 229.81 ms 233.53 ms 🔴 +1.62%
tree_edit_gc_1000/ (B/op) 213.95 MB 214.02 MB 🔴 +0.03%
tree_edit_gc_1000/ (allocs/op) 118,144 allocs 118,151 allocs ⚪ 0%
tree_split_gc_100/ (ns/op) 2.17 ms 2.16 ms 🟢 -0.53%
tree_split_gc_100/ (B/op) 1.61 MB 1.61 MB ⚪ 0%
tree_split_gc_100/ (allocs/op) 9,806 allocs 9,806 allocs ⚪ 0%
tree_split_gc_1000/ (ns/op) 163.65 ms 164.46 ms 🔴 +0.49%
tree_split_gc_1000/ (B/op) 149.86 MB 149.86 MB ⚪ 0%
tree_split_gc_1000/ (allocs/op) 109,758 allocs 109,764 allocs ⚪ 0%
BenchmarkDocumentDeletion
Benchmark suite Previous Current Change
single_text_delete_all_10000/ (ns/op) 20.82 ms 19.59 ms 🟢 -5.94%
single_text_delete_all_10000/ (B/op) 10.51 MB 10.51 MB ⚪ 0%
single_text_delete_all_10000/ (allocs/op) 76,132 allocs 76,130 allocs ⚪ 0%
single_text_delete_all_100000/ (ns/op) 319.37 ms 302.25 ms 🟢 -5.36%
single_text_delete_all_100000/ (B/op) 104.71 MB 104.72 MB 🔴 +0.02%
single_text_delete_all_100000/ (allocs/op) 765,979 allocs 766,001 allocs ⚪ 0%
single_tree_delete_all_1000/ (ns/op) 56.45 ms 53.91 ms 🟢 -4.51%
single_tree_delete_all_1000/ (B/op) 44.66 MB 44.66 MB ⚪ 0%
single_tree_delete_all_1000/ (allocs/op) 58,204 allocs 58,202 allocs ⚪ 0%
single_text_delete_range_100/ (ns/op) 460720.00 ns 450185.00 ns 🟢 -2.29%
single_text_delete_range_100/ (B/op) 243.25 KB 243.27 KB ⚪ 0%
single_text_delete_range_100/ (allocs/op) 7,074 allocs 7,074 allocs ⚪ 0%
single_text_delete_range_1000/ (ns/op) 9.58 ms 9.45 ms 🟢 -1.44%
single_text_delete_range_1000/ (B/op) 6.37 MB 6.37 MB ⚪ 0%
single_text_delete_range_1000/ (allocs/op) 73,369 allocs 73,370 allocs ⚪ 0%
single_tree_delete_range_100/ (ns/op) 1.00 ms 977591.00 ns 🟢 -2.70%
single_tree_delete_range_100/ (B/op) 708.40 KB 708.39 KB ⚪ 0%
single_tree_delete_range_100/ (allocs/op) 6,392 allocs 6,392 allocs ⚪ 0%
single_tree_delete_range_1000/ (ns/op) 64.06 ms 63.74 ms 🟢 -0.49%
single_tree_delete_range_1000/ (B/op) 54.51 MB 54.51 MB ⚪ 0%
single_tree_delete_range_1000/ (allocs/op) 63,434 allocs 63,431 allocs ⚪ 0%
BenchmarkGetDocuments
Benchmark suite Previous Current Change
without_root_presence_10/ (ns/op) 1.20 ms 1.17 ms 🟢 -2.12%
without_root_presence_10/ (B/op) 149.65 KB 147.52 KB 🟢 -1.43%
without_root_presence_10/ (allocs/op) 1,199 allocs 1,196 allocs 🟢 -0.25%
with_root_presence_10/ (ns/op) 4.09 ms 4.02 ms 🟢 -1.82%
with_root_presence_10/ (B/op) 610.54 KB 615.06 KB 🔴 +0.74%
with_root_presence_10/ (allocs/op) 5,712 allocs 5,727 allocs 🔴 +0.26%
without_root_presence_100/ (ns/op) 2.56 ms 2.43 ms 🟢 -4.78%
without_root_presence_100/ (B/op) 822.18 KB 799.48 KB 🟢 -2.76%
without_root_presence_100/ (allocs/op) 5,990 allocs 5,988 allocs 🟢 -0.03%
with_root_presence_100/ (ns/op) 41.85 ms 41.99 ms 🔴 +0.34%
with_root_presence_100/ (B/op) 7.38 MB 7.63 MB 🔴 +3.47%
with_root_presence_100/ (allocs/op) 67,081 allocs 67,202 allocs 🔴 +0.18%
without_root_presence_1000/ (ns/op) 15.75 ms 15.21 ms 🟢 -3.42%
without_root_presence_1000/ (B/op) 7.89 MB 7.88 MB 🟢 -0.17%
without_root_presence_1000/ (allocs/op) 54,741 allocs 54,737 allocs ⚪ 0%
with_root_presence_1000/ (ns/op) 421.52 ms 416.63 ms 🟢 -1.16%
with_root_presence_1000/ (B/op) 73.87 MB 74.48 MB 🔴 +0.83%
with_root_presence_1000/ (allocs/op) 672,306 allocs 668,684 allocs 🟢 -0.54%
BenchmarkRPC
Benchmark suite Previous Current Change
client_to_server/ (ns/op) 229.36 ms 222.01 ms 🟢 -3.20%
client_to_server/ (B/op) 14.52 MB 14.52 MB 🟢 -0.02%
client_to_server/ (allocs/op) 177,290 allocs 177,214 allocs 🟢 -0.04%
client_to_client_via_server/ (ns/op) 174.11 ms 170.70 ms 🟢 -1.96%
client_to_client_via_server/ (B/op) 21.71 MB 22.03 MB 🔴 +1.46%
client_to_client_via_server/ (allocs/op) 267,633 allocs 267,328 allocs 🟢 -0.11%
attach_large_document/ (ns/op) 1.28 s 1.24 s 🟢 -3.39%
attach_large_document/ (B/op) 1.88 GB 1.85 GB 🟢 -1.22%
attach_large_document/ (allocs/op) 11,506 allocs 11,292 allocs 🟢 -1.86%
adminCli_to_server/ (ns/op) 730.44 ms 730.20 ms 🟢 -0.03%
adminCli_to_server/ (B/op) 810.71 MB 808.68 MB 🟢 -0.25%
adminCli_to_server/ (allocs/op) 534,372 allocs 543,409 allocs 🔴 +1.69%
BenchmarkLocker
Benchmark suite Previous Current Change
(ns/op) 85.28 ns 84.03 ns 🟢 -1.47%
(B/op) 32.00 B 32.00 B ⚪ 0%
(allocs/op) 1 allocs 1 allocs ⚪ 0%
BenchmarkLockerParallel
Benchmark suite Previous Current Change
(ns/op) 46.68 ns 45.44 ns 🟢 -2.66%
(B/op) 0.00 B 0.00 B ⚪ 0%
(allocs/op) 0 allocs 0 allocs ⚪ 0%
BenchmarkLockerMoreKeys
Benchmark suite Previous Current Change
(ns/op) 179.60 ns 177.20 ns 🟢 -1.34%
(B/op) 31.00 B 31.00 B ⚪ 0%
(allocs/op) 0 allocs 0 allocs ⚪ 0%
BenchmarkRWLocker
Benchmark suite Previous Current Change
RWLock_rate_2/ (ns/op) 50.96 ns 49.78 ns 🟢 -2.32%
RWLock_rate_2/ (B/op) 0.00 B 0.00 B ⚪ 0%
RWLock_rate_2/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
RWLock_rate_10/ (ns/op) 45.42 ns 44.89 ns 🟢 -1.17%
RWLock_rate_10/ (B/op) 0.00 B 0.00 B ⚪ 0%
RWLock_rate_10/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
RWLock_rate_100/ (ns/op) 62.80 ns 62.88 ns 🔴 +0.13%
RWLock_rate_100/ (B/op) 2.00 B 2.00 B ⚪ 0%
RWLock_rate_100/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
RWLock_rate_1000/ (ns/op) 92.48 ns 93.54 ns 🔴 +1.15%
RWLock_rate_1000/ (B/op) 8.00 B 8.00 B ⚪ 0%
RWLock_rate_1000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
BenchmarkPresenceConcurrency
Benchmark suite Previous Current Change
0-100-10/ (ns/op) 897.09 ms 895.46 ms 🟢 -0.18%
0-100-10/ (B/op) 406.96 MB 408.42 MB 🔴 +0.36%
0-100-10/ (allocs/op) 5,083,787 allocs 5,080,286 allocs 🟢 -0.07%
100-100-10/ (ns/op) 946.50 ms 962.62 ms 🔴 +1.70%
100-100-10/ (B/op) 434.77 MB 439.12 MB 🔴 +1.00%
100-100-10/ (allocs/op) 5,585,023 allocs 5,611,908 allocs 🔴 +0.48%
300-100-10/ (ns/op) 1.01 s 999.79 ms 🟢 -1.06%
300-100-10/ (B/op) 494.06 MB 498.35 MB 🔴 +0.87%
300-100-10/ (allocs/op) 6,565,615 allocs 6,571,630 allocs 🔴 +0.09%
BenchmarkChange
Benchmark suite Previous Current Change
Push_10_Changes/ (ns/op) 4.75 ms 4.61 ms 🟢 -3.02%
Push_10_Changes/ (B/op) 345.79 KB 348.58 KB 🔴 +0.81%
Push_10_Changes/ (allocs/op) 5,799 allocs 5,887 allocs 🔴 +1.52%
Push_100_Changes/ (ns/op) 18.98 ms 18.41 ms 🟢 -3.04%
Push_100_Changes/ (B/op) 1.58 MB 1.60 MB 🔴 +1.46%
Push_100_Changes/ (allocs/op) 17,384 allocs 17,558 allocs 🔴 +1.00%
Push_1000_Changes/ (ns/op) 154.82 ms 150.07 ms 🟢 -3.07%
Push_1000_Changes/ (B/op) 13.71 MB 13.72 MB 🔴 +0.03%
Push_1000_Changes/ (allocs/op) 108,326 allocs 108,500 allocs 🔴 +0.16%
Pull_10_Changes/ (ns/op) 3.24 ms 3.08 ms 🟢 -4.84%
Pull_10_Changes/ (B/op) 339.29 KB 335.64 KB 🟢 -1.08%
Pull_10_Changes/ (allocs/op) 6,882 allocs 6,778 allocs 🟢 -1.51%
Pull_100_Changes/ (ns/op) 5.32 ms 4.96 ms 🟢 -6.71%
Pull_100_Changes/ (B/op) 1.14 MB 1.13 MB 🟢 -0.38%
Pull_100_Changes/ (allocs/op) 18,647 allocs 18,537 allocs 🟢 -0.59%
Pull_1000_Changes/ (ns/op) 13.43 ms 12.90 ms 🟢 -3.94%
Pull_1000_Changes/ (B/op) 6.72 MB 6.72 MB ⚪ 0%
Pull_1000_Changes/ (allocs/op) 68,366 allocs 68,354 allocs 🟢 -0.02%
BenchmarkSnapshot
Benchmark suite Previous Current Change
Push_3KB_snapshot/ (ns/op) 21.70 ms 20.34 ms 🟢 -6.24%
Push_3KB_snapshot/ (B/op) 2.38 MB 2.39 MB 🔴 +0.54%
Push_3KB_snapshot/ (allocs/op) 39,400 allocs 39,552 allocs 🔴 +0.39%
Push_30KB_snapshot/ (ns/op) 161.15 ms 156.65 ms 🟢 -2.79%
Push_30KB_snapshot/ (B/op) 18.14 MB 17.88 MB 🟢 -1.42%
Push_30KB_snapshot/ (allocs/op) 193,935 allocs 189,781 allocs 🟢 -2.14%
Pull_3KB_snapshot/ (ns/op) 6.45 ms 6.03 ms 🟢 -6.54%
Pull_3KB_snapshot/ (B/op) 1.82 MB 1.82 MB 🟢 -0.03%
Pull_3KB_snapshot/ (allocs/op) 34,528 allocs 34,512 allocs 🟢 -0.05%
Pull_30KB_snapshot/ (ns/op) 19.78 ms 18.61 ms 🟢 -5.96%
Pull_30KB_snapshot/ (B/op) 11.53 MB 11.53 MB 🟢 -0.01%
Pull_30KB_snapshot/ (allocs/op) 164,269 allocs 164,167 allocs 🟢 -0.06%
BenchmarkSplayTree
Benchmark suite Previous Current Change
stress_test_100000/ (ns/op) 0.17 ns 0.17 ns 🔴 +2.30%
stress_test_100000/ (B/op) 0.00 B 0.00 B ⚪ 0%
stress_test_100000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
stress_test_200000/ (ns/op) 0.35 ns 0.35 ns 🟢 -0.11%
stress_test_200000/ (B/op) 0.00 B 0.00 B ⚪ 0%
stress_test_200000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
stress_test_300000/ (ns/op) 0.55 ns 0.52 ns 🟢 -6.27%
stress_test_300000/ (B/op) 0.00 B 0.00 B ⚪ 0%
stress_test_300000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
random_access_100000/ (ns/op) 0.01 ns 0.01 ns 🟢 -2.78%
random_access_100000/ (B/op) 0.00 B 0.00 B ⚪ 0%
random_access_100000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
random_access_200000/ (ns/op) 0.03 ns 0.04 ns 🔴 +4.22%
random_access_200000/ (B/op) 0.00 B 0.00 B ⚪ 0%
random_access_200000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
random_access_300000/ (ns/op) 0.05 ns 0.05 ns 🟢 -8.69%
random_access_300000/ (B/op) 0.00 B 0.00 B ⚪ 0%
random_access_300000/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
editing_trace_bench/ (ns/op) 0.00 ns 0.00 ns 🟢 -12.66%
editing_trace_bench/ (B/op) 0.00 B 0.00 B ⚪ 0%
editing_trace_bench/ (allocs/op) 0 allocs 0 allocs ⚪ 0%
BenchmarkSync
Benchmark suite Previous Current Change
memory_sync_10_test/ (ns/op) 7157.00 ns 6899.00 ns 🟢 -3.60%
memory_sync_10_test/ (B/op) 1.34 KB 1.34 KB ⚪ 0%
memory_sync_10_test/ (allocs/op) 35 allocs 35 allocs ⚪ 0%
memory_sync_100_test/ (ns/op) 57227.00 ns 55162.00 ns 🟢 -3.61%
memory_sync_100_test/ (B/op) 9.51 KB 9.53 KB 🔴 +0.13%
memory_sync_100_test/ (allocs/op) 268 allocs 269 allocs 🔴 +0.37%
memory_sync_1000_test/ (ns/op) 616806.00 ns 605774.00 ns 🟢 -1.79%
memory_sync_1000_test/ (B/op) 76.71 KB 75.97 KB 🟢 -0.96%
memory_sync_1000_test/ (allocs/op) 2,139 allocs 2,116 allocs 🟢 -1.08%
memory_sync_10000_test/ (ns/op) 10.50 ms 7.70 ms 🟢 -26.69%
memory_sync_10000_test/ (B/op) 759.56 KB 768.97 KB 🔴 +1.24%
memory_sync_10000_test/ (allocs/op) 20,335 allocs 20,624 allocs 🔴 +1.42%
BenchmarkSyncConcurrency
Benchmark suite Previous Current Change
1-100-10/ (ns/op) 8.41 s 8.03 s 🟢 -4.55%
1-100-10/ (B/op) 4.40 GB 4.39 GB 🟢 -0.31%
1-100-10/ (allocs/op) 108,604,069 allocs 108,323,353 allocs 🟢 -0.26%
100-100-10/ (ns/op) 9.77 s 9.42 s 🟢 -3.57%
100-100-10/ (B/op) 4.67 GB 4.67 GB ⚪ 0%
100-100-10/ (allocs/op) 114,355,380 allocs 113,775,704 allocs 🟢 -0.51%
300_100-10/ (ns/op) 11.96 s 11.26 s 🟢 -5.89%
300_100-10/ (B/op) 4.98 GB 4.95 GB 🟢 -0.52%
300_100-10/ (allocs/op) 118,457,790 allocs 118,196,383 allocs 🟢 -0.22%
BenchmarkTextEditing
Benchmark suite Previous Current Change
(ns/op) 5.92 s 5.74 s 🟢 -3.03%
(B/op) 3.88 GB 3.88 GB ⚪ 0%
(allocs/op) 20,100,487 allocs 20,100,394 allocs ⚪ 0%
BenchmarkTree
Benchmark suite Previous Current Change
10000_vertices_to_protobuf/ (ns/op) 5.24 ms 4.94 ms 🟢 -5.73%
10000_vertices_to_protobuf/ (B/op) 6.68 MB 6.68 MB ⚪ 0%
10000_vertices_to_protobuf/ (allocs/op) 90,026 allocs 90,026 allocs ⚪ 0%
10000_vertices_from_protobuf/ (ns/op) 243.95 ms 231.37 ms 🟢 -5.16%
10000_vertices_from_protobuf/ (B/op) 442.15 MB 442.15 MB ⚪ 0%
10000_vertices_from_protobuf/ (allocs/op) 280,070 allocs 280,047 allocs ⚪ 0%
20000_vertices_to_protobuf/ (ns/op) 10.94 ms 10.79 ms 🟢 -1.43%
20000_vertices_to_protobuf/ (B/op) 13.53 MB 13.53 MB ⚪ 0%
20000_vertices_to_protobuf/ (allocs/op) 180,029 allocs 180,029 allocs ⚪ 0%
20000_vertices_from_protobuf/ (ns/op) 903.16 ms 901.69 ms 🟢 -0.16%
20000_vertices_from_protobuf/ (B/op) 1.70 GB 1.70 GB ⚪ 0%
20000_vertices_from_protobuf/ (allocs/op) 560,138 allocs 560,132 allocs ⚪ 0%
30000_vertices_to_protobuf/ (ns/op) 15.86 ms 15.97 ms 🔴 +0.70%
30000_vertices_to_protobuf/ (B/op) 19.94 MB 19.94 MB ⚪ 0%
30000_vertices_to_protobuf/ (allocs/op) 270,030 allocs 270,030 allocs ⚪ 0%
30000_vertices_from_protobuf/ (ns/op) 2.06 s 1.99 s 🟢 -3.21%
30000_vertices_from_protobuf/ (B/op) 3.75 GB 3.75 GB ⚪ 0%
30000_vertices_from_protobuf/ (allocs/op) 840,132 allocs 840,239 allocs 🔴 +0.01%
BenchmarkVersionVector
Benchmark suite Previous Current Change
clients_10/ (ns/op) 121.50 ms 111.88 ms 🟢 -7.92%
clients_10/ (1_changepack(bytes)) 185.00 B 185.00 B ⚪ 0%
clients_10/ (2_snapshot(bytes)) 399.00 B 399.00 B ⚪ 0%
clients_10/ (3_pushpull(ms)) 3.00 ms 3.00 ms ⚪ 0%
clients_10/ (4_attach(ms)) 5.00 ms 5.00 ms ⚪ 0%
clients_10/ (5_changepack_after_detach(bytes)) 230.00 B 230.00 B ⚪ 0%
clients_10/ (6_snapshot_after_detach(bytes)) 156.00 B 156.00 B ⚪ 0%
clients_10/ (7_pushpull_after_detach(ms)) 4.00 ms 4.00 ms ⚪ 0%
clients_10/ (B/op) 8.28 MB 7.99 MB 🟢 -3.48%
clients_10/ (allocs/op) 62,253 allocs 62,241 allocs 🟢 -0.02%
clients_100/ (ns/op) 996.82 ms 923.77 ms 🟢 -7.33%
clients_100/ (1_changepack(bytes)) 185.00 B 185.00 B ⚪ 0%
clients_100/ (2_snapshot(bytes)) 3.10 KB 3.10 KB ⚪ 0%
clients_100/ (3_pushpull(ms)) 3.00 ms 3.00 ms ⚪ 0%
clients_100/ (4_attach(ms)) 6.00 ms 6.00 ms ⚪ 0%
clients_100/ (5_changepack_after_detach(bytes)) 231.00 B 231.00 B ⚪ 0%
clients_100/ (6_snapshot_after_detach(bytes)) 156.00 B 156.00 B ⚪ 0%
clients_100/ (7_pushpull_after_detach(ms)) 4.00 ms 4.00 ms ⚪ 0%
clients_100/ (B/op) 74.69 MB 75.42 MB 🔴 +0.97%
clients_100/ (allocs/op) 621,167 allocs 621,160 allocs ⚪ 0%
clients_1000/ (ns/op) 11.96 s 11.02 s 🟢 -7.93%
clients_1000/ (1_changepack(bytes)) 186.00 B 186.00 B ⚪ 0%
clients_1000/ (2_snapshot(bytes)) 30.10 KB 30.10 KB ⚪ 0%
clients_1000/ (3_pushpull(ms)) 4.00 ms 4.00 ms ⚪ 0%
clients_1000/ (4_attach(ms)) 20.00 ms 18.00 ms 🟢 -10.00%
clients_1000/ (5_changepack_after_detach(bytes)) 231.00 B 231.00 B ⚪ 0%
clients_1000/ (6_snapshot_after_detach(bytes)) 156.00 B 156.00 B ⚪ 0%
clients_1000/ (7_pushpull_after_detach(ms)) 4.00 ms 4.00 ms ⚪ 0%
clients_1000/ (B/op) 1.72 GB 1.68 GB 🟢 -2.04%
clients_1000/ (allocs/op) 25,385,309 allocs 24,399,332 allocs 🟢 -3.88%
BenchmarkWebhook
Benchmark suite Previous Current Change
Send_10_Webhooks_to_10_Endpoints/ (ns/op) 12.81 ms 12.35 ms 🟢 -3.61%
Send_10_Webhooks_to_10_Endpoints/ (B/op) 769.99 KB 769.92 KB ⚪ 0%
Send_10_Webhooks_to_10_Endpoints/ (allocs/op) 9,816 allocs 9,816 allocs ⚪ 0%
Send_100_Webhooks_to_10_Endpoints/ (ns/op) 128.95 ms 123.29 ms 🟢 -4.39%
Send_100_Webhooks_to_10_Endpoints/ (B/op) 7.70 MB 7.70 MB 🟢 -0.01%
Send_100_Webhooks_to_10_Endpoints/ (allocs/op) 98,174 allocs 98,158 allocs 🟢 -0.02%
Send_10_Webhooks_to_100_Endpoints/ (ns/op) 133.56 ms 126.37 ms 🟢 -5.39%
Send_10_Webhooks_to_100_Endpoints/ (B/op) 7.90 MB 7.90 MB 🔴 +0.02%
Send_10_Webhooks_to_100_Endpoints/ (allocs/op) 99,550 allocs 99,537 allocs 🟢 -0.01%
Send_100_Webhooks_to_100_Endpoints/ (ns/op) 1.36 s 1.26 s 🟢 -6.81%
Send_100_Webhooks_to_100_Endpoints/ (B/op) 78.52 MB 78.51 MB ⚪ 0%
Send_100_Webhooks_to_100_Endpoints/ (allocs/op) 992,356 allocs 992,259 allocs ⚪ 0%
Send_10_Webhooks_to_1000_Endpoints/ (ns/op) 2.89 s 2.81 s 🟢 -2.69%
Send_10_Webhooks_to_1000_Endpoints/ (B/op) 205.65 MB 205.86 MB 🔴 +0.10%
Send_10_Webhooks_to_1000_Endpoints/ (allocs/op) 1,686,511 allocs 1,686,449 allocs ⚪ 0%
BenchmarkWebhookWithLimit
Benchmark suite Previous Current Change
Send_10_Webhooks_to_10_Endpoints_with_limit/ (ns/op) 3.92 ms 3.85 ms 🟢 -1.85%
Send_10_Webhooks_to_10_Endpoints_with_limit/ (B/op) 301.99 KB 301.86 KB 🟢 -0.04%
Send_10_Webhooks_to_10_Endpoints_with_limit/ (allocs/op) 2,853 allocs 2,853 allocs ⚪ 0%
Send_100_Webhooks_to_10_Endpoints_with_limit/ (ns/op) 4.20 ms 4.10 ms 🟢 -2.28%
Send_100_Webhooks_to_10_Endpoints_with_limit/ (B/op) 453.25 KB 453.28 KB ⚪ 0%
Send_100_Webhooks_to_10_Endpoints_with_limit/ (allocs/op) 4,654 allocs 4,654 allocs ⚪ 0%
Send_10_Webhooks_to_100_Endpoints_with_limit/ (ns/op) 40.26 ms 38.46 ms 🟢 -4.46%
Send_10_Webhooks_to_100_Endpoints_with_limit/ (B/op) 3.04 MB 3.04 MB 🟢 -0.07%
Send_10_Webhooks_to_100_Endpoints_with_limit/ (allocs/op) 28,591 allocs 28,577 allocs 🟢 -0.05%
Send_100_Webhooks_to_100_Endpoints_with_limit/ (ns/op) 43.54 ms 41.37 ms 🟢 -4.98%
Send_100_Webhooks_to_100_Endpoints_with_limit/ (B/op) 4.62 MB 4.62 MB 🟢 -0.02%
Send_100_Webhooks_to_100_Endpoints_with_limit/ (allocs/op) 46,615 allocs 46,603 allocs 🟢 -0.03%
Send_10_Webhooks_to_1000_Endpoints_with_limit/ (ns/op) 384.76 ms 375.01 ms 🟢 -2.53%
Send_10_Webhooks_to_1000_Endpoints_with_limit/ (B/op) 44.06 MB 44.05 MB 🟢 -0.02%
Send_10_Webhooks_to_1000_Endpoints_with_limit/ (allocs/op) 374,154 allocs 374,113 allocs 🟢 -0.01%

@hackerwins hackerwins merged commit 8458791 into main Sep 17, 2025
6 checks passed
@hackerwins hackerwins deleted the v0.6.31 branch September 17, 2025 09:16

@hackerwins-yorkie hackerwins-yorkie 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.

k6 Load Test 📊

This is a comparison result between the previous(14ca62b) and the current commit(8d8d94e).

Change

Metric Previous Current Change
transaction_time.avg 6505.36 6616.82 🔴 +1.71%
http_req_duration.avg 48.79 59.43 🔴 +21.82%
http_req_duration.p(95) 218.00 262.24 🔴 +20.29%
iteration_duration.avg 6505.40 6616.87 🔴 +1.71%
data_received.count 1,202,372,203 1,146,303,336 🟢 -4.66%
data_sent.count 62,450,227 61,583,932 🟢 -1.39%

Result

Details
    script: test/k6/presence.ts

 scenarios: (100.00%) 1 scenario, 500 max VUs, 3m0s max duration (incl. graceful stop):
          * default: Up to 500 looping VUs for 2m30s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s)

█ THRESHOLDS

active_clients_time
✓ 'p(95)<500' p(95)=127ms

attach_documents_time
✓ 'p(95)<10000' p(95)=531.94ms

deactivate_clients_time
✓ 'p(95)<10000' p(95)=141ms

http_req_duration
✓ 'p(95)<10000' p(95)=262.24ms

pushpulls_time
✓ 'p(95)<1000' p(95)=269ms

transaction_success_rate
✓ 'rate>0.99' rate=100.00%

transaction_time
✓ 'p(95)<30000' p(95)=7.45s

█ TOTAL RESULTS

checks_total.......: 130912  842.111206/s
checks_succeeded...: 100.00% 130912 out of 130912
checks_failed......: 0.00%   0 out of 130912

✓ status is 200
✓ response has valid body

CUSTOM
active_clients....................: 8182    52.63195/s
active_clients_success_rate.......: 100.00% 8182 out of 8182
active_clients_time...............: avg=28.61ms  min=1ms      med=7ms    max=463ms    p(90)=85ms     p(95)=127ms   
attach_documents..................: 8182    52.63195/s
attach_documents_success_rate.....: 100.00% 8182 out of 8182
attach_documents_time.............: avg=145.52ms min=3ms      med=49ms   max=844ms    p(90)=446ms    p(95)=531.94ms
deactivate_clients................: 8182    52.63195/s
deactivate_clients_success_rate...: 100.00% 8182 out of 8182
deactivate_clients_time...........: avg=25.98ms  min=0s       med=3ms    max=622ms    p(90)=79ms     p(95)=141ms   
pushpulls.........................: 40910   263.159752/s
pushpulls_success_rate............: 100.00% 40910 out of 40910
pushpulls_time....................: avg=67.31ms  min=1ms      med=22ms   max=801ms    p(90)=198ms    p(95)=269ms   
transaction_success_rate..........: 100.00% 8182 out of 8182
transaction_time..................: avg=6.61s    min=6.01s    med=6.61s  max=8.82s    p(90)=7.26s    p(95)=7.45s   

HTTP
http_req_duration.................: avg=59.43ms  min=186.32µs med=12.2ms max=838.67ms p(90)=180.92ms p(95)=262.24ms
  { expected_response:true }......: avg=59.43ms  min=186.32µs med=12.2ms max=838.67ms p(90)=180.92ms p(95)=262.24ms
http_req_failed...................: 0.00%   0 out of 65456
http_reqs.........................: 65456   421.055603/s

EXECUTION
iteration_duration................: avg=6.61s    min=6.01s    med=6.61s  max=8.82s    p(90)=7.26s    p(95)=7.45s   
iterations........................: 8182    52.63195/s
vus...............................: 3       min=3              max=500
vus_max...........................: 500     min=500            max=500

NETWORK
data_received.....................: 1.1 GB  7.4 MB/s
data_sent.........................: 62 MB   396 kB/s

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