# Patching tracing into Polkadot v29 substrate branch: zeke-add-traces-polkadot-v0.8.29 polkadot branch: zeke-29-port-rpc-trace ## Tue, March 16th Branched from polkadot-v0.8.29 and add in the block trace RPC ## Wed, March 17th ### overview I put several `trace::trace!` and `log::info!` messages in client/tracing/src/block/mod.rs. Currently polkadot is not yet in runtime v29 - it is in v28. As of now I get no spans when querying runtimes that are not the same as the client. So I am getting no spans, but I am getting events from state-machine/ext.rs *I would query Kusama since it has been updated but I am still waiting on the archive node to synce. I am using the following options to run the node: ``` cargo run --bin=polkadot -- --pruning=archive --base-path=/home/zeke/nodebases/test-1 --rpc-methods=Unsafe --chain=polkadot --wasm-runtime-overrides=/home/zeke/substrate-archive/wasm-tracing/polkadot ``` ### wasm runtimes from archive I also pointed the node at the wasm runtimes with tracing substrate archive. Even when I query blocks in those runtimes I do not get spans. **BUT** the events do have `parent_id`, which they do not have in the runtimes we don't have wasm from for archive. This indicates to me there are spans but ### (naieve) notes on what I saw from logging and tracing - No `log::info!` messages I put in the `Subscriber` showed up - ex: https://github.com/paritytech/substrate/blob/bb0c8b6db8d082491c4596c62a090eda7e30b01c/client/tracing/src/block/mod.rs#L133 - [The `trace::trace!` I put in `BlockSubscriber::new_span` does not show up](https://github.com/paritytech/substrate/blob/bb0c8b6db8d082491c4596c62a090eda7e30b01c/client/tracing/src/block/mod.rs#L96) - I would guess putting `trace::trace!` in `BlockSubscriber::event` would succesfully create an event, but I didn't do it since I assume it would create an infinite loop - `log::info!` _outside_ of `dispatcher::with_default` consistenly show up, [such as here](https://github.com/paritytech/substrate/blob/bb0c8b6db8d082491c4596c62a090eda7e30b01c/client/tracing/src/block/mod.rs#L232) - conversly, `log::info!` _inside_ of `dispatcher::with_default` does not show up, [such as here](https://github.com/paritytech/substrate/blob/bb0c8b6db8d082491c4596c62a090eda7e30b01c/client/tracing/src/block/mod.rs#L245) - [`trace::trace!` does show up within `dispatcher::with_default`](https://github.com/paritytech/substrate/blob/bb0c8b6db8d082491c4596c62a090eda7e30b01c/client/tracing/src/block/mod.rs#L248) ### next steps - Make querys in a v29 runtime to confirm the trace spans show up - Iff possible, see if I can enter a span prior to `dispatcher::with_default`. If this is possible I am guessin the span might show up, but haven't read docs here - Read more into how dispatcher works and really actually for real figure out why spans are not showing up at all - Clarify understanding of runtime and client communication ## Thur, March 18th ### notes (ignore) - Dispatcher - dispatcher::with_default - will not propgate the current threads default subscriber to spawned threads ### next steps - Understand wasm tracing code ## Fri, March 19th - https://github.com/paritytech/substrate/pull/5698 - Tracing is introduced to the decl_module macro in april 2020 - Makes me think spans from within decl_module should show up