update report
use idlefunc instead of timerfunc