feat: Add Transaction Trace Monitoring Support#115
Merged
Conversation
sieniven
reviewed
Jan 23, 2026
sieniven
reviewed
Jan 23, 2026
sieniven
reviewed
Jan 23, 2026
sieniven
reviewed
Jan 23, 2026
sieniven
reviewed
Jan 23, 2026
JimmyShi22
reviewed
Jan 26, 2026
| // For X Layer full link monitor | ||
| let monitor = | ||
| XLayerMonitor::new(xlayer_args.monitor, args.node_args.flashblocks.enabled); | ||
| let monitor = XLayerMonitor::new( |
Contributor
There was a problem hiding this comment.
This monitor initialization can also be controlled by tx_trace_enable flag
Contributor
There was a problem hiding this comment.
And also line 182 should be controlled by this flag
Contributor
Author
There was a problem hiding this comment.
I've implemented the monitor.enable flag check internally within the components to keep main.rs clean:
- RpcMonitorLayer (rpc.rs): Checks
enableflag inRpcMonitorService::call- passes through directly if disabled - start_monitor_handle (handle.rs): Checks
enableflag at function start - returns early if disabled
This approach avoids conditional branches in main.rs while ensuring no overhead when monitoring is disabled. The XLayerMonitor methods are already protected via get_global_tracer() which returns None when tracer isn't initialized.
JimmyShi22
approved these changes
Jan 26, 2026
This was referenced Jan 28, 2026
Closed
louisliu2048
pushed a commit
that referenced
this pull request
Feb 5, 2026
* upgrade to v1.10.0 (#98) * perf(builder): use XLayerPayloadServiceBuilder to simplify main codes (#95) Co-authored-by: Vui-Chee <vuicheesiew@gmail.com> Co-authored-by: Niven <sieniven@gmail.com> * drop unused dep * chore: better rename, fix unused variable warning (#99) * Better refactor, fix unused var warn * Better rename * Remove xlayer suffix * Align cargo chef base image with latest rust toolchain version (#100) * Update builder version (#101) * feat(full trace): Add full trace hook framework (#103) * add engine api hook for full trace * rm comment * fix clippy * add send tx hook * add blockchain tracer * cargo lock * fix review issues * simplify to tracer to avoid nasty type bonanza * renamed `TracerConfig` to `Tracer` * more renames * EngineApiTracer derive clone over manual impl * handle middleware overwrite problem * reorder * drop clone * no box on middleware rpc tracer * impl `EngineApiBuilder` directly to tracer --------- Co-authored-by: Vui-Chee <vuicheesiew@gmail.com> * fix: remove engine api, and simplify monitor logic (#107) * remove unused reth-node-api (#108) * fix: resolve audit issues related to flashblocks subscription (#113) * Fix unnecessary clone * Fix incomplete documentation of subscribe addrs filter * Better desc * chore(flashblocks): update builder version to v0.2.5 (#114) * Update builder version to v0.2.5 with full link monitor updates * Fix wspub init * feat: Add Transaction Trace Monitoring Support (#115) * add trace logic * optimize * fix ut * fix ut * fix * fix * optimize code * optimize code * fix * chore: fix rust formatter (#132) * Fix fmt * Remove unused dep * Fix nested if else clippy check * Update dependencies, use reth v1.10.2 and builder v0.3.0 (#133) * fix: upgrade reth v1.10.2 version with bug fixes (#134) * Fix revm dep * Update reth version, use merge fixes version * Add audit report (#135) * add audit report * add audit report --------- Co-authored-by: chunsheng.wang <chunsheng.wang@okg.com> * feat: add flashblocks enabled RPC method (#136) * feat: add flashblocks enabled RPC method * chore: clippy * chore: add unit tests * chore: reword documentation * remove min gas rpc (#138) --------- Co-authored-by: jimmyshi <417711026@qq.com> Co-authored-by: Niven <sieniven@gmail.com> Co-authored-by: Leo <335209779@qq.com> Co-authored-by: wangchunsheng-ops <13614269216@163.com> Co-authored-by: chunsheng.wang <chunsheng.wang@okg.com> Co-authored-by: lucas <66681646+limyeechern@users.noreply.github.com>
louisliu2048
pushed a commit
that referenced
this pull request
Feb 5, 2026
* upgrade to v1.10.0 (#98) * perf(builder): use XLayerPayloadServiceBuilder to simplify main codes (#95) Co-authored-by: Vui-Chee <vuicheesiew@gmail.com> Co-authored-by: Niven <sieniven@gmail.com> * drop unused dep * chore: better rename, fix unused variable warning (#99) * Better refactor, fix unused var warn * Better rename * Remove xlayer suffix * Align cargo chef base image with latest rust toolchain version (#100) * Update builder version (#101) * feat(full trace): Add full trace hook framework (#103) * add engine api hook for full trace * rm comment * fix clippy * add send tx hook * add blockchain tracer * cargo lock * fix review issues * simplify to tracer to avoid nasty type bonanza * renamed `TracerConfig` to `Tracer` * more renames * EngineApiTracer derive clone over manual impl * handle middleware overwrite problem * reorder * drop clone * no box on middleware rpc tracer * impl `EngineApiBuilder` directly to tracer --------- Co-authored-by: Vui-Chee <vuicheesiew@gmail.com> * fix: remove engine api, and simplify monitor logic (#107) * remove unused reth-node-api (#108) * fix: resolve audit issues related to flashblocks subscription (#113) * Fix unnecessary clone * Fix incomplete documentation of subscribe addrs filter * Better desc * chore(flashblocks): update builder version to v0.2.5 (#114) * Update builder version to v0.2.5 with full link monitor updates * Fix wspub init * feat: Add Transaction Trace Monitoring Support (#115) * add trace logic * optimize * fix ut * fix ut * fix * fix * optimize code * optimize code * fix * chore: fix rust formatter (#132) * Fix fmt * Remove unused dep * Fix nested if else clippy check * Update dependencies, use reth v1.10.2 and builder v0.3.0 (#133) * fix: upgrade reth v1.10.2 version with bug fixes (#134) * Fix revm dep * Update reth version, use merge fixes version * Add audit report (#135) * add audit report * add audit report --------- Co-authored-by: chunsheng.wang <chunsheng.wang@okg.com> * feat: add flashblocks enabled RPC method (#136) * feat: add flashblocks enabled RPC method * chore: clippy * chore: add unit tests * chore: reword documentation * remove min gas rpc (#138) --------- Co-authored-by: jimmyshi <417711026@qq.com> Co-authored-by: Niven <sieniven@gmail.com> Co-authored-by: Leo <335209779@qq.com> Co-authored-by: wangchunsheng-ops <13614269216@163.com> Co-authored-by: chunsheng.wang <chunsheng.wang@okg.com> Co-authored-by: lucas <66681646+limyeechern@users.noreply.github.com>
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.
Description
Add transaction trace monitoring support with integration to
xlayer-trace-monitor. Replaces--xlayer.full-link-monitorwith--tx-trace.enableand--tx-trace.output-pathflags. Adds--xlayer.sequencer-modeflag to control node mode for tracing. Implements transaction and block event logging inXLayerMonitorwith proper process IDs based on sequencer/RPC mode.Type of Change
Checklist
docs/folderTesting
cargo check--tx-trace.enableflag to ensure global tracer initializes correctlyAdditional Notes