Skip to main content
The Hopx SDK provides metrics and monitoring capabilities for tracking agent performance and health.

Agent Metrics

get_agent_metrics()

Get real-time agent metrics snapshot.
metrics = sandbox.get_agent_metrics()
print(f"Uptime: {metrics['uptime_seconds']}s")
print(f"Total requests: {metrics.get('total_requests', 0)}")
print(f"Errors: {metrics.get('total_errors', 0)}")
Method Signature:
def get_agent_metrics(self) -> Dict[str, Any]
Returns: Dictionary with metrics including:
  • uptime_seconds (float): Agent uptime
  • total_requests (int): Total requests count
  • total_errors (int): Total errors count
  • requests_total (dict): Per-endpoint request counts
  • avg_duration_ms (dict): Average request duration by endpoint
Example:
metrics = sandbox.get_agent_metrics()

# Basic metrics
print(f"Uptime: {metrics['uptime_seconds']:.0f}s")
print(f"Total requests: {metrics.get('total_requests', 0)}")
print(f"Total errors: {metrics.get('total_errors', 0)}")

# Per-endpoint metrics
if 'requests_total' in metrics:
    for endpoint, count in metrics['requests_total'].items():
        print(f"{endpoint}: {count} requests")

Health Check

get_health()

Get agent health status.
health = sandbox.get_health()
print(f"Status: {health['status']}")
Method Signature:
def get_health(self) -> Dict[str, Any]
Returns: Dictionary with health information Example:
health = sandbox.get_health()
if health['status'] == 'healthy':
    print("Agent is healthy")
    print(f"Features: {health.get('features', [])}")

Cache Metrics

cache.stats()

Get cache statistics.
stats = sandbox.cache.stats()
print(f"Cache size: {stats['cache']['size']} MB")
print(f"Cache hits: {stats['cache']['hits']}")
Example:
# Get cache stats
stats = sandbox.cache.stats()
print(f"Cache size: {stats['cache']['size']} MB")
print(f"Cache hits: {stats['cache']['hits']}")
print(f"Cache misses: {stats['cache']['misses']}")

# Clear cache
sandbox.cache.clear()

Monitoring Example

import time

def monitor_sandbox(sandbox, duration=60):
    """Monitor sandbox metrics for specified duration."""
    start_time = time.time()
    
    while time.time() - start_time < duration:
        metrics = sandbox.get_agent_metrics()
        
        print(f"Uptime: {metrics['uptime_seconds']:.0f}s")
        print(f"Requests: {metrics.get('total_requests', 0)}")
        print(f"Errors: {metrics.get('total_errors', 0)}")
        
        time.sleep(10)  # Check every 10 seconds