-
Notifications
You must be signed in to change notification settings - Fork 131
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
Enabling tracing by usage of opentelemetry #99
base: new-index
Are you sure you want to change the base?
Commits on Nov 6, 2024
-
Configuration menu - View commit details
-
Copy full SHA for bb132ee - Browse repository at this point
Copy the full SHA bb132eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 80275bd - Browse repository at this point
Copy the full SHA 80275bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for f813909 - Browse repository at this point
Copy the full SHA f813909View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5dc40a - Browse repository at this point
Copy the full SHA a5dc40aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 28facfd - Browse repository at this point
Copy the full SHA 28facfdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 26b006c - Browse repository at this point
Copy the full SHA 26b006cView commit details -
Configuration menu - View commit details
-
Copy full SHA for ceeee99 - Browse repository at this point
Copy the full SHA ceeee99View commit details -
Optimize and refactor lookup_txos()
- Avoid unnecessary copying of prev outpoints - When looking for both mempool and on-chain txos, accumulate the set of outpoints that remain to be looked up to avoid re-checking for them later again in the found set - Refactored lookup_txos() to use lookup_txo() internally rather than the other way around, which was less efficient - Lookup txos in mempool first, then on-chain - ChainQuery::lookup_txos() now returns a Result instead of panicking when outpoints are missing - Removed ChainQuery::lookup_avail_txos() and allow_missing, which are no longer neceesary
Configuration menu - View commit details
-
Copy full SHA for 9fa1add - Browse repository at this point
Copy the full SHA 9fa1addView commit details -
nix: add binLiquid for flake.nix
add binLiquid to the inherit list to enable specific builds
Configuration menu - View commit details
-
Copy full SHA for 3de782f - Browse repository at this point
Copy the full SHA 3de782fView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee5ad54 - Browse repository at this point
Copy the full SHA ee5ad54View commit details -
Using criterion so that we don't need nightly to run benchmark. The "bench" features is also introduced as a way to bench private methods via public methods feature gated via this feature.
Configuration menu - View commit details
-
Copy full SHA for 421730f - Browse repository at this point
Copy the full SHA 421730fView commit details -
on my machine: add_blocks time: [4.7562 ms 4.7754 ms 4.7972 ms] change: [-15.059% -14.650% -14.169%] (p = 0.00 < 0.05) Performance has improved.
Configuration menu - View commit details
-
Copy full SHA for 6c7a8f6 - Browse repository at this point
Copy the full SHA 6c7a8f6View commit details -
Avoid recomputing txid in TxConfRow
add_blocks time: [3.9458 ms 3.9586 ms 3.9717 ms] change: [-17.564% -17.103% -16.660%] (p = 0.00 < 0.05) Performance has improved.
Configuration menu - View commit details
-
Copy full SHA for 0bed9ca - Browse repository at this point
Copy the full SHA 0bed9caView commit details -
Avoid recomputing txid in TxRow
add_blocks time: [2.9788 ms 2.9938 ms 3.0101 ms] change: [-24.810% -24.373% -23.897%] (p = 0.00 < 0.05) Performance has improved.
Configuration menu - View commit details
-
Copy full SHA for f6f4f08 - Browse repository at this point
Copy the full SHA f6f4f08View commit details -
Configuration menu - View commit details
-
Copy full SHA for fa2d058 - Browse repository at this point
Copy the full SHA fa2d058View commit details -
upgrade electrum, do tests in nix
Now on nix env we provide the env vars of the executables needed for integration testing, so we can enable tests. To be coherent with the electrum nix version used, upgrade also the autodownloaded one. Note we have to change a test assertion, it seems electrum behaviour changed, upgrading balances before confirmation.
Configuration menu - View commit details
-
Copy full SHA for 345dd14 - Browse repository at this point
Copy the full SHA 345dd14View commit details -
to instead have logs like before use `RUST_LOG=debug cargo test`
Configuration menu - View commit details
-
Copy full SHA for 7e8b2a0 - Browse repository at this point
Copy the full SHA 7e8b2a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d98e0d3 - Browse repository at this point
Copy the full SHA d98e0d3View commit details -
By doing so simply `cargo run` launch the server, while now it is required `cargo run --bin electrs`
Configuration menu - View commit details
-
Copy full SHA for 3038504 - Browse repository at this point
Copy the full SHA 3038504View commit details -
Flag to enable compaction during initial sync
While compaction during initial sync makes thing much slower, it may be preferred to not require to size the disk the double of the final required space.
Configuration menu - View commit details
-
Copy full SHA for 0122580 - Browse repository at this point
Copy the full SHA 0122580View commit details -
improve logging during initial sync
it is less interesting to see how many rows are written in the db and more interesting knowing the last height indexed
Configuration menu - View commit details
-
Copy full SHA for 3c3a5fc - Browse repository at this point
Copy the full SHA 3c3a5fcView commit details -
Don't use RPC batching with bitcoind
This actually hurts performance because the batched response has to be bueffered on the bitcoind side, as @TheBlueMatt explains at romanz#373 (comment) Instead, send multiple individual RPC requests in parallel using a thread pool, with a separate RPC TCP connection for each thread. Also see romanz#374
Configuration menu - View commit details
-
Copy full SHA for cb5cec0 - Browse repository at this point
Copy the full SHA cb5cec0View commit details -
Don't store mempool txs before all prevouts are available
The indexing process was adding transactions into the store so that prevouts funded & spent within the same batch could be looked up via Mempool::lookup_txos(). If the indexing process later failed for any reason, these transactions would remain in the store. With this change, we instead explicitly look for prevouts funded within the same batch, then look for the rest in the chain/mempool indexes and fail if any are missing, without keeping the transactions in the store.
Configuration menu - View commit details
-
Copy full SHA for e2ca351 - Browse repository at this point
Copy the full SHA e2ca351View commit details -
Continuously attempt to fetch mempool transactions
Previously, if any of the mempool transactions were not available because they were evicted between getting the mempool txids and txs themselves, the mempool syncing operation would be aborted and tried again from scratch. With this change, we instead keep whatever transactions we were able to fetch, then get the updated list of mempool txids and re-try fetching missing ones continuously until we're able to get a full snapshot.
Configuration menu - View commit details
-
Copy full SHA for a83cac6 - Browse repository at this point
Copy the full SHA a83cac6View commit details -
Configuration menu - View commit details
-
Copy full SHA for bad4061 - Browse repository at this point
Copy the full SHA bad4061View commit details -
- Reduce logging level for bitcoind's JSONRPC response errors These can happen pretty often for missing mempool txs and do not warrant warn-level logging. Unexpected RPC errors will bubble up and be handled appropriately. - Add more verbose logging for mempool syncing
Configuration menu - View commit details
-
Copy full SHA for 803a699 - Browse repository at this point
Copy the full SHA 803a699View commit details -
Reuse RPC threads and TCP connections
Keep RPC TCP connections open between sync runs and reuse them, to reduce TCP connection initialization overhead.
Configuration menu - View commit details
-
Copy full SHA for 1f68ab0 - Browse repository at this point
Copy the full SHA 1f68ab0View commit details -
Avoid recomputing txids when possible
Following Blockstream#89 (comment) and Blockstream#89 (comment)
Configuration menu - View commit details
-
Copy full SHA for ea061ce - Browse repository at this point
Copy the full SHA ea061ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for ae7b299 - Browse repository at this point
Copy the full SHA ae7b299View commit details -
Configuration menu - View commit details
-
Copy full SHA for d1c9fda - Browse repository at this point
Copy the full SHA d1c9fdaView commit details