Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat(scaletest): add runner for notifications delivery#20091

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
kacpersaw merged 8 commits intomainfromkacpersaw/scaletest-notification-runner
Oct 7, 2025

Conversation

kacpersaw
Copy link
Contributor

@kacpersawkacpersaw commentedOct 1, 2025
edited
Loading

Relates tocoder/internal#910

This PR adds a scaletest runner that simulates users receiving notifications through WebSocket connections.

An instance of this notification runner does the following:

  1. Creates a user (optionally with specific roles like owner).
  2. Connects to /api/v2/notifications/inbox/watch via WebSocket to receive notifications in real-time.
  3. Waits for all other concurrently executing runners (per the DialBarrier WaitGroup) to also connect their websockets.
  4. For receiving users: Watches the WebSocket for expected notifications and records delivery latency for each notification type.
  5. For regular users: Maintains WebSocket connections to simulate concurrent load while receiving users wait for notifications.
  6. Waits on the ReceivingWatchBarrier to coordinate between receiving and regular users.
  7. Cleans up the created user after the test completes.

Exposes three prometheus metrics:

  1. notification_delivery_latency_seconds - HistogramVec. Labels = {username, notification_type}
  2. notification_delivery_errors_total - CounterVec. Labels = {username, action}
  3. notification_delivery_missed_total - CounterVec. Labels = {username}

The runner measures end-to-end notification latency from when a notification-triggering event occurs (e.g., user creation/deletion) to when the notification is received by a WebSocket client.

@kacpersawGraphite App
Copy link
ContributorAuthor

@kacpersawkacpersaw changed the titleAdd notification runner to test delivery latencyfeat(scaletest): add runner for notifications deliveryOct 2, 2025
@kacpersawkacpersaw marked this pull request as ready for reviewOctober 2, 2025 07:37
@kacpersawkacpersawforce-pushed thekacpersaw/scaletest-notification-runner branch from1d603d7 tobfd3cdaCompareOctober 2, 2025 11:30
Copy link
Member

@ethanndicksonethanndickson left a comment

Choose a reason for hiding this comment

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

Few comments inline but lgtm once addressed!

@kacpersawGraphite App
Copy link
ContributorAuthor

kacpersaw commentedOct 7, 2025
edited
Loading

Merge activity

  • Oct 7, 7:58 AM UTC: A user started a stack merge that includes this pull request viaGraphite.
  • Oct 7, 7:59 AM UTC:@kacpersaw merged this pull request withGraphite.

@kacpersawkacpersaw merged commit05f8f67 intomainOct 7, 2025
33 checks passed
@kacpersawkacpersaw deleted the kacpersaw/scaletest-notification-runner branchOctober 7, 2025 07:59
@github-actionsgithub-actionsbot locked and limited conversation to collaboratorsOct 7, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account?Sign in.
Reviewers

@ethanndicksonethanndicksonethanndickson approved these changes

Assignees

@kacpersawkacpersaw

Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

2 participants
@kacpersaw@ethanndickson

[8]ページ先頭

©2009-2025 Movatter.jp