mirror of
https://github.com/home-assistant/core.git
synced 2025-04-23 08:47:57 +00:00
Initialize the Sentry SDK within an import executor job to not block event loop (#118830)
This commit is contained in:
parent
b02c9aa2ef
commit
9157905f80
@ -21,6 +21,7 @@ from homeassistant.helpers import config_validation as cv, entity_platform, inst
|
||||
from homeassistant.helpers.event import async_call_later
|
||||
from homeassistant.helpers.system_info import async_get_system_info
|
||||
from homeassistant.loader import Integration, async_get_custom_components
|
||||
from homeassistant.setup import SetupPhases, async_pause_setup
|
||||
|
||||
from .const import (
|
||||
CONF_DSN,
|
||||
@ -41,7 +42,6 @@ from .const import (
|
||||
|
||||
CONFIG_SCHEMA = cv.removed(DOMAIN, raise_if_present=False)
|
||||
|
||||
|
||||
LOGGER_INFO_REGEX = re.compile(r"^(\w+)\.?(\w+)?\.?(\w+)?\.?(\w+)?(?:\..*)?$")
|
||||
|
||||
|
||||
@ -81,23 +81,33 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
),
|
||||
}
|
||||
|
||||
sentry_sdk.init(
|
||||
dsn=entry.data[CONF_DSN],
|
||||
environment=entry.options.get(CONF_ENVIRONMENT),
|
||||
integrations=[sentry_logging, AioHttpIntegration(), SqlalchemyIntegration()],
|
||||
release=current_version,
|
||||
before_send=lambda event, hint: process_before_send(
|
||||
hass,
|
||||
entry.options,
|
||||
channel,
|
||||
huuid,
|
||||
system_info,
|
||||
custom_components,
|
||||
event,
|
||||
hint,
|
||||
),
|
||||
**tracing,
|
||||
)
|
||||
with async_pause_setup(hass, SetupPhases.WAIT_IMPORT_PACKAGES):
|
||||
# sentry_sdk.init imports modules based on the selected integrations
|
||||
def _init_sdk():
|
||||
"""Initialize the Sentry SDK."""
|
||||
sentry_sdk.init(
|
||||
dsn=entry.data[CONF_DSN],
|
||||
environment=entry.options.get(CONF_ENVIRONMENT),
|
||||
integrations=[
|
||||
sentry_logging,
|
||||
AioHttpIntegration(),
|
||||
SqlalchemyIntegration(),
|
||||
],
|
||||
release=current_version,
|
||||
before_send=lambda event, hint: process_before_send(
|
||||
hass,
|
||||
entry.options,
|
||||
channel,
|
||||
huuid,
|
||||
system_info,
|
||||
custom_components,
|
||||
event,
|
||||
hint,
|
||||
),
|
||||
**tracing,
|
||||
)
|
||||
|
||||
await hass.async_add_import_executor_job(_init_sdk)
|
||||
|
||||
async def update_system_info(now):
|
||||
nonlocal system_info
|
||||
|
Loading…
x
Reference in New Issue
Block a user