Guard hot-path log calls to avoid payload rendering when disabled

Wrap `log.transport()` in `Channel.send()` and `log.runtime()` in
`PldRx.decode_pld()` with `log.at_least_level()` checks so that
expensive `pformat(payload)` / `repr(msg)` / `repr(pld)` calls are
skipped entirely when the respective log level is not active.

Previously the f-string arguments were eagerly evaluated before being
passed to the log method, even though `StackLevelAdapter.log()` would
then discard the message internally via its own `isEnabledFor()` check.
On high-frequency IPC paths this caused `pformat` to dominate CPU
usage (~60-70 %) as reported in #455.

This also restores the full diagnostic output (msg type, decoded
payload) that was temporarily commented out in 0373164 as a stopgap.

Resolves #455
wkt/start_or_cancel_tests_474
root 2026-05-07 22:01:55 -07:00 committed by goodboy
parent 148a098ca6
commit 0e11ff7e9d
2 changed files with 15 additions and 13 deletions

View File

@ -325,10 +325,12 @@ class Channel:
'''
__tracebackhide__: bool = hide_tb
try:
log.transport(
'=> send IPC msg\n\n'
# f'{pformat(payload)}\n'
)
if log.at_least_level('transport'):
# don't materialize the payload repr if not necessary
log.transport(
'=> send IPC msg:\n\n'
f'{pformat(payload)}\n'
)
# assert self._transport # but why typing?
await self._transport.send(
payload,

View File

@ -306,15 +306,15 @@ class PldRx(Struct):
):
try:
pld: PayloadT = self._pld_dec.decode(pld)
log.runtime(
f'Decoded payload for\n'
# # f'\n'
# f'{msg}\n'
# # ^TODO?, ideally just render with `,
# # pld={decode}` in the `msg.pformat()`??
# f'where, '
# f'{type(msg).__name__}.pld={pld!r}\n'
)
if log.at_least_level('runtime'):
# don't materialize the payload repr if not necessary
log.runtime(
f'Decoded payload for\n'
f'\n'
f'{msg}\n'
f'where, '
f'{type(msg).__name__}.pld={pld!r}\n'
)
return pld
except TypeError as typerr:
__tracebackhide__: bool = False