Hallo
Ich habe eine GUI für iperf 2 in Powershell erstellt:
https://github.com/ili101/PPerf
Ich möchte iperf 3-Unterstützung hinzufügen, aber iperf 3 verfügt nicht über eine analysierbare Echtzeit-Ausgabeoption
iperf 2 haben CSV-Ausgabe
iperf 3 hat JSON-Ausgabe, aber es werden nur am Ende aktualisiert
Ich glaube nicht, dass JSON aufgrund seiner Struktur Echtzeit-Updates unterstützen kann, wahrscheinlich, warum Sie es erst am Ende aktualisieren.
Können Sie CSV-Unterstützung oder ähnliches hinzufügen?
Vielen Dank
Ich habe es geschafft, die Textausgabe zu analysieren
durch Schneiden der Daten durch die Wörter, die die Indexposition in der Zeile [ID] beginnen
Sie haben jedoch einen kleinen Fehler, dass einige der Zeilendaten manchmal vor der Kopfposition beginnen
wie die Zeilen total und 5.01-5.01 in diesem Beispiel
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 127.0.0.1, port 63781
[ 6] local 127.0.0.1 port 5201 connected to 127.0.0.1 port 64003
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 6] 0.00-1.01 sec 120 KBytes 0.98 Mbits/sec 0.136 ms 0/15 (0%)
[ 6] 1.01-2.01 sec 128 KBytes 1.05 Mbits/sec 0.137 ms 0/16 (0%)
[ 6] 2.01-3.01 sec 128 KBytes 1.05 Mbits/sec 0.169 ms 0/16 (0%)
[ 6] 3.01-4.01 sec 128 KBytes 1.05 Mbits/sec 0.126 ms 0/16 (0%)
[ 6] 4.01-5.01 sec 128 KBytes 1.04 Mbits/sec 0.113 ms 0/16 (0%)
[ 6] 5.01-5.01 sec 0.00 Bytes 0.00 Mbits/sec 0.113 ms 0/0 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 6] 0.00-5.01 sec 0.00 Bytes 0.00 Mbits/sec 0.113 ms 0/79 (0%)
Ich frage mich, ob einige der Ausgabefelder auf witzige Weise gerechtfertigt sind. Zugegeben, ich habe das überhaupt nicht untersucht.
Wenn ich versuchen würde, diese Ausgabe zu analysieren, könnte ich stattdessen versuchen, die Zeile in "Wörter" zu unterteilen, die durch ein Leerzeichen (und nicht durch die Position in der Zeile) getrennt sind. Denken Sie an die Perl- oder Python-Split-Befehle, das stelle ich mir vor.
Das Aufteilen der Datenzeile durch die Leerzeichen ist schwierig, da Sie dann die "Wörter" mit dem entsprechenden Header verbinden müssen und sie nicht bearbeitet werden.
"0,00-1,01 Sek." Wird in 2 Wörter aufgeteilt, aber es handelt sich tatsächlich um eine Zellendatei, die "Intervall" ist.
Das Bremsen der Daten an Zellen durch die Position der Kopfzeile (dann Arbeiten an der Zellenzeichenfolge) ist einfacher
Es ist nicht nur ein Problem beim maschinellen Lesen, es sieht auch nicht gut aus, dass einige der Daten aus der Zelle "Bildtabelle" stammen und auch nicht mit den anderen Zeilen übereinstimmen
Ich würde diese Funktion auch gerne sehen. Ich verstehe, dass die JSON-Struktur erst am Ende des Tests zusammengestellt werden kann. Haben Sie stattdessen möglicherweise ein minimales JSON-Objekt für jedes Berichtsintervall? Oder bringen Sie die CSV-Unterstützung für eine einfache Abwärtskompatibilität zurück.
Hilfreichster Kommentar
Ich würde diese Funktion auch gerne sehen. Ich verstehe, dass die JSON-Struktur erst am Ende des Tests zusammengestellt werden kann. Haben Sie stattdessen möglicherweise ein minimales JSON-Objekt für jedes Berichtsintervall? Oder bringen Sie die CSV-Unterstützung für eine einfache Abwärtskompatibilität zurück.