Commit Graph
27485 Commits
Author SHA1 Message Date
J. Nick Koston ba82a0f288 Merge remote-tracking branch 'upstream/runtime-stats-loop-overhead' into integration 2026-04-14 17:02:28 -10:00
J. Nick Koston a3a531f672 [runtime_stats] Subtract scheduled-callback time from before bucket
The scheduler also constructs WarnIfComponentBlockingGuard around
scheduled item execution (scheduler.cpp:740), so set_interval /
set_timeout / defer callbacks record into the affected component's
runtime_stats_. Since scheduler.call() runs inside before_loop_tasks_,
that time was double-counted: once in component period/total, once
in the "before" overhead bucket. Observed in the field as
before > overhead_total with inter_component clamped to 0.

Fix: add a global cumulative counter on ComponentRuntimeStats that
record_time() bumps on every guard finish, snapshot it around
before_loop_tasks_, and subtract the delta from the before bucket
before passing it to record_loop_active.
2026-04-14 16:58:03 -10:00
J. Nick Koston 5d2e7a014c [runtime_stats] Split main loop overhead into before/tail/inter_component
Adds a second log line per section that breaks overhead down into:
  before          — time in before_loop_tasks_ (scheduler + ISR enable_loop)
  tail            — time in after_loop_tasks_ + trailing record prefix
  inter_component — residual: per-iteration bookkeeping between components
                    (set_current_component, WarnIfComponentBlockingGuard
                    construction/destruction, feed_wdt_with_time, the for
                    loop itself)

Useful for isolating whether per-loop overhead changes come from
scheduler work, loop teardown, or inter-component bookkeeping.
2026-04-14 16:50:27 -10:00
J. Nick Koston 21e6498ee2 Merge remote-tracking branch 'upstream/runtime-stats-loop-overhead' into integration 2026-04-14 16:34:42 -10:00
J. Nick Koston 2f14912196 [runtime_stats] Widen iteration counters, fix overhead total, test main_loop line
- Widen period/total iteration counters to uint64_t to avoid wrapping on
  long-running high-frequency loops.
- Compute total component-time sum over all components (not just the
  period-active subset) so total overhead is not inflated by components
  that ran earlier but are idle now.
- Extend integration test to parse the main_loop line and validate the
  iters/active_avg/active_total/overhead_total fields.
2026-04-14 16:33:39 -10:00
J. Nick Koston 65f0d4a000 merge 2026-04-14 16:28:50 -10:00
J. Nick Koston 2c1f01c76c Merge remote-tracking branch 'upstream/runtime-stats-loop-overhead' into integration 2026-04-14 16:25:06 -10:00
J. Nick Koston e93f49978b [runtime_stats] Track main loop active time and report overhead
Records per-iteration active wall time (excluding yield/sleep) and
reports it alongside the component table. Overhead is computed at log
time as active_total minus the sum of per-component time, exposing time
spent in scheduler dispatch, before/after-loop tasks, and other loop
machinery not attributed to any component.
2026-04-14 16:19:12 -10:00
J. Nick Koston 39eb8dbcf5 Revert "[debug] Add iram sensor for ESP32"
This reverts commit 07b129a58a.
2026-04-14 16:05:33 -10:00
J. Nick Koston 5364ea04ef Revert "[debug] Use MALLOC_CAP_EXEC for iram sensor"
This reverts commit 8a00d302b8.
2026-04-14 16:05:32 -10:00
J. Nick Koston 8a41d5503e Revert "[debug] Fix iram sensor to report IRAM-only free"
This reverts commit 3fa50a27a8.
2026-04-14 16:05:31 -10:00
J. Nick Koston 4d13bd96a6 Merge remote-tracking branch 'origin/debug-iram-sensor' into integration 2026-04-14 15:58:12 -10:00
J. Nick Koston 3fa50a27a8 [debug] Fix iram sensor to report IRAM-only free 2026-04-14 15:57:51 -10:00
J. Nick Koston 363f10c837 Merge remote-tracking branch 'origin/debug-iram-sensor' into integration 2026-04-14 15:53:47 -10:00
J. Nick Koston 8a00d302b8 [debug] Use MALLOC_CAP_EXEC for iram sensor 2026-04-14 15:53:02 -10:00
J. Nick Koston 07cf968226 Merge remote-tracking branch 'upstream-ssh/debug-iram-sensor' into integration 2026-04-14 15:49:52 -10:00
J. Nick Koston 07b129a58a [debug] Add iram sensor for ESP32 2026-04-14 15:47:48 -10:00
Jesse Hills 193e7d476d Pin GitHub Actions to commit SHAs
Replace mutable tag references with immutable commit SHAs
to prevent supply-chain attacks via compromised tags.
Version comments are preserved for readability.
2026-04-15 13:12:20 +12:00
Jesse Hills 1b3e7d5ec4 Merge branch 'beta' into dev 2026-04-15 13:10:45 +12:00
Jesse Hills 767a8c49b0 Merge pull request #15739 from esphome/bump-2026.4.0b3
2026.4.0b3
2026.4.0b3
2026-04-15 13:10:09 +12:00
J. Nick Koston 222626eb8c Merge remote-tracking branch 'upstream/fast-millis-esp32' into integration
# Conflicts:
#	esphome/core/application.cpp
#	esphome/core/time_64.cpp
2026-04-14 15:04:47 -10:00
J. Nick Koston 80e29bc7b2 Merge remote-tracking branch 'upstream/optimize-value-accuracy' into integration 2026-04-14 15:01:45 -10:00
J. Nick Koston 256385bb09 Merge remote-tracking branch 'upstream/dev' into fast-millis-esp32
# Conflicts:
#	esphome/core/scheduler.h
2026-04-14 15:00:40 -10:00
J. Nick Koston f891ea3752 add tests 2026-04-14 14:54:51 -10:00
J. Nick Koston 2ccd94e1ad add tests 2026-04-14 14:54:42 -10:00
J. Nick Koston 82232d8c74 Merge remote-tracking branch 'origin/optimize-value-accuracy' into integration
# Conflicts:
#	esphome/core/application.cpp
#	esphome/core/application.h
#	tests/components/core/test_helpers.cpp
2026-04-14 14:45:20 -10:00
J. Nick Koston efba0f5fd6 handle 0 2026-04-14 14:44:12 -10:00
Jesse Hills 4c43f7e9d0 Bump version to 2026.4.0b3 2026-04-15 10:58:30 +12:00
Edward Firmoandpre-commit-ci-lite[bot] 3ef140e25d [nextion] Fix command spacing pacer never throttling sends (#15664)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-15 10:58:30 +12:00
J. Nick Koston 0a568a3e1e [light] Avoid addressable transition stall at low gamma-corrected values (#15726) 2026-04-15 10:58:30 +12:00
Alexey SpirkovandAlexey Spirkov ef44491c69 [i2s_audio] Add PDM mics support for ESP32-P4 (#15333)
Co-authored-by: Alexey Spirkov <dev@alsp.net>
2026-04-15 10:58:30 +12:00
J. Nick Koston 089a2c99e2 [globals] Fix TemplatableFn deprecation warning for globals.set (#15733) 2026-04-15 10:58:30 +12:00
J. Nick KostonandCopilot Autofix powered by AI 311812c8cc [esphome] Skip missing extra flash images in upload_using_esptool (#15723)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-15 10:58:30 +12:00
J. Nick Koston a77ab59436 [web_server] Reset OTA backend on new upload to avoid brick after interrupted OTA (#15720) 2026-04-15 10:58:30 +12:00
J. Nick Koston 89fbfc6f71 [adc] Place ADC oneshot control functions in IRAM for cache safety (#15717) 2026-04-15 10:58:29 +12:00
J. Nick Kostonandpre-commit-ci-lite[bot] 28f3bcdba3 [api] Add speed_optimized to SubscribeLogsResponse (#15698)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-15 10:58:29 +12:00
Jonathan Swoboda 445715b9fd [esp32] Update the recommended platform to 55.03.38-1 (#15705) 2026-04-15 10:58:29 +12:00
Kevin Ahrendt 8843c36ec6 [micro_wake_word] Bugfix: Use es-nn v1.1.2 (last known working version) (#15703) 2026-04-15 10:58:29 +12:00
Diorcet YannandJonathan Swoboda bd63f63b36 [esp32] Fix some compiler warnings & bugs (#15610)
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
2026-04-15 10:58:29 +12:00
dependabot[bot] 033e144e06 Bump aioesphomeapi from 44.14.0 to 44.15.0 (#15699)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-15 10:58:29 +12:00
J. Nick Kostonandpre-commit-ci-lite[bot] 20d49f9a7c [api] Add speed_optimized proto option for hot encode paths (#15691)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-15 10:58:29 +12:00
dependabot[bot] 3b2caa1f5b Bump aioesphomeapi from 44.13.3 to 44.14.0 (#15695)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-15 10:58:29 +12:00
Jonathan Swoboda c3769e4fce [core] Fix PlatformIO progress bar rendering in subprocess mode (#15681) 2026-04-15 10:58:29 +12:00
Javier Peletier 6d894dd6ee [packages] fix support packages: !include mypackages.yaml (#15677) 2026-04-15 10:58:29 +12:00
Edward Firmoandpre-commit-ci-lite[bot] 2db2b89eb1 [nextion] Fix command spacing pacer never throttling sends (#15664)
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-04-15 07:47:44 +12:00
J. Nick Koston e48c7165c5 [light] Avoid addressable transition stall at low gamma-corrected values (#15726) 2026-04-15 07:45:42 +12:00
J. Nick KostonandCopilot 506edaadd5 [core] Inline feed_wdt hot path with out-of-line slow path (#15656)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-14 19:08:30 +00:00
J. Nick Koston 5ae9ddc46a buf_append_sep_str: always null-terminate when remaining >= 1 2026-04-14 08:41:43 -10:00
J. Nick Koston 5066171a9d Address Copilot review: uint32 overflow guard, docstring, test namespace/include 2026-04-14 08:36:09 -10:00
3f82a3a519 [core] Inline Millis64Impl::compute() on single-threaded platforms (#15684)
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-14 08:20:31 -10:00