Description
One of the stranges of the Prometheus exposition format is to deliver human readable metrics out of the box. To accomplish this with snmp_exporter as well, it usually needs to read slow lookup tables (~ 100 +- 50 ms/table), which makes a poll rate of 0.3..1 Hz or higher impossible and imposes a more or less high load on the related device (and snmp_exporter as well). Very inefficient.
Much better would be if snmp_exporter would cache lookup tables. Because such tables are stable at least wrt. the next boot of the device (often even dyn. enumerated sensors keep their index number over reboots), one may cache it. E.g. the lookup: descrTable
could be modified to lookup: checkVal@descrTable
. checkVal is the snmp_variable to check, whether the cached descrTable is still valid - could be e.g. sysUptime
. If the lookup value has no .*@
prefix, snmp_exporter should work as usual, i.e. do not cache the relate table.