Spaces:
Running
Running
| -- Supabase SQL: Create proxy_telemetry_v2 table | |
| -- Run this in the Supabase SQL Editor (https://supabase.com/dashboard → SQL Editor) | |
| -- This table matches every field the beacon code writes in headroom/telemetry/beacon.py | |
| CREATE TABLE IF NOT EXISTS proxy_telemetry_v2 ( | |
| id uuid DEFAULT gen_random_uuid() PRIMARY KEY, | |
| created_at timestamptz DEFAULT now() NOT NULL, | |
| -- Core identity (always present) | |
| session_id text NOT NULL, | |
| instance_id text, | |
| headroom_version text, | |
| python_version text, | |
| os text, | |
| sdk text, | |
| backend text, | |
| session_minutes integer, | |
| headroom_stack text, | |
| install_mode text, | |
| requests_by_stack jsonb, | |
| -- Effectiveness metrics | |
| tokens_saved bigint, | |
| requests integer, | |
| compression_percent real, | |
| cache_hit_rate real, | |
| cost_saved_usd real, | |
| cache_saved_usd real, | |
| models_used jsonb, | |
| -- Performance overhead | |
| overhead_avg_ms real, | |
| overhead_max_ms real, | |
| -- TTFB | |
| ttfb_avg_ms real, | |
| -- Pipeline timing (JSONB: {transform_name: avg_ms}) | |
| pipeline_timing jsonb, | |
| -- Request patterns | |
| avg_tokens_before integer, | |
| avg_tokens_after integer, | |
| -- Compression cache | |
| compression_cache jsonb, | |
| -- CCR usage | |
| ccr jsonb, | |
| -- Waste signals | |
| waste_signals jsonb | |
| ); | |
| -- Index for querying by session and time | |
| CREATE INDEX IF NOT EXISTS idx_ptv2_session_id ON proxy_telemetry_v2(session_id); | |
| CREATE INDEX IF NOT EXISTS idx_ptv2_created_at ON proxy_telemetry_v2(created_at DESC); | |
| CREATE INDEX IF NOT EXISTS idx_ptv2_version ON proxy_telemetry_v2(headroom_version); | |
| -- Enable Row Level Security | |
| ALTER TABLE proxy_telemetry_v2 ENABLE ROW LEVEL SECURITY; | |
| -- RLS policies: anon can INSERT (telemetry beacon) and SELECT (for debugging) | |
| CREATE POLICY "anon_insert" ON proxy_telemetry_v2 | |
| FOR INSERT TO anon | |
| WITH CHECK (true); | |
| CREATE POLICY "anon_select" ON proxy_telemetry_v2 | |
| FOR SELECT TO anon | |
| USING (true); | |
| -- Grant permissions to anon role | |
| GRANT INSERT, SELECT ON proxy_telemetry_v2 TO anon; | |