Skip to content

Instantly share code, notes, and snippets.

@naumenkogs
Created March 15, 2020 17:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save naumenkogs/9bee7178dbe582e47d8db16f1019ddee to your computer and use it in GitHub Desktop.
Save naumenkogs/9bee7178dbe582e47d8db16f1019ddee to your computer and use it in GitHub Desktop.
#!/usr/bin/python
import sys
import re
from statistics import mean
path = 'node%s/data/debug.log' % sys.argv[1]
tx_timestamps = dict()
received_bytes = 0
sent_bytes = 0
sent_bytes_per_message = dict()
received_bytes_per_message = dict()
# parsing
i = 0
with open(path, "r") as btc_log:
for line in btc_log:
if 'received: ' in line and 'bytes' in line:
bytes = int(line[line.find("(") + 1: line.find(" bytes)")])
received_bytes += bytes
message = line[line.find("received: ") + 10: line.find(" (")]
received_bytes_per_message[message] = received_bytes_per_message.get(message, 0) + bytes
if 'sending ' in line and 'bytes' in line:
bytes = int(line[line.find("(") + 1: line.find(" bytes)")])
sent_bytes += bytes
message = line[line.find("sending ") + 8: line.find(" (")]
sent_bytes_per_message[message] = sent_bytes_per_message.get(message, 0) + bytes
print('Sent bytes: ', sent_bytes/1024 / 1024)
print('Received bytes: ', received_bytes/ 1024/1024)
sent_bytes_per_message = sorted(sent_bytes_per_message.items(), key=lambda item: item[1])
received_bytes_per_message = sorted(received_bytes_per_message.items(), key=lambda item: item[1])
sent_bytes_per_message = [(k, round(v/1024/1024,3)) for k, v in sent_bytes_per_message]
received_bytes_per_message = [(k, round(v/1024/1024,3)) for k, v in received_bytes_per_message]
print('Sent: ', sent_bytes_per_message)
print('Received: ', received_bytes_per_message)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment