mirror of
https://github.com/OpenHands/OpenHands.git
synced 2026-03-22 13:47:19 +08:00
Add system event listeners for monitoring (#6929)
This commit is contained in:
38
openhands/server/monitoring.py
Normal file
38
openhands/server/monitoring.py
Normal file
@@ -0,0 +1,38 @@
|
||||
from openhands.core.config.app_config import AppConfig
|
||||
from openhands.events.event import Event
|
||||
|
||||
|
||||
class MonitoringListener:
|
||||
"""
|
||||
Allow tracking of application activity for monitoring purposes.
|
||||
|
||||
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
|
||||
|
||||
@classmethod
|
||||
def get_instance(
|
||||
cls,
|
||||
config: AppConfig,
|
||||
) -> 'MonitoringListener':
|
||||
return cls()
|
||||
Reference in New Issue
Block a user