lmcache--lmcache
29 行
881 B
Python
29 行
881 B
Python
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
"""Warning log for timeout errors (message + stack trace)."""
|
|
|
|
# Future
|
|
from __future__ import annotations
|
|
|
|
# First Party
|
|
from lmcache.logging import init_logger
|
|
from lmcache.v1.mp_observability.event import Event, EventType
|
|
from lmcache.v1.mp_observability.event_bus import EventCallback, EventSubscriber
|
|
|
|
logger = init_logger(__name__)
|
|
|
|
|
|
class TimeoutLoggingSubscriber(EventSubscriber):
|
|
"""Logs timeout errors at warning level with their stack trace."""
|
|
|
|
def get_subscriptions(self) -> dict[EventType, EventCallback]:
|
|
return {EventType.TIMEOUT_RAISED: self._on_timeout}
|
|
|
|
def _on_timeout(self, event: Event) -> None:
|
|
logger.warning(
|
|
"Timeout raised (%s): %s\n%s",
|
|
event.metadata["exception_type"],
|
|
event.metadata["message"],
|
|
event.metadata["stacktrace"],
|
|
)
|