Spaces:
Build error
Build error
| from openhands.core.config.openhands_config import OpenHandsConfig | |
| from openhands.events.event import Event | |
| class MonitoringListener: | |
| """Abstract base class for monitoring application activity. | |
| This is an extension point in OpenHands that allows applications to customize how | |
| application activity is monitored. Applications can substitute their own implementation by: | |
| 1. Creating a class that inherits from MonitoringListener | |
| 2. Implementing desired methods (all methods have default no-op implementations) | |
| 3. Setting server_config.monitoring_listener_class to the fully qualified name of the class | |
| The class is instantiated via get_impl() in openhands.server.shared.py. | |
| Implementations should be non-disruptive, do not raise or block to perform I/O. | |
| """ | |
| def on_session_event(self, event: Event) -> None: | |
| """ | |
| Track metrics about events being added to a Session's EventStream. | |
| """ | |
| pass | |
| def on_agent_session_start(self, success: bool, duration: float) -> None: | |
| """ | |
| Track an agent session start. | |
| Success is true if startup completed without error. | |
| Duration is start time in seconds observed by AgentSession. | |
| """ | |
| pass | |
| def on_create_conversation(self) -> None: | |
| """ | |
| Track the beginning of conversation creation. | |
| Does not currently capture whether it succeed. | |
| """ | |
| pass | |
| def get_instance( | |
| cls, | |
| config: OpenHandsConfig, | |
| ) -> 'MonitoringListener': | |
| return cls() | |