私もHSPだとCPUやメモリを見るくらいですかね。
ツールとか作る時は、負荷を気にするのであれば割り込みで対応します。
基本はプログラムは停止させて、何かイベント(メッセージ)が発生した時だけ処理します。
以下簡単なペイントですが、私の環境だとCPU負荷0.1%とかでした。
; Win32のドキュメント Microsoft
; https://docs.microsoft.com/ja-jp/windows/win32/inputdev/wm-mousemove
oncmd goto *ON_WM_MOUSEMOVE, 0x0200
oncmd goto *ON_WM_KEYDOWN, 0x0100
stop
*ON_WM_KEYDOWN
title strf("K:%d", wparam)
if wparam = 0x52 : color 255
if wparam = 0x47 : color ,255
if wparam = 0x42 : color ,,255
stop
*ON_WM_MOUSEMOVE
title strf("M:%d,x:%d,y:%d", wparam, (lparam & 0xFFFF),(lparam>>16))
if wparam == 0 : pos (lparam & 0xFFFF), (lparam>>16)
if wparam == 1 : line (lparam & 0xFFFF), (lparam>>16)
stop
長時間ログを取りたいならメモリにどんどん貯めていく形で、使用量を気にするより、
10MBとか指定してバッファ溜まったらbsaveでファイルに10MB追加書き込みして
メモリをリセットすると気楽かと思います。
※ファイルサイズが大きくなるなら、ログだったら連番で保存でもいいかも
※ご自分のツールのログの量や書き込み頻度をみつつ。。