Wie kann ich die kumulative Netzwerknutzung eines Prozesses von Anfang bis Ende der Ausführung messen?

11

Ich möchte messen, wie viel Bandbreite git pullverbraucht wird, vorzugsweise indem dem Befehl git das gewünschte Programm vorangestellt wird, d. H.nettally git pull

Gibt es alternativ eine hinterhältige Möglichkeit, Nethogs / Wireshark-Daten zu sammeln und die Zahlen nach der Ausführung zu addieren?

Vielen Dank

Caduceus
quelle
Wenn ich das tun würde, würde ich rennen, iftopaber das ist nicht ganz für deine Bedürfnisse geeignet.
Mveroone
Ja, Sie wissen, dass all diese Programme dasselbe tun. Nethogs, Wireshark, Iftop. Ist es möglich, die App auf einer eigenen Oberfläche auszuführen?
Caduceus
Ein weiterer Trick wäre vielleicht eine iptables "Mangle" -Regel? dann hast du Zähler ... aber das ist noch weit von dem entfernt, was du willst.
Mveroone
Werfen Sie einen Blick auf nethogs.sourceforge.net , ich denke, es macht, was Sie wollen.
Diego Woitasen

Antworten:

14

Wenn Sie starten nethogsund dann die mTaste drücken, wird vom Momentanmodus (kB / s) in den kumulativen Modus (kB) gewechselt.

Phrogz
quelle
0

Wickeln Sie den Befehl in einen SOCKS-Client (z. B. dante-client), zeigen Sie SOCKS auf einen Server (z. B. socat / netcat), der den Datenverkehr misst, und leiten Sie ihn an den realen SOCKS-Server weiter. Es wird einen SOCKS-Overhead geben, aber wenn Sie kein genaues Maß benötigen, berücksichtigen Sie dies einfach.

Ein Shell-Skript könnte die Socat-Sockets und die LD_PRELOAD_PATH-Umgebung einrichten, den Befehl ausführen und Statistiken melden, sobald dies erledigt ist.

Dave Car
quelle