Я хотел бы измерить задержку сети для запроса 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, возвращаемые
раз (2)),системное время процессора (сумма
Значения tms_stime и tms_cstime в структуре tms, возвращаемые
раз (2)).
Как видите, ни один из этих параметров не позволяет измерить реальное время задержки в сети (за исключением статистики времени выполнения других программ). Есть ли способ сделать это? Может быть, не используя инструмент времени, а скорее некоторые хаки ядра?
Я хотел спросить, прежде чем я начну писать свою собственную программу.
Спасибо Петр