Repository navigation
benchmarking: actor telemetry for the sweperf workload - #1848
Merged
Haven Xia (HavenXia) merged 1 commit intoSep 30, 2026
Merged
Haven Xia (HavenXia) merged 1 commit into
Haven Xia (HavenXia) merged 1 commit into
Conversation
Contributor
Author
|
cc Max Smythe (@maxsmythe), Haowei Cai (Roy) (@roycaihw) - ptal:) |
Nishanth Kotla (Nishanth29)
force-pushed
the
benchmarking/actor-telemetry
branch
from
September 25, 2026 04:16
a5432c3 to
03e316e
Compare
This was referenced Sep 25, 2026
Contributor
Author
|
Mauricio Poppe (@mauriciopoppe) thanks for the review! Addressed your comments in 75b3633, ptal when you get a chance. |
Mauricio Poppe (mauriciopoppe)
left a comment
There was a problem hiding this comment.
Please squash your commits into 1. Is there a trace you could share to see the result?
Nishanth Kotla (Nishanth29)
force-pushed
the
benchmarking/actor-telemetry
branch
from
September 28, 2026 21:06
75b3633 to
6a1f964
Compare
|
/lgtm |
Nishanth Kotla (Nishanth29)
force-pushed
the
benchmarking/actor-telemetry
branch
from
September 29, 2026 00:17
6a1f964 to
afe707b
Compare
Haowei Cai (Roy) (roycaihw)
approved these changes
Sep 29, 2026
Haowei Cai (Roy) (roycaihw)
left a comment
Contributor
There was a problem hiding this comment.
LGTM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
benchmarking: actor telemetry for the sweperf workload
What this does
Adds the suspend/resume and task-execution timings from the telemetry proposal to the sweperf boomer workload.
New locust rows
ResumeToFirstExec/executeTaskCELreplay.pyCycleCELTaskWallClock<rpc>_rttThe four derived rows are recorded under the
actormethod, the_rttrows undergrpc.We keep both the client RTT and the server-side elapsed for every control-plane RPC so the network and queueing overhead stays visible separately. The existing
ResumeActor/SuspendActorrows keep the server-side elapsed from the response trailer.The liveness check at session start leaves the actor running, so the first cycle's resume is a no-op. Its successful
ResumeActor,ResumeActor_rttandResumeToFirstExecsamples are skipped (failures are still recorded), the same way ateapi skips no-op resumes.Poll interval
The
/statuspoll interval is now configurable with--sweperf-poll-interval-ms(envLOCUST_SWEPERF_POLL_INTERVAL_MS), default 100 ms (was a fixed 25 ms). It flows through dynconfig like the other--sweperf-*flags and is read per job, so a mid-run change applies from the next cycle.Documentation
benchmarking/README.mdhad no sweperf section, so this adds one listing every row the workload emits and the poll interval flag, matching the existing DurDir section.Testing
go test -race ./internal/benchmarking/boomer/..., plus runs on a real cluster (sympy, 4 users / 2 workers, gVisor): 5 min at the default 100 ms poll interval and 2 min at 250 ms.Both had 0 failures and all expected rows.
The min
ResumeActoris 334 ms, so the first-cycle no-op is no longer recorded.ResumeActor/SuspendActorcounts match (197 / 197), and each_rttis within ~1 ms of its server-side row.Client overhead over CEL per cycle is 65 ms at 100 ms vs 141 ms at 250 ms, so the flag takes effect.
Tests pass
Appropriate changes to documentation are included in the PR