only calculate metrics on main thread
* output them at a reduced frequency