Я хотел бы измерить задержку сети для запроса SNMP GET. Существует бесплатный инструмент командной строки, timeкоторый можно использовать для поиска статистики времени для различных команд. Например, его можно использовать snmpgetследующим образом:
$ time snmpget -v 2c -c public 192.168.1.3 .1.3.6.1.2.1.2.2.1.10.2
IF-MIB::ifInOctets.2 = Counter32: 112857973
real 0m0.162s
user 0m0.069s
sys 0m0.005s
Согласно руководству, статистика состоит из:
прошедшее реальное время между вызовом и завершением,
пользовательское процессорное время (сумма значений
tms_utime и tms_cutime в структуре tms, возвращенная
times (2)),системное время ЦП (сумма значений
tms_stime и tms_cstime в структуре tms, возвращаемых
times (2)).
Как видите, ни один из этих параметров не позволяет измерить реальное время задержки в сети (за исключением статистики времени выполнения других программ). Есть ли способ сделать это? Может быть, не используя инструмент времени, а скорее некоторые хаки ядра?
Я хотел спросить, прежде чем я начну писать свою собственную программу.
Спасибо Петр
-tttttтакже может быть полезным - вместо отображения микросекунд с момента последнего пакета он показывает микросекунды с начала трассировки.