import { useState, useEffect } from "react"; import { useAPI } from "../contexts/APIProvider"; const formatTimestamp = (timestamp: string): string => { return new Date(timestamp).toLocaleString(); }; const formatSpeed = (speed: number): string => { return speed < 0 ? "unknown" : speed.toFixed(2) + " t/s"; }; const formatDuration = (ms: number): string => { return (ms / 1000).toFixed(2) + "s"; }; const ActivityPage = () => { const { metrics } = useAPI(); const [error, setError] = useState(null); useEffect(() => { if (metrics.length > 0) { setError(null); } }, [metrics]); if (error) { return (

Activity

{error}

); } return (

Activity

{metrics.length === 0 ? (

No metrics data available

) : (
{metrics.map((metric, index) => ( ))}
Timestamp Model Input Tokens Output Tokens Generation Speed Duration
{formatTimestamp(metric.timestamp)} {metric.model} {metric.input_tokens.toLocaleString()} {metric.output_tokens.toLocaleString()} {formatSpeed(metric.tokens_per_second)} {formatDuration(metric.duration_ms)}
)}
); }; export default ActivityPage;