mirror of
https://github.com/home-assistant/core.git
synced 2025-11-10 11:29:46 +00:00
Refactor integration startup time to show wall clock time (#113707)
* Refactor setup time tracking to exclude time waiting on other operations We now exclude the import time and th time waiting on base platforms to setup from the setup times * tweak * tweak * tweak * tweak * adjust * fixes * fixes * preen * preen * tweak * tweak * adjust * tweak * reduce * do not count integrtion platforms against their parent integration * handle legacy tts platforms * stt as well * one more wait * use the same pattern in all the legacy * fix tts and stt legacy * fix * fix * reduce * preen * entity comp does not wait for platforms * scene blocks as well * fix test * test fixes * coverage * coverage * coverage * fix test * Update tests/test_setup.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update tests/test_setup.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/setup.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * strip * strip WAIT_PLATFORM_INTEGRATION * strip WAIT_PLATFORM_INTEGRATION * strip WAIT_PLATFORM_INTEGRATION * strip WAIT_PLATFORM_INTEGRATION * remove complexity * Apply suggestions from code review * no longer works that way * fixes * fixes * fixes --------- Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
This commit is contained in:
@@ -50,6 +50,7 @@ from homeassistant.helpers.event import (
|
||||
from homeassistant.helpers.restore_state import RestoreEntity
|
||||
from homeassistant.helpers.typing import ConfigType, GPSType, StateType
|
||||
from homeassistant.setup import (
|
||||
SetupPhases,
|
||||
async_notify_setup_error,
|
||||
async_prepare_setup_platform,
|
||||
async_start_setup,
|
||||
@@ -307,7 +308,12 @@ class DeviceTrackerPlatform:
|
||||
assert self.type == PLATFORM_TYPE_LEGACY
|
||||
full_name = f"{self.name}.{DOMAIN}"
|
||||
LOGGER.info("Setting up %s", full_name)
|
||||
with async_start_setup(hass, [full_name]):
|
||||
with async_start_setup(
|
||||
hass,
|
||||
integration=self.name,
|
||||
group=str(id(self.config)),
|
||||
phase=SetupPhases.PLATFORM_SETUP,
|
||||
):
|
||||
try:
|
||||
scanner = None
|
||||
setup: bool | None = None
|
||||
|
||||
Reference in New Issue
Block a user