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() | |