-
Notifications
You must be signed in to change notification settings - Fork 293
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: enables local tracing in e2e benchmark tests #3514
Conversation
WalkthroughThe changes introduce data tracing capabilities to the e2e tests by integrating the Changes
Sequence Diagram(s) (Beta)sequenceDiagram
participant User
participant BenchmarkTest
participant Testnet
participant Node
participant S3
User ->> BenchmarkTest: Start e2e Test
BenchmarkTest ->> Testnet: SetupNodes with tracing config
Testnet ->> Node: CreateGenesisNode, CreateTxClients, CreateNode
Node ->> BenchmarkTest: Return node setup status
BenchmarkTest ->> Node: If LocalTracingType is "local", pull round state traces
Node ->> Node: PullRoundStateTraces
Node ->> BenchmarkTest: Return traces
BenchmarkTest ->> S3: If PushTrace and DownloadTraces are enabled, download traces
S3 ->> BenchmarkTest: Return downloaded traces
BenchmarkTest ->> User: Return test results with tracing data
Assessment against linked issues
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
@@ -49,6 +50,9 @@ func E2EThroughput() error { | |||
Prometheus: true, | |||
GovMaxSquareSize: appconsts.DefaultGovMaxSquareSize, | |||
MaxBlockBytes: appconsts.DefaultMaxBytes, | |||
LocalTracingType: "local", | |||
PushTrace: false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[To reviewers] If you wish to push traced data to a s3 bucket, set PushTrace
to true
.
The govulncheck failure is unrelated to the content of this PR and needs to be addressed separately. |
Closes #3480 This PR backports many optimizations introduced in the big block tests via celestiaorg/celestia-app#3493 to the `main` branch. Will be ready for review after merging celestiaorg/celestia-app#3514 --------- Co-authored-by: Evan Forbes <42654277+evan-forbes@users.noreply.github.com>
Closes #3318
It enables 1) local tracing in validators knuu instances 2) pushing locally traced data from validators to a S3 bucket, given that proper configs are passed via environment vars.
Additionally, it includes changes that:
5
).How to run
The
E2EThroughput
has been tested and I confirm both local tracing and pushing traces work correctly in knuu instances. To run the test:You will see the
consensus_round_state.jsonl
file added to the root directory of the project, indicating the local tracing is operational in the validators' knuu instances.In order to push traces to a S3 bucket, you would need to pass S3 bucket push configs as env variables. I also tested this feature, and it works fine. It downloads the traced data and places them under
./traces/
folder in the project root.