import { formatCompact, formatCost, formatDurationMs, formatInteger, formatPercent, formatTokensPerSecond, } from "../data/formatters"; import type { AggregatedStats } from "../types"; export interface MetricClusterProps { stats: AggregatedStats; } export function MetricCluster({ stats }: MetricClusterProps) { return (
Total Cost
{formatCost(stats.totalCost, stats.totalCost > 0 && stats.totalCost < 0.01 ? 4 : 2)}
Requests
{formatInteger(stats.totalRequests)}
Cache Rate
{formatPercent(stats.cacheRate)}
Error Rate
{formatPercent(stats.errorRate)}
Input Tokens
{formatCompact(stats.totalInputTokens)}
Output Tokens
{formatCompact(stats.totalOutputTokens)}
Premium Requests
{formatInteger(stats.totalPremiumRequests)}
Tokens/s
{formatTokensPerSecond(stats.avgTokensPerSecond)}
Avg Latency
{formatDurationMs(stats.avgDuration)}
Avg TTFT
{formatDurationMs(stats.avgTtft)}
); }