From 283597dc24070bd679374a4e78a533988a994abb Mon Sep 17 00:00:00 2001 From: dsarno Date: Wed, 10 Sep 2025 12:58:09 -0700 Subject: [PATCH] fix(startup): capture exception message before deferred telemetry lambda --- UnityMcpBridge/UnityMcpServer~/src/server.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/UnityMcpBridge/UnityMcpServer~/src/server.py b/UnityMcpBridge/UnityMcpServer~/src/server.py index af1d099..b381a0d 100644 --- a/UnityMcpBridge/UnityMcpServer~/src/server.py +++ b/UnityMcpBridge/UnityMcpServer~/src/server.py @@ -114,11 +114,12 @@ async def server_lifespan(server: FastMCP) -> AsyncIterator[Dict[str, Any]]: # Record connection failure (deferred) import threading as _t + _err_msg = str(e)[:200] _t.Timer(1.0, lambda: record_telemetry( RecordType.UNITY_CONNECTION, { "status": "failed", - "error": str(e)[:200], + "error": _err_msg, "connection_time_ms": (time.perf_counter() - start_clk) * 1000, } )).start() @@ -126,11 +127,12 @@ async def server_lifespan(server: FastMCP) -> AsyncIterator[Dict[str, Any]]: logger.warning("Unexpected error connecting to Unity on startup: %s", e) _unity_connection = None import threading as _t + _err_msg = str(e)[:200] _t.Timer(1.0, lambda: record_telemetry( RecordType.UNITY_CONNECTION, { "status": "failed", - "error": str(e)[:200], + "error": _err_msg, "connection_time_ms": (time.perf_counter() - start_clk) * 1000, } )).start()