# Client Performance Telemetry

Phase 72.5.1.13 adds `@v2/client-performance-telemetry`, the client-side
performance aggregation layer for FPS, frame-time histogram, GPU/CPU load, and
memory usage per session.

`ClientPerformanceTelemetryCollector` buffers bounded samples and flushes a
`v2.client.performance.sampled` event. `createClientPerformanceTelemetryEvent`
emits `avg_fps`, `min_fps`, `max_fps`, `p50_frame_time_ms`, `p95_frame_time_ms`,
`p99_frame_time_ms`, `frame_time_histogram_json`, `avg_cpu_load_percent`,
`avg_gpu_load_percent`, `avg_memory_used_mib`, and `peak_memory_used_mib`.

`createClientPerformanceTelemetryBatch` wraps performance events in the normal
V2 `TelemetryEventBatch` wire schema, so the existing SDK, ingestion endpoint,
rate limiting, replay, and warehouse pipeline can process client performance
samples without a separate metric channel.

Targeted verification:

```bash
pnpm --filter @v2/client-performance-telemetry run typecheck
pnpm --filter @v2/client-performance-telemetry run test
python V2/ue/Tools/check-v2-client-performance-telemetry.py
```
