hwa-collector: refine event loop