0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-18 11:57:37 -05:00
bitcoin-bitcoin-core/contrib/tracing/log_p2p_connections.bt
0xb10c b19b526758
tracing: log_p2p_connections.bt example
A bpftrace script that logs information from the
net:*_connection tracepoints.

I've tested this script with bpftrace version 0.14.1 and v0.20.2.
2025-02-04 10:25:36 +01:00

51 lines
1.4 KiB
Text
Executable file

#!/usr/bin/env bpftrace
BEGIN
{
printf("Logging opened, closed, misbehaving, and evicted P2P connections\n")
}
usdt:./build/src/bitcoind:net:inbound_connection
{
$id = (int64) arg0;
$addr = str(arg1);
$conn_type = str(arg2);
$network = (int32) arg3;
$existing = (uint64) arg4;
printf("INBOUND conn from %s: id=%ld, type=%s, network=%d, total=%d\n", $addr, $id, $conn_type, $network, $existing);
}
usdt:./build/src/bitcoind:net:outbound_connection
{
$id = (int64) arg0;
$addr = str(arg1);
$conn_type = str(arg2);
$network = (int32) arg3;
$existing = (uint64) arg4;
printf("OUTBOUND conn to %s: id=%ld, type=%s, network=%d, total=%d\n", $addr, $id, $conn_type, $network, $existing);
}
usdt:./build/src/bitcoind:net:closed_connection
{
$id = (int64) arg0;
$addr = str(arg1);
$conn_type = str(arg2);
$network = (int32) arg3;
printf("CLOSED conn to %s: id=%ld, type=%s, network=%d, established=%ld\n", $addr, $id, $conn_type, $network, arg4);
}
usdt:./build/src/bitcoind:net:evicted_inbound_connection
{
$id = (int64) arg0;
$addr = str(arg1);
$conn_type = str(arg2);
$network = (int32) arg3;
printf("EVICTED conn to %s: id=%ld, type=%s, network=%d, established=%ld\n", $addr, $id, $conn_type, $network, arg4);
}
usdt:./build/src/bitcoind:net:misbehaving_connection
{
$id = (int64) arg0;
$message = str(arg1);
printf("MISBEHAVING conn id=%ld, message='%s'\n", $id, $message);
}