Add more log context on key events (#9056)

This commit is contained in:
Ray Myers
2025-06-11 11:34:16 -05:00
committed by GitHub
parent 47209e794a
commit c11dcad309
2 changed files with 32 additions and 20 deletions

View File

@@ -121,11 +121,10 @@ class AgentSession:
self._started_at = started_at
finished = False # For monitoring
runtime_connected = False
restored_state = False
custom_secrets_handler = UserSecrets(
custom_secrets=custom_secrets if custom_secrets else {}
)
try:
self._create_security_analyzer(config.security.security_analyzer)
runtime_connected = await self._create_runtime(
@@ -173,7 +172,7 @@ class AgentSession:
agent_configs,
)
else:
self.controller = self._create_controller(
self.controller, restored_state = self._create_controller(
agent,
config.security.confirmation_mode,
max_iterations,
@@ -198,14 +197,24 @@ class AgentSession:
finally:
self._starting = False
success = finished and runtime_connected
self.logger.info(
'Agent session start',
extra={
'signal': 'agent_session_start',
'success': success,
'duration': (time.time() - started_at),
},
)
duration = (time.time() - started_at)
log_metadata = {
'signal': 'agent_session_start',
'success': success,
'duration': duration,
'restored_state': restored_state
}
if success:
self.logger.info(
f'Agent session start succeeded in {duration}s',
extra=log_metadata
)
else:
self.logger.error(
f'Agent session start failed in {duration}s',
extra=log_metadata
)
async def close(self) -> None:
"""Closes the Agent session"""
@@ -252,7 +261,7 @@ class AgentSession:
"""
assert initial_message is None
replay_events = ReplayManager.get_replay_events(json.loads(replay_json))
self.controller = self._create_controller(
self.controller, _ = self._create_controller(
agent,
config.security.confirmation_mode,
max_iterations,
@@ -396,7 +405,7 @@ class AgentSession:
agent_to_llm_config: dict[str, LLMConfig] | None = None,
agent_configs: dict[str, AgentConfig] | None = None,
replay_events: list[Event] | None = None,
) -> AgentController:
) -> tuple[AgentController, bool]:
"""Creates an AgentController instance
Parameters:
@@ -406,6 +415,9 @@ class AgentSession:
- max_budget_per_task:
- agent_to_llm_config:
- agent_configs:
Returns:
Agent Controller and a bool indicating if state was restored from a previous conversation
"""
if self.controller is not None:
@@ -425,7 +437,7 @@ class AgentSession:
'-------------------------------------------------------------------------------------------'
)
self.logger.debug(msg)
initial_state = self._maybe_restore_state()
controller = AgentController(
sid=self.sid,
event_stream=self.event_stream,
@@ -437,11 +449,11 @@ class AgentSession:
confirmation_mode=confirmation_mode,
headless_mode=False,
status_callback=self._status_callback,
initial_state=self._maybe_restore_state(),
initial_state=initial_state,
replay_events=replay_events,
)
return controller
return (controller, initial_state is not None)
async def _create_memory(
self,

View File

@@ -270,8 +270,8 @@ class Session:
isinstance(event, AgentStateChangedObservation)
and event.agent_state == AgentState.ERROR
):
self.logger.info(
'Agent status error',
self.logger.error(
f'Agent status error: {event.reason}',
extra={'signal': 'agent_status_error'},
)
elif isinstance(event, ErrorObservation):
@@ -329,8 +329,8 @@ class Session:
controller = self.agent_session.controller
if controller is not None and not agent_session.is_closed():
await controller.set_agent_state_to(AgentState.ERROR)
self.logger.info(
'Agent status error',
self.logger.error(
f'Agent status error: {message}',
extra={'signal': 'agent_status_error'},
)
await self.send(