log_p2p_traffic.bt raw

   1  #!/usr/bin/env bpftrace
   2  
   3  BEGIN
   4  {
   5    printf("Logging P2P traffic\n")
   6  }
   7  
   8  usdt:./build/bin/bitcoind:net:inbound_message
   9  {
  10    $peer_id = (int64) arg0;
  11    $peer_addr = str(arg1);
  12    $peer_type = str(arg2);
  13    $msg_type = str(arg3);
  14    $msg_len = arg4;
  15    printf("inbound '%s' msg from peer %d (%s, %s) with %d bytes\n", $msg_type, $peer_id, $peer_type, $peer_addr, $msg_len);
  16  }
  17  
  18  usdt:./build/bin/bitcoind:net:outbound_message
  19  {
  20    $peer_id = (int64) arg0;
  21    $peer_addr = str(arg1);
  22    $peer_type = str(arg2);
  23    $msg_type = str(arg3);
  24    $msg_len = arg4;
  25  
  26    printf("outbound '%s' msg to peer %d (%s, %s) with %d bytes\n", $msg_type, $peer_id, $peer_type, $peer_addr, $msg_len);
  27  }
  28  
  29