Vorrei misurare la latenza di rete per la richiesta GET SNMP. Esiste uno strumento da riga di comando gratuito time
che può essere utilizzato per trovare statistiche di temporizzazione per vari comandi. Ad esempio può essere utilizzato con snmpget
nel modo seguente:
$ 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
Secondo il manuale, le statistiche consistono in:
il tempo reale trascorso tra invocazione e cessazione,
il tempo della CPU dell'utente (la somma dei
valori tms_utime e tms_cutime in una struttura tms restituita da
times (2)),il tempo di CPU del sistema (la somma dei
valori tms_stime e tms_cstime in una struttura tms restituita dai
tempi (2)).
Come vedi, nessuna di queste opzioni consente di misurare il tempo di latenza della rete reale (con le statistiche sui tempi di esecuzione di altri programmi esclusi). C'è un modo per farlo? Forse non usando lo strumento tempo, ma piuttosto alcuni hack del kernel?
Volevo chiedere, prima di iniziare a scrivere il mio programma.
Grazie Piotr
-ttttt
può anche essere utile: invece di mostrare i microsecondi dall'ultimo pacchetto, mostra i microsecondi dall'inizio della traccia.