Iperf: легко анализируемая опция вывода в реальном времени

Созданный на 23 июл. 2016  ·  4Комментарии  ·  Источник: esnet/iperf

Привет
Я сделал графический интерфейс для iperf 2 в Powershell:
https://github.com/ili101/PPerf

Я хочу добавить поддержку iperf 3, но iperf 3 не имеет опции вывода в реальном времени с возможностью синтаксического анализа

iperf 2 имеет вывод CSV
iperf 3 имеет вывод JSON, но он обновляется только в конце

Я не думаю, что JSON может поддерживать обновления в реальном времени из-за его структуры, возможно, поэтому вы обновляете его только в конце.

Можете ли вы добавить поддержку CSV или что-то с аналогичной функциональностью?

Спасибо

Help Wanted enhancement outputs

Самый полезный комментарий

Я бы тоже хотел увидеть эту особенность. Я понимаю, что структура JSON не может быть собрана до конца теста, поэтому, может быть, вместо этого нужно иметь минимальный объект JSON для каждого интервала отчетности? Или верните поддержку csv для легкой обратной совместимости.

Все 4 Комментарий

Мне удалось разобрать текстовый вывод
путем вырезания данных по позиции начального индекса слов в строке [ID]
но у вас есть небольшая ошибка, что некоторые данные строк иногда начинаются до позиции заголовка

например, итоговые значения и строки 5.01-5.01 в этом примере

-----------------------------------------------------------
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%)  

Интересно, оправданы ли некоторые из полей вывода забавным образом. По общему признанию, я вообще не разбирался в этом.

Если бы я собирался попробовать разобрать этот вывод, я мог бы попробовать вместо этого разбить строку на «слова», разделенные некоторым количеством пробелов (а не позицией в строке). Подумайте о командах разделения Perl или Python, это то, что я представляю.

Разбить строку данных на пробелы будет сложно, потому что тогда вам нужно будет связать «слова» с уважаемым заголовком, и они не будут обрабатываться.
«0,00–1,01 сек» будет разбито на 2 слова, но на самом деле это данные одной ячейки, то есть «Интервал».

торможение данных в ячейки по положению строки заголовка (затем работа со строкой ячеек) проще

Это не только проблема машинного чтения, это не выглядит хорошо, что некоторые данные находятся за пределами ячейки "таблицы изображений", а также не совпадают с другими строками.

Я бы тоже хотел увидеть эту особенность. Я понимаю, что структура JSON не может быть собрана до конца теста, поэтому, может быть, вместо этого нужно иметь минимальный объект JSON для каждого интервала отчетности? Или верните поддержку csv для легкой обратной совместимости.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги