aboutsummaryrefslogtreecommitdiff
path: root/contrib/tracing/README.md
diff options
context:
space:
mode:
author0xb10c <0xb10c@gmail.com>2021-10-18 13:19:13 +0200
committer0xb10c <0xb10c@gmail.com>2021-10-18 14:35:25 +0200
commit53c9fa9e6253ea89ba1057b35e018ad1a25fb97e (patch)
tree1f2173e522663fe2d75eef91561ef63afebca55c /contrib/tracing/README.md
parent3bf40d06a22ee1c547d2924d109b8e185ddbf5ef (diff)
downloadbitcoin-53c9fa9e6253ea89ba1057b35e018ad1a25fb97e.tar.xz
tracing: drop block_connected hash.toString() arg
The tracepoint `validation:block_connected` was introduced in #22006. The first argument was the hash of the connected block as a pointer to a C-like String. The last argument passed the hash of the connected block as a pointer to 32 bytes. The hash was only passed as string to allow `bpftrace` scripts to print the hash. It was (incorrectly) assumed that `bpftrace` cannot hex-format and print the block hash given only the hash as bytes. The block hash can be printed in `bpftrace` by calling `printf("%02x")` for each byte of the hash in an `unroll () {...}`. By starting from the last byte of the hash, it can be printed in big-endian (the block-explorer format). ```C $p = $hash + 31; unroll(32) { $b = *(uint8*)$p; printf("%02x", $b); $p -= 1; } ``` See also: https://github.com/bitcoin/bitcoin/pull/22902#discussion_r705176691 This is a breaking change to the block_connected tracepoint API, however this tracepoint has not yet been included in a release.
Diffstat (limited to 'contrib/tracing/README.md')
-rw-r--r--contrib/tracing/README.md7
1 files changed, 1 insertions, 6 deletions
diff --git a/contrib/tracing/README.md b/contrib/tracing/README.md
index 047354cda1..1f93474fa0 100644
--- a/contrib/tracing/README.md
+++ b/contrib/tracing/README.md
@@ -176,17 +176,12 @@ third acts as a duration threshold in milliseconds. When the `ConnectBlock()`
function takes longer than the threshold, information about the block, is
printed. For more details, see the header comment in the script.
-By default, `bpftrace` limits strings to 64 bytes due to the limited stack size
-in the kernel VM. Block hashes as zero-terminated hex strings are 65 bytes which
-exceed the string limit. The string size limit can be set to 65 bytes with the
-environment variable `BPFTRACE_STRLEN`.
-
The following command can be used to benchmark, for example, `ConnectBlock()`
between height 20000 and 38000 on SigNet while logging all blocks that take
longer than 25ms to connect.
```
-$ BPFTRACE_STRLEN=65 bpftrace contrib/tracing/connectblock_benchmark.bt 20000 38000 25
+$ bpftrace contrib/tracing/connectblock_benchmark.bt 20000 38000 25
```
In a different terminal, starting Bitcoin Core in SigNet mode and with