Repository navigation
fix(exec-harness): add --always-sparkplug to the node wrapper flags - #598
Draft
not-matthias wants to merge 1 commit into
Draft
not-matthias wants to merge 1 commit into
not-matthias wants to merge 1 commit into
Conversation
codspeed-node requires --always-sparkplug in analysis mode: it compiles the benchmark eagerly with Sparkplug so the measured code does not tier up during the run. The wrapper mirrors getV8Flags(), so without it the integration sees a missing flag on the normal codspeed exec path. That surfaced with the integration-side restart: a benchmark process whose execArgv lacks any required flag replaces itself with the missing ones. Keeping the mirror complete means the restart only fires for launchers that really bypass the wrapper, such as Bazel's rules_js. Refs COD-4038
Merging this PR will not alter performance2 warnings
Comparing Footnotes
|
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.
Add
--always-sparkplugto the exec-harness node wrapperThe wrapper mirrors
getV8Flags(), but its analysis flag set was missing--always-sparkplug. The integration requires it so the measured code iscompiled eagerly and does not tier up during the run.
This only becomes visible with the integration-side self-restart: a benchmark
process whose
execArgvlacks a required flag replaces itself with the missingones. Without this flag, every normal
codspeed execanalysis run would restartonce, even though the wrapper had already supplied the flags. With the mirror
complete, the restart only fires for launchers that really bypass the wrapper,
such as Bazel's rules_js.
Verified by running the wrapper with Node 24 in analysis mode and comparing its
execArgvwithgetV8Flags()from@codspeed/core: the sets match, and theexpected_flagstable in the wrapper tests matches the emitted order.Companion change: CodSpeedHQ/codspeed-node#113
Refs COD-4038