mirror of
https://github.com/All-Hands-AI/OpenHands.git
synced 2026-01-09 14:57:59 -05:00
Add more log context on key events (#9056)
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user