Metrics and timings

Louis Munro lmunro at
Thu Sep 15 19:45:33 CEST 2016

I am curious to know what people use, if anything, to collect metrics about the various database calls that FreeRADIUS does.
E.g. How fast is that LDAP server, or that SQL database?

Sure you can measure some of that from the database side itself, and radsniff can give you some idea of the latency for your requests, but what do you do if you make multiple calls to a series of servers, some of which you may not have access to (cough.. AD server )?
I have in the past written a wrapper for ntlm_auth that was logging the times (and sent them to a statsd server) but that process is now going away -- which is a good thing -- and that case does not cover metrics for FR's own modules.
Ideally I'd like to be able to point to a slowdown in one submodule (redis, ldap, sql, winbind etc.) to explain why the total latency has increased.

Short of adding metrics to each module I want them from (something I have played with using a statsd client library) is there a recommended way of getting that information?
Especially if I want historical data to be able to compare against for anomaly detection or capacity planning?

Any suggestions are welcome and appreciated.
Louis Munro
lmunro at <mailto:lmunro at>  :: <> 
+1.514.447.4918 x125  :: +1 (866) 353-6153 x125
Inverse inc. :: Leaders behind SOGo ( <>) and PacketFence ( <>)

More information about the Freeradius-Users mailing list