Diagnostics and logs
Identify the failing phase before collecting evidence.
| Phase | First checks |
|---|---|
| Business credentials | Authorization, service name, device ID, issuer errors |
| TiRTC connection | Device credentials and registration, regional service config, token lifetime, and device network |
| WHIP HTTP | Headers, query, token, public key, ingress, service logs |
| WebRTC connection | SDP, candidate, DNS, firewall, UDP, and NAT |
| Media | Event buffers, consumer speed, subscriptions, and codecs |
| Cleanup | DELETE, disconnect events, timeouts, and idempotent cleanup |
Collect timestamps, Region, service and SDK versions, redacted device/service/session identifiers, HTTP status and latency, connection errors, disconnect reasons, EventStats(), and relevant network configuration.
Never collect or share complete private keys, Device Secret Keys, or bearer tokens. Use a one-way digest or a short suffix only when correlation is necessary.
Use the quick-start example as a baseline: run tirn_probe_device connect first, then use media to validate bidirectional audio and video. If Echo works but business sessions fail, inspect authentication composition, the session registry, event handling, and cleanup.
Use HTTPAdapter.Stats() to inspect active Echo sessions, accept and connection failures, timeouts, send failures, and event drops. For real-time metrics, use an Echo observer for Echo session and media events, and use tirtcxauth.AuthObserver for authentication results. Keep labels bounded; never use device or session IDs as metric labels.