[pn7150] Combine log statements to reduce loop blocking - #12944
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #12944 +/- ##
=======================================
Coverage 73.46% 73.46%
=======================================
Files 53 53
Lines 11310 11310
Branches 1535 1535
=======================================
Hits 8309 8309
Misses 2602 2602
Partials 399 399 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
To use the changes from this PR as an external component, add the following to your ESPHome configuration YAML file: external_components:
- source: github://pr#12944
components: [pn7150]
refresh: 1h(Added by the PR bot) |
|
👋 Hi there! I've automatically requested reviews from codeowners based on the files changed in this PR. @jesserockz, @kbx81 - You've been requested to review this PR as codeowner(s) of 1 file(s) that were modified. Thanks for your time! 🙏 |
There was a problem hiding this comment.
Pull request overview
This PR optimizes logging performance in the pn7150 NFC component by combining consecutive log statements into single multi-line calls. This reduces event loop blocking caused by the overhead of multiple separate logging operations (formatting, memory allocation, serial output, and network transmission).
Key Changes:
- Combined 2 sequential log statements in
reset_core_()into 1 multi-line call - Combined 5 sequential log statements in
init_core_()into 1 multi-line call - Combined 2 log statements in
process_rf_intf_activated_oid_()into 1 multi-line call
|
thanks |
What does this implement/fix?
Combine consecutive log statements into single calls using multi-line string literals.
Logging is one of the most intensive operations in ESPHome and blocks the event loop longer than most other operations. Each
ESP_LOG*call involves formatting, memory allocation, serial output, and network packet transmission. Combining consecutive log statements reduces event loop blocking and the number of network packets sent to connected clients.Note: The log processor reformats multi-line output so each line gets its own timestamp and log level prefix - the final output format is unchanged. Minor reordering of dump_config output may occur when LOG_PIN or other logging macros cannot be combined with ESP_LOG* calls - this is acceptable as it does not affect functionality.
See https://developers.esphome.io/architecture/logging/ for more details.
Types of changes
Related issue or feature (if applicable):
Pull request in esphome-docs with documentation (if applicable):
Test Environment
Example entry for
config.yaml:# N/A - no config changesChecklist:
tests/folder).If user exposed functionality or configuration variables are added/changed: