أهلا
لقد صنعت واجهة مستخدم رسومية لـ iperf 2 في Powershell:
https://github.com/ili101/PPerf
أريد إضافة دعم iperf 3 لكن iperf 3 ليس لديه خيار إخراج في الوقت الحقيقي قابل للتحليل
iperf 2 لها إخراج CSV
يحتوي iperf 3 على إخراج JSON ولكنه تحديثات فقط في النهاية
لا أعتقد أن JSON يمكنها دعم التحديثات في الوقت الفعلي بسبب هيكلها ، وربما سبب تحديثها فقط في النهاية.
هل يمكنك إضافة دعم CSV أو شيء ما بوظائف مماثلة؟
شكرا لك
لقد تمكنت من تحليل إخراج النص
عن طريق قطع البيانات حسب موضع مؤشر البداية على السطر [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 ثانية" إلى كلمتين ولكن بيانات الخلية الواحدة في الواقع هي "الفاصل الزمني".
يعد كبح البيانات إلى الخلايا عن طريق موضع خط الرأس (ثم العمل على سلسلة الخلية) أسهل
إنها ليست مجرد مشكلة في قراءة الآلة ، ولا يبدو جيدًا أن بعض البيانات خارج خلية "جدول الصور" ولا تتوافق أيضًا مع الخطوط الأخرى
أود أيضًا أن أرى هذه الميزة. أفهم أنه لا يمكن تجميع بنية JSON حتى نهاية الاختبار ، لذلك ربما يكون لديك حد أدنى من كائن JSON لكل فترة إبلاغ بدلاً من ذلك؟ أو قم بإعادة دعم csv للتوافق مع الإصدارات السابقة بسهولة.
التعليق الأكثر فائدة
أود أيضًا أن أرى هذه الميزة. أفهم أنه لا يمكن تجميع بنية JSON حتى نهاية الاختبار ، لذلك ربما يكون لديك حد أدنى من كائن JSON لكل فترة إبلاغ بدلاً من ذلك؟ أو قم بإعادة دعم csv للتوافق مع الإصدارات السابقة بسهولة.