From 27eb8fd350cc9e153b287eb841496dc40aa8c1e2 Mon Sep 17 00:00:00 2001 From: Michael Goddard Date: Tue, 19 May 2026 13:28:42 -0400 Subject: [PATCH 1/2] Initial import of a Formula One (F1) telemetry demo --- f1-telemetry/Dockerfile | 22 + f1-telemetry/F1_Telemetry_UI_view.jpg | Bin 0 -> 675552 bytes f1-telemetry/README.md | 164 ++++++ f1-telemetry/build.sh | 5 + f1-telemetry/clean.sh | 5 + f1-telemetry/cmd/server/main.go | 53 ++ f1-telemetry/cmd/simulator/main.go | 109 ++++ f1-telemetry/docker-compose.yml | 54 ++ f1-telemetry/go.mod | 14 + f1-telemetry/go.sum | 28 + f1-telemetry/internal/db/db.go | 53 ++ f1-telemetry/internal/db/schema.go | 158 +++++ f1-telemetry/internal/db/schema.sql | 87 +++ f1-telemetry/internal/sim/simulator.go | 439 ++++++++++++++ f1-telemetry/internal/sim/track.go | 302 ++++++++++ f1-telemetry/internal/web/server.go | 536 +++++++++++++++++ .../internal/web/static/cedardb-logo.svg | 10 + .../internal/web/static/checkered-flag.svg | 44 ++ f1-telemetry/internal/web/static/queries.html | 538 ++++++++++++++++++ .../internal/web/templates/index.html | 426 ++++++++++++++ .../internal/web/templates/leaderboard.html | 20 + f1-telemetry/internal/web/track.go | 9 + f1-telemetry/schema.sql | 15 + 23 files changed, 3091 insertions(+) create mode 100644 f1-telemetry/Dockerfile create mode 100644 f1-telemetry/F1_Telemetry_UI_view.jpg create mode 100644 f1-telemetry/README.md create mode 100755 f1-telemetry/build.sh create mode 100755 f1-telemetry/clean.sh create mode 100644 f1-telemetry/cmd/server/main.go create mode 100644 f1-telemetry/cmd/simulator/main.go create mode 100644 f1-telemetry/docker-compose.yml create mode 100644 f1-telemetry/go.mod create mode 100644 f1-telemetry/go.sum create mode 100644 f1-telemetry/internal/db/db.go create mode 100644 f1-telemetry/internal/db/schema.go create mode 100644 f1-telemetry/internal/db/schema.sql create mode 100644 f1-telemetry/internal/sim/simulator.go create mode 100644 f1-telemetry/internal/sim/track.go create mode 100644 f1-telemetry/internal/web/server.go create mode 100644 f1-telemetry/internal/web/static/cedardb-logo.svg create mode 100644 f1-telemetry/internal/web/static/checkered-flag.svg create mode 100644 f1-telemetry/internal/web/static/queries.html create mode 100644 f1-telemetry/internal/web/templates/index.html create mode 100644 f1-telemetry/internal/web/templates/leaderboard.html create mode 100644 f1-telemetry/internal/web/track.go create mode 100644 f1-telemetry/schema.sql diff --git a/f1-telemetry/Dockerfile b/f1-telemetry/Dockerfile new file mode 100644 index 0000000..8bcc2df --- /dev/null +++ b/f1-telemetry/Dockerfile @@ -0,0 +1,22 @@ +# Two-stage build. Produces a small image containing both binaries; the +# docker-compose file decides which one to run via `command:`. + +FROM golang:1.22-alpine AS build +WORKDIR /src + +# Cache deps separately for fast incremental builds. +COPY go.mod go.sum* ./ +RUN go mod download || true + +COPY . . + +RUN CGO_ENABLED=0 go build -o /out/server ./cmd/server +RUN CGO_ENABLED=0 go build -o /out/simulator ./cmd/simulator + +FROM gcr.io/distroless/static:nonroot +WORKDIR /app +COPY --from=build /out/server /app/server +COPY --from=build /out/simulator /app/simulator +USER nonroot:nonroot +# Default to running the server; docker-compose overrides per-service. +CMD ["/app/server"] diff --git a/f1-telemetry/F1_Telemetry_UI_view.jpg b/f1-telemetry/F1_Telemetry_UI_view.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9af06f43b2e6908e53a107ff2e2d2dbcf6bd5cbd GIT binary patch literal 675552 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

V8GTzD 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%0A>uNT`DX#t=rPus=8LKq+x^G1o;e zoOE;$NO(Z*)}C^3CyoY zJQ2*v%3f2dck7hxxsMoOrR|hM0sgSNO<~I;&6l-4J-e`d%;FUEJMj~oezioS6SECN zPQXGifEsJk^jef7YsI}pxJ4@KK-gPnp9eapoz%7^ytZqss{g3wc6PV-MBM|Gjh*>; zkbzCc(yb$PctWv^pbiruhDO3<>oxeJwa+VW?%k51E>Pyvd(6&yneC`mBfUTsr{t(m zNR!S?pIUA*-WR99`!aT-;TnS;lRxVB_H5qOyd%Z?bkA24h|MPgjjl?h#|y#Uq!5M4 z0yF{OBC}LtmjJgd`ZH0jgSOrQH)y}s;NU?}OwCVtllBWw8f;L0hVzTp)X ze0u-6S-fW-(Ue&OY$=$0066C+3#LSXtEo;0V#^Z!YrVH(9QPffsC_VrX_S4&R&~2T z()jIsJLrm?4eADEB?`V1L(Tvh*0bVCbtKv?u~dc;GpfnvAi?}ot&`64?aEH!pWNqm zeE*bpUZ(X~n{?=&tr;eKNFC}tO%2>}5DtXR5~W=p4-M%12OCGmU=&JBT2&Y#*;QakD46Tly%oF3jTEp=1TJrXe=)vWYom8b`hI;c` zH1op5E6pkSxAGNopP$u~-yXQ#Z}TGP3p)7a8BPd&7xNY%3Cpa`JDx*;?ZoM^!_g|p zryp(`sZej+dbh>AY~zcmRI{ePgmZXm65n@Z4M*a#ErZm7WvP18Y}hb#PtCqb>hC3n ztFu}|@wVBHNB!-2R{}m+PM5i~7wysPJ}&nbMxN}O5N9s39NA&698(7TQG*#dh5skf zhK7BNsrH{Adex9RoNzD1Y7}}1w1Dj~05@>?-ASyGR3ZDpb8VRrF&^NZ*{w|efiOWB@bGWx)^R<|1Y#z( zT@dBTwnSYi%banjx377O#GJ2JP`ldHtLXQH@1g9%V0d{k)vXzk6Xl3 z0jYyc)dRPVeU;9Rip*t)M~4iX6H9eFHCt}|H)c6B2mJ*KK%c}c2l&J!a~I1| z&uuH+BK9{|z-BndN=+vuZS#@WWn=OIOKhn8{^qGPRc`@)x-uS6C161TD|C`gz{r}2 z^9I41>lYbL4sS3k@a-zrVipUQKm2tp{PvK5(ECL6GV&)5VsSu zyquE7)q702EM`y?VD7o6L-Vh1Qan^9!2EH24py<6a@b;Z!22PG4HwFNbvpbEOg&G zNda~PPh4#cjp)F}iYEr=8npEmF9^s~JIo2s1Zl;lWbDhi^IdHFxnzquM~;jUPtd&( zh*vZnMB28R$TOl?HP(#KT>bCbL0cwWoxA+0298&}E+u_BXVAm3PRY_}0uOif?*v+d z{T(p3Sv_Q240NZyD?fEEVXMJ4c+4f9k&TW^h2|i#dnMhkxD$Rm`KXrjN5RiZ;%}

(MJ5La`VK4pMP_}EIlkQ`lga3X* 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 >>DE##a$FMw8Z1Cm$mKU}I}1 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 to pick one, or `-track random` to let the simulator +choose. The dashboard reads the chosen preset's name from `sessions.track` +and rebuilds the same geometry — no track polyline is persisted, both +sides derive it from the same `internal/sim/track.go` preset map. + +The dashboard also draws a checkered band across the start/finish line so +you can see where lap timing begins. Position and orientation come from +the `/track.json` endpoint, which returns the start point plus a unit +normal vector at trackPos = 0. + +## Architecture + +``` + ┌──────────────┐ INSERT (COPY) ┌────────────────────┐ + │ simulator │ ─────────────────────► │ CedarDB │ + │ (20 cars, │ telemetry + laps │ sessions/drivers/ │ + │ 10 Hz) │ │ telemetry/laps/ │ + └──────────────┘ │ events │ + └─────────┬──────────┘ + │ 4 concurrent reads: + │ - SSE snapshot (every 200 ms) + │ - leaderboard (every 500 ms) + │ - speed-map agg (every 3 s) + │ - ingest-rate (every 1 s) + ▼ + ┌────────────────────┐ + │ Go web server │ + │ /sse/state │ + │ /api/leaderboard │ + │ /api/speed-map │ + │ /api/ingest-rate │ + └─────────┬──────────┘ + ▼ + ┌────────────────────┐ + │ browser (HTMX) │ + │ track map + │ + │ speed ribbon + │ + │ leaderboard + │ + │ live ingest rate │ + └────────────────────┘ +``` + +All four reads run against the same `telemetry` table the simulator is +INSERTing into. The speed-map and ingest-rate panels exist specifically to +make the concurrent-OLAP-on-OLTP story visible without saying it out loud. + +## Key queries to read + +The single query worth opening the source for is the SSE snapshot in +`internal/web/server.go::loadSnapshot`: + +```sql +WITH latest AS ( + SELECT DISTINCT ON (driver_id) + driver_id, lap, pos_x, pos_y, speed_kph, + rpm, gear, throttle, brake, drs + FROM telemetry + WHERE session_id = $1 + ORDER BY driver_id, ts DESC +), +lap_stats AS ( + SELECT driver_id, + MIN(lap_time_ms) AS best_lap_ms, + (ARRAY_AGG(lap_time_ms ORDER BY lap_number DESC))[1] AS last_lap_ms + FROM laps WHERE session_id = $1 GROUP BY driver_id +) +SELECT ... FROM latest JOIN drivers JOIN lap_stats ... +``` + +This runs five times a second over the same table the simulator is +inserting into. `DISTINCT ON` aligns with the +`(session_id, driver_id, ts DESC)` index so the latest row per driver is +returned without scanning the whole partition. + +## Knobs + +``` +go run ./cmd/simulator -laps=50 -hz=10 + ↑ ↑ + │ └─ inserts/sec = 20 * hz (200 default) + └─ how many laps before the session ends +``` + +Try `-hz=50` for ~1000 inserts/sec, or run multiple simulators against the +same DB (each creates its own `session_id`). + diff --git a/f1-telemetry/build.sh b/f1-telemetry/build.sh new file mode 100755 index 0000000..7e63092 --- /dev/null +++ b/f1-telemetry/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +CGO_ENABLED=0 go build -o ./out/server ./cmd/server +CGO_ENABLED=0 go build -o ./out/simulator ./cmd/simulator + diff --git a/f1-telemetry/clean.sh b/f1-telemetry/clean.sh new file mode 100755 index 0000000..dd0277e --- /dev/null +++ b/f1-telemetry/clean.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +rm -f ./out/server +rm -f ./out/simulator + diff --git a/f1-telemetry/cmd/server/main.go b/f1-telemetry/cmd/server/main.go new file mode 100644 index 0000000..8f0a9de --- /dev/null +++ b/f1-telemetry/cmd/server/main.go @@ -0,0 +1,53 @@ +// Command server runs the web dashboard. Connect with your browser to +// http://localhost:8080 once the simulator has produced at least one row. +package main + +import ( + "context" + "flag" + "log" + "net/http" + "os/signal" + "syscall" + "time" + + "github.com/cedardb-demo/f1-telemetry/internal/db" + "github.com/cedardb-demo/f1-telemetry/internal/web" +) + +func main() { + addr := flag.String("addr", ":8080", "http listen addr") + flag.Parse() + + ctx, cancel := signal.NotifyContext(context.Background(), + syscall.SIGINT, syscall.SIGTERM) + defer cancel() + + pool, err := db.Connect(ctx) + if err != nil { + log.Fatalf("db: %v", err) + } + defer pool.Close() + + srv, err := web.NewServer(pool) + if err != nil { + log.Fatalf("server: %v", err) + } + + httpSrv := &http.Server{ + Addr: *addr, + Handler: srv.Routes(), + ReadHeaderTimeout: 5 * time.Second, + } + go func() { + <-ctx.Done() + shutdown, c := context.WithTimeout(context.Background(), 5*time.Second) + defer c() + _ = httpSrv.Shutdown(shutdown) + }() + + log.Printf("dashboard listening on %s", *addr) + if err := httpSrv.ListenAndServe(); err != nil && err != http.ErrServerClosed { + log.Fatalf("listen: %v", err) + } +} diff --git a/f1-telemetry/cmd/simulator/main.go b/f1-telemetry/cmd/simulator/main.go new file mode 100644 index 0000000..5facaaf --- /dev/null +++ b/f1-telemetry/cmd/simulator/main.go @@ -0,0 +1,109 @@ +// Command simulator drives the 20-car race loop and INSERTs telemetry/laps +// into CedarDB. Run this in one terminal; run cmd/server in another. +// +// Pick a track with -track ; list available presets with -list-tracks. +package main + +import ( + "context" + "flag" + "fmt" + "log" + "math/rand" + "os" + "os/signal" + "strings" + "syscall" + "time" + + "github.com/cedardb-demo/f1-telemetry/internal/db" + "github.com/cedardb-demo/f1-telemetry/internal/sim" +) + +func main() { + totalLaps := flag.Int("laps", 50, "total race laps") + tickHz := flag.Int("hz", 10, "telemetry sample rate") + trackKey := flag.String("track", "cedar-park", + `track preset key — see -list-tracks for the full set, or "random"`) + listTracks := flag.Bool("list-tracks", false, "print the available track presets and exit") + resetSchema := flag.Bool("reset-schema", false, + "drop & recreate all tables on startup — destroys all data from prior sessions") + flag.Parse() + + if *listTracks { + printTracks() + return + } + + chosen := *trackKey + if strings.EqualFold(strings.TrimSpace(chosen), "random") { + rng := rand.New(rand.NewSource(time.Now().UnixNano())) + chosen = sim.Presets[rng.Intn(len(sim.Presets))].Key + log.Printf("track=random picked=%s", chosen) + } + + ctx, cancel := signal.NotifyContext(context.Background(), + os.Interrupt, syscall.SIGTERM) + defer cancel() + + pool, err := db.Connect(ctx) + if err != nil { + log.Fatalf("db: %v", err) + } + defer pool.Close() + log.Printf("connected to CedarDB") + + // Schema bootstrap. schema.sql is idempotent (every statement is + // CREATE … IF NOT EXISTS), so we always call ApplySchema on cold + // start — no SchemaPresent gating. The -reset-schema flag layers + // destructive DROPs on top via ResetSchema. + // + // SchemaPresent is still called for diagnostic logging so it's + // obvious from stdout whether the tables were already there. + if *resetSchema { + log.Printf("-reset-schema set: wiping all data and re-creating tables") + if err := db.ResetSchema(ctx, pool); err != nil { + log.Fatalf("reset schema: %v", err) + } + } else { + present, err := db.SchemaPresent(ctx, pool) + switch { + case err != nil: + log.Printf("schema-presence probe failed (continuing anyway): %v", err) + case present: + log.Printf("schema-presence probe: sessions table already present") + default: + log.Printf("schema-presence probe: sessions table missing") + } + if err := db.ApplySchema(ctx, pool); err != nil { + log.Fatalf("apply schema: %v", err) + } + } + + track := sim.GenerateTrack(chosen, 240) + drivers := sim.DefaultGrid() + + s, err := sim.NewSimulator(ctx, pool, track, drivers, *totalLaps, *tickHz) + if err != nil { + log.Fatalf("setup: %v", err) + } + log.Printf("session_id=%d track=%q drivers=%d laps=%d hz=%d", + s.SessionID, track.Name, len(drivers), *totalLaps, *tickHz) + + if err := s.Run(ctx); err != nil && ctx.Err() == nil { + log.Fatalf("run: %v", err) + } + log.Printf("session %d finished cleanly", s.SessionID) +} + +func printTracks() { + fmt.Println("Available track presets:") + fmt.Println() + for _, p := range sim.Presets { + fmt.Printf(" %-13s %s\n", p.Key, p.Display) + fmt.Printf(" %-13s %s\n", "", p.Tagline) + fmt.Printf(" %-13s %.0f m\n", "", p.LapMeters) + fmt.Println() + } + fmt.Println(`Use: -track (or "random" to pick one at random)`) +} diff --git a/f1-telemetry/docker-compose.yml b/f1-telemetry/docker-compose.yml new file mode 100644 index 0000000..c628558 --- /dev/null +++ b/f1-telemetry/docker-compose.yml @@ -0,0 +1,54 @@ +# Brings up CedarDB alongside the Go simulator and web dashboard. +# +# IMPORTANT: the CedarDB image name and the env vars below reflect the +# CedarDB Postgres-protocol container as of mid-2025. If your image differs, +# adjust `image:` and the DATABASE_URL accordingly -- the rest of the demo +# is purely standard Postgres wire protocol and should not need to change. + +services: + cedardb: + image: cedardb/cedardb:latest + container_name: f1-cedardb + # CedarDB speaks the Postgres protocol on 5432. + ports: + - "5432:5432" + environment: + # These mirror the postgres image conventions; if the CedarDB image + # uses different names check its docs and rename. + CEDAR_PASSWORD: postgres + VERBOSITY: DEBUG1 + volumes: + - cedar-data:/var/lib/cedardb + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres -d cedar || exit 1"] + interval: 3s + timeout: 2s + retries: 30 + + simulator: + build: . + container_name: f1-simulator + command: ["/app/simulator", "-track=random", "-laps=50", "-hz=10"] + depends_on: + cedardb: + condition: service_healthy + environment: + DATABASE_URL: "postgresql://postgres:postgres@cedardb:5432/postgres?sslmode=require" + restart: on-failure + + server: + build: . + container_name: f1-server + command: ["/app/server", "-addr=:8080"] + depends_on: + cedardb: + condition: service_healthy + environment: + DATABASE_URL: "postgresql://postgres:postgres@cedardb:5432/postgres?sslmode=require" + ports: + - "8080:8080" + restart: on-failure + +volumes: + cedar-data: + diff --git a/f1-telemetry/go.mod b/f1-telemetry/go.mod new file mode 100644 index 0000000..b48d244 --- /dev/null +++ b/f1-telemetry/go.mod @@ -0,0 +1,14 @@ +module github.com/cedardb-demo/f1-telemetry + +go 1.22 + +require github.com/jackc/pgx/v5 v5.6.0 + +require ( + github.com/jackc/pgpassfile v1.0.0 // indirect + github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect + github.com/jackc/puddle/v2 v2.2.1 // indirect + golang.org/x/crypto v0.27.0 // indirect + golang.org/x/sync v0.8.0 // indirect + golang.org/x/text v0.18.0 // indirect +) diff --git a/f1-telemetry/go.sum b/f1-telemetry/go.sum new file mode 100644 index 0000000..b9bb4b2 --- /dev/null +++ b/f1-telemetry/go.sum @@ -0,0 +1,28 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgx/v5 v5.6.0 h1:SWJzexBzPL5jb0GEsrPMLIsi/3jOo7RHlzTjcAeDrPY= +github.com/jackc/pgx/v5 v5.6.0/go.mod h1:DNZ/vlrUnhWCoFGxHAG8U2ljioxukquj7utPDgtQdTw= +github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= +github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= +golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/f1-telemetry/internal/db/db.go b/f1-telemetry/internal/db/db.go new file mode 100644 index 0000000..d898a6b --- /dev/null +++ b/f1-telemetry/internal/db/db.go @@ -0,0 +1,53 @@ +// Package db wraps the connection pool to CedarDB. +// +// CedarDB speaks the Postgres wire protocol, so we use pgx unmodified. The +// only thing different from a normal Postgres setup is the DSN, which the +// caller supplies via DATABASE_URL. +package db + +import ( + "context" + "fmt" + "os" + "time" + + "github.com/jackc/pgx/v5/pgxpool" +) + +// Connect dials CedarDB using DATABASE_URL from the environment. +// +// Example DSN: +// +// postgres://postgres:postgres@localhost:5432/cedar?sslmode=disable +func Connect(ctx context.Context) (*pgxpool.Pool, error) { + dsn := os.Getenv("DATABASE_URL") + if dsn == "" { + return nil, fmt.Errorf("DATABASE_URL is not set") + } + + cfg, err := pgxpool.ParseConfig(dsn) + if err != nil { + return nil, fmt.Errorf("parse DATABASE_URL: %w", err) + } + // Generous pool: the simulator opens 1 long-lived conn for COPY-style + // inserts, the web server opens several short-lived ones for dashboard + // queries running concurrently. + cfg.MaxConns = 20 + cfg.MinConns = 2 + cfg.MaxConnLifetime = 30 * time.Minute + + pool, err := pgxpool.NewWithConfig(ctx, cfg) + if err != nil { + return nil, fmt.Errorf("dial CedarDB: %w", err) + } + + // Verify the server is reachable before returning. Otherwise the first + // real query is the one that fails, which makes errors confusing. + pingCtx, cancel := context.WithTimeout(ctx, 5*time.Second) + defer cancel() + if err := pool.Ping(pingCtx); err != nil { + pool.Close() + return nil, fmt.Errorf("ping CedarDB: %w", err) + } + return pool, nil +} diff --git a/f1-telemetry/internal/db/schema.go b/f1-telemetry/internal/db/schema.go new file mode 100644 index 0000000..916542a --- /dev/null +++ b/f1-telemetry/internal/db/schema.go @@ -0,0 +1,158 @@ +package db + +import ( + "context" + _ "embed" + "fmt" + "log" + "strings" + + "github.com/jackc/pgx/v5" + "github.com/jackc/pgx/v5/pgxpool" +) + +// SchemaSQL is the contents of the canonical schema.sql, embedded into the +// simulator binary at build time. Lives next to db.go so the //go:embed +// directive can pick it up — Go embed can only see files in the same +// package directory or below it. +// +// If you edit schema.sql you don't need to do anything else: a `go build` +// re-bakes it into the binary. +// +//go:embed schema.sql +var SchemaSQL string + +// SchemaPresent returns true if the canonical `sessions` table already +// exists in the connected database. We use this as a cheap "has the schema +// been applied?" check on simulator startup, so subsequent runs don't wipe +// data when the schema is already in place. +// +// We query information_schema.tables (SQL-standard, present in CedarDB) +// rather than Postgres's `to_regclass`, which CedarDB doesn't yet expose. +func SchemaPresent(ctx context.Context, pool *pgxpool.Pool) (bool, error) { + var present bool + if err := pool.QueryRow(ctx, ` + SELECT (SELECT COUNT(*) FROM information_schema.tables + WHERE table_name = 'sessions') = 1 + `).Scan(&present); err != nil { + return false, fmt.Errorf("schema presence check: %w", err) + } + return present, nil +} + +// ApplySchema runs the embedded schema.sql against the database. The file +// is idempotent — every statement uses CREATE TABLE IF NOT EXISTS or +// CREATE INDEX IF NOT EXISTS — so it's safe to call on every cold start +// without losing prior data. For destructive re-init, call ResetSchema +// instead (drops everything first, then calls ApplySchema). +// +// Two non-obvious things going on here: +// +// - We execute each statement separately, because CedarDB's protocol +// implementation doesn't currently accept multi-statement queries. The +// splitter strips `--` line comments and breaks on `;`; that's safe for +// our DDL since none of it embeds semicolons inside string literals or +// function bodies. +// - We force `pgx.QueryExecModeSimpleProtocol` on each Exec. pgx's default +// mode (CacheStatement) sends Parse → Bind → Execute through the +// extended protocol and caches the resulting prepared statement. +// CedarDB rejects (or, worse, silently swallows) DDL prepared that way. +// Simple-protocol Exec just sends the SQL text as a `Q` message, which +// CedarDB's parser handles correctly. +// +// Per-statement log lines give you visual confirmation that each piece of +// the schema was accepted; this is a once-per-cold-start operation so the +// chattiness doesn't matter. +func ApplySchema(ctx context.Context, pool *pgxpool.Pool) error { + statements := splitSQLStatements(SchemaSQL) + log.Printf("applying schema: %d statements", len(statements)) + for i, stmt := range statements { + if _, err := pool.Exec(ctx, stmt, pgx.QueryExecModeSimpleProtocol); err != nil { + return fmt.Errorf( + "apply schema (statement %d of %d failed): %w\n--- failing statement ---\n%s\n", + i+1, len(statements), err, stmt, + ) + } + log.Printf(" [%2d/%d] %s — ok", i+1, len(statements), firstLine(stmt)) + } + log.Printf("schema applied") + return nil +} + +// ResetSchema drops every table the demo owns and then re-applies the +// embedded schema. Wired behind the simulator's `-reset-schema` flag so +// it's never called accidentally. Each DROP is sent via the simple +// protocol for the same reason ApplySchema uses simple protocol — +// CedarDB doesn't accept DDL through prepare/bind/execute. +func ResetSchema(ctx context.Context, pool *pgxpool.Pool) error { + // Order matters because of foreign-key-style cascades: drop the + // fact tables first, then the dimensions. CASCADE would handle this + // for us with real FKs, but we don't define any, so we just sequence. + drops := []string{ + "DROP TABLE IF EXISTS telemetry CASCADE", + "DROP TABLE IF EXISTS laps CASCADE", + "DROP TABLE IF EXISTS events CASCADE", + "DROP TABLE IF EXISTS drivers CASCADE", + "DROP TABLE IF EXISTS sessions CASCADE", + } + log.Printf("resetting schema: dropping %d tables", len(drops)) + for i, stmt := range drops { + if _, err := pool.Exec(ctx, stmt, pgx.QueryExecModeSimpleProtocol); err != nil { + return fmt.Errorf( + "reset schema (drop %d of %d failed): %w\n--- failing statement ---\n%s\n", + i+1, len(drops), err, stmt, + ) + } + log.Printf(" [%d/%d] %s — ok", i+1, len(drops), stmt) + } + return ApplySchema(ctx, pool) +} + +// firstLine returns the first non-empty line of the statement, trimmed to +// a sensible length, for the per-statement progress log. +func firstLine(stmt string) string { + for _, line := range strings.Split(stmt, "\n") { + line = strings.TrimSpace(line) + if line == "" { + continue + } + if len(line) > 70 { + return line[:67] + "..." + } + return line + } + return "(empty)" +} + +// splitSQLStatements turns a SQL script into a slice of individual +// statements. Two-step process: strip `--` line comments first so semicolons +// in trailing comments don't confuse the splitter, then split on `;` and +// drop empty fragments. +// +// This is good enough for DDL that doesn't include string literals or +// PL/pgSQL function bodies with embedded `;` or `--`. The schema we ship +// satisfies that constraint; if you add `CREATE FUNCTION ... $$ ... $$` +// blocks or string DEFAULTs containing semicolons you'll need a smarter +// tokenizer here. +func splitSQLStatements(sql string) []string { + // Strip `-- …` line comments. We keep the newline so line numbers in + // downstream error messages still line up roughly with the source file. + var clean strings.Builder + clean.Grow(len(sql)) + for _, line := range strings.Split(sql, "\n") { + if idx := strings.Index(line, "--"); idx >= 0 { + line = line[:idx] + } + clean.WriteString(line) + clean.WriteByte('\n') + } + + out := make([]string, 0, 16) + for _, raw := range strings.Split(clean.String(), ";") { + stmt := strings.TrimSpace(raw) + if stmt != "" { + out = append(out, stmt) + } + } + return out +} diff --git a/f1-telemetry/internal/db/schema.sql b/f1-telemetry/internal/db/schema.sql new file mode 100644 index 0000000..fb20c14 --- /dev/null +++ b/f1-telemetry/internal/db/schema.sql @@ -0,0 +1,87 @@ +-- F1 telemetry schema for CedarDB (Postgres dialect). +-- +-- Five tables: +-- sessions - one row per race / practice session +-- drivers - 20 driver entries (one-time seed data) +-- telemetry - high-frequency car state (this is the hot table: ~200 rows/sec) +-- laps - one row per completed lap, with sector splits +-- events - race events (start, fastest lap, overtake, etc.) +-- +-- The dashboard joins telemetry x drivers for live state, and reads laps for +-- timing. All of this happens while the simulator is INSERT-ing into +-- telemetry/laps in real time, which is the CedarDB differentiator we want +-- to show: concurrent ingest + analytic queries on the same table. +-- +-- This file is intentionally idempotent: every statement is guarded with +-- IF NOT EXISTS so the simulator can call it on every cold start without +-- risk of wiping prior data. For destructive re-init, run the simulator +-- with the `-reset-schema` flag, which DROPs each table first. + +CREATE TABLE IF NOT EXISTS sessions ( + session_id BIGSERIAL PRIMARY KEY, + name TEXT NOT NULL, + track TEXT NOT NULL, + total_laps INTEGER NOT NULL, + started_at TIMESTAMPTZ NOT NULL DEFAULT now(), + ended_at TIMESTAMPTZ +); + +CREATE TABLE IF NOT EXISTS drivers ( + driver_id INTEGER PRIMARY KEY, + code TEXT NOT NULL, -- 3-letter code, e.g. 'VER' + full_name TEXT NOT NULL, + team TEXT NOT NULL, + car_number INTEGER NOT NULL, + color_hex TEXT NOT NULL -- team color for the UI +); + +-- Hot path. Inserted ~200 rows/sec (20 cars x 10 Hz). +CREATE TABLE IF NOT EXISTS telemetry ( + session_id BIGINT NOT NULL, + driver_id INTEGER NOT NULL, + ts TIMESTAMPTZ NOT NULL, + lap INTEGER NOT NULL, + track_pos DOUBLE PRECISION NOT NULL, -- 0..1 around the lap + pos_x DOUBLE PRECISION NOT NULL, + pos_y DOUBLE PRECISION NOT NULL, + speed_kph DOUBLE PRECISION NOT NULL, + rpm INTEGER NOT NULL, + gear SMALLINT NOT NULL, + throttle REAL NOT NULL, -- 0..1 + brake REAL NOT NULL, -- 0..1 + drs BOOLEAN NOT NULL +); + +-- Two indexes that match the two read patterns the dashboard uses: +-- 1) latest sample per (session, driver) -> track map + telemetry panel +-- 2) latest samples across whole session -> any "newest-first" scan +CREATE INDEX IF NOT EXISTS telemetry_session_driver_ts_idx + ON telemetry (session_id, driver_id, ts DESC); + +CREATE INDEX IF NOT EXISTS telemetry_session_ts_idx + ON telemetry (session_id, ts DESC); + +CREATE TABLE IF NOT EXISTS laps ( + session_id BIGINT NOT NULL, + driver_id INTEGER NOT NULL, + lap_number INTEGER NOT NULL, + lap_time_ms INTEGER NOT NULL, + sector1_ms INTEGER NOT NULL, + sector2_ms INTEGER NOT NULL, + sector3_ms INTEGER NOT NULL, + finished_at TIMESTAMPTZ NOT NULL, + PRIMARY KEY (session_id, driver_id, lap_number) +); + +CREATE INDEX IF NOT EXISTS laps_session_lap_idx ON laps (session_id, lap_number); + +CREATE TABLE IF NOT EXISTS events ( + event_id BIGSERIAL PRIMARY KEY, + session_id BIGINT NOT NULL, + driver_id INTEGER, + ts TIMESTAMPTZ NOT NULL, + kind TEXT NOT NULL, -- 'race_start','fastest_lap','overtake','drs_open' + detail TEXT +); + +CREATE INDEX IF NOT EXISTS events_session_ts_idx ON events (session_id, ts DESC); diff --git a/f1-telemetry/internal/sim/simulator.go b/f1-telemetry/internal/sim/simulator.go new file mode 100644 index 0000000..e070ded --- /dev/null +++ b/f1-telemetry/internal/sim/simulator.go @@ -0,0 +1,439 @@ +package sim + +import ( + "context" + "fmt" + "math" + "math/rand" + "time" + + "github.com/jackc/pgx/v5" + "github.com/jackc/pgx/v5/pgxpool" +) + +// Driver is the static description of one of the 20 entries. +type Driver struct { + ID int + Code string + FullName string + Team string + Number int + Color string + + // PaceFactor is the per-driver multiplier on target speed: 1.00 is + // average, 1.02 is a top-tier car, 0.95 is a backmarker. + PaceFactor float64 + + // CornerBias models a driver's preferred corner type. Positive values + // mean the driver is faster than their baseline in HIGH-speed corners + // (and proportionally slower in slow ones); negative is the opposite. + // Range roughly ±0.006 (0.6% of pace). + CornerBias float64 +} + +// DefaultGrid returns a 20-driver grid with fictional teams/codes so we +// don't impersonate real drivers. +// +// Pace model +// - Each TEAM has a baseline pace, top to bottom: 1.020 .. 0.930. +// - Within a team the two drivers are offset by ±0.005 around the team +// mean (so a ~1% intra-team gap, roughly one second per lap on a 100- +// second lap) — big enough that teammates visibly separate over 50 +// laps, small enough to stay realistic. +// - On top of that, each driver picks up a small random "sprinkle" +// (±0.0025) and a per-driver CornerBias (±0.006) so that some drivers +// gain in fast sweepers while others gain in slow corners. Average +// pace is preserved. +// +// The grid RNG is seeded with a fixed value so the demo is reproducible +// across runs (same fast/slow drivers each time); the per-tick sim noise +// (in advance()) still uses a wall-clock seed for variety. +func DefaultGrid() []Driver { + type teamSpec struct { + name string + color string + pace float64 + } + teams := []teamSpec{ + {"Apex Racing", "#1ee2a2", 1.020}, + {"Velocity GP", "#ff5577", 1.010}, + {"Crimson Wing", "#cc2222", 1.000}, + {"Solaris", "#ffaa00", 0.990}, + {"Nordic", "#3aa6ff", 0.980}, + {"Vortex", "#9966ff", 0.970}, + {"Iron Lotus", "#22cc88", 0.960}, + {"Meridian", "#bbbbbb", 0.950}, + {"Polestar Works", "#ff8c1a", 0.940}, + {"Sable", "#888888", 0.930}, + } + codes := []string{ + "ANV", "BRK", "CRO", "DEL", "EZK", "FAR", "GRV", "HIN", "ILA", "JEN", + "KOR", "LIA", "MUR", "NEV", "ORS", "PAX", "QIN", "ROS", "SAV", "TOR", + } + names := []string{ + "A. Anvers", "B. Brokk", "C. Cross", "D. Delacroix", "E. Ezakov", + "F. Faruq", "G. Greaves", "H. Hinata", "I. Ilanov", "J. Jensen", + "K. Korva", "L. Liang", "M. Murat", "N. Neves", "O. Orsini", + "P. Paxson", "Q. Quintero", "R. Rosso", "S. Savic", "T. Torres", + } + + gridRNG := rand.New(rand.NewSource(0xCEDA12B)) + out := make([]Driver, 20) + for i := 0; i < 20; i++ { + team := teams[i/2] + + // Intra-team: the #1 driver is 0.005 faster than the team mean, + // the #2 driver 0.005 slower. ~1% gap, ~1s/lap. + intraTeam := 0.005 + if i%2 == 1 { + intraTeam = -0.005 + } + // Small extra sprinkle so the order isn't perfectly tidy. + sprinkle := (gridRNG.Float64()*2 - 1) * 0.0025 + + // Corner specialty: zero-mean across drivers. A driver with +0.006 + // is ~0.6% faster than baseline on full straights / fast sweepers + // and ~0.6% slower in slow corners; the opposite for negative. + cornerBias := (gridRNG.Float64()*2 - 1) * 0.006 + + out[i] = Driver{ + ID: i + 1, + Code: codes[i], + FullName: names[i], + Team: team.name, + Number: 10 + i, + Color: team.color, + PaceFactor: team.pace + intraTeam + sprinkle, + CornerBias: cornerBias, + } + } + return out +} + +// state holds the per-driver mutable state during simulation. +type state struct { + driver Driver + trackPos float64 // 0..1 + speedKph float64 + lap int + lapStart time.Time + sectorStart time.Time + sector int // 0,1,2 + sectorTimes [3]int // ms + bestLap int // ms + finished bool + + // formDelta is a slow-varying per-driver pace bonus that random-walks + // during the race. It represents the driver's "form" / tyre state / + // fuel mass / general luck-of-the-stint. Bounded to ±0.008 so it never + // dominates the static PaceFactor difference between teams. + formDelta float64 +} + +// Simulator drives 20 cars around a Track and inserts both telemetry samples +// and completed laps into CedarDB. +type Simulator struct { + Pool *pgxpool.Pool + Track *Track + Drivers []Driver + SessionID int64 + TotalLaps int + TickHz int + + state []state + rng *rand.Rand +} + +// NewSimulator creates a session row, seeds drivers, and prepares per-car +// state on a starting grid. It does NOT begin the loop -- call Run for that. +func NewSimulator(ctx context.Context, pool *pgxpool.Pool, track *Track, drivers []Driver, totalLaps, tickHz int) (*Simulator, error) { + var sessionID int64 + err := pool.QueryRow(ctx, + `INSERT INTO sessions (name, track, total_laps) + VALUES ($1, $2, $3) RETURNING session_id`, + "Live Demo Race", track.Name, totalLaps, + ).Scan(&sessionID) + if err != nil { + return nil, fmt.Errorf("create session: %w", err) + } + + // Upsert drivers (idempotent across runs). + batch := &pgx.Batch{} + for _, d := range drivers { + batch.Queue( + `INSERT INTO drivers (driver_id, code, full_name, team, car_number, color_hex) + VALUES ($1, $2, $3, $4, $5, $6) + ON CONFLICT (driver_id) DO UPDATE SET + code=EXCLUDED.code, full_name=EXCLUDED.full_name, + team=EXCLUDED.team, car_number=EXCLUDED.car_number, + color_hex=EXCLUDED.color_hex`, + d.ID, d.Code, d.FullName, d.Team, d.Number, d.Color) + } + if err := pool.SendBatch(ctx, batch).Close(); err != nil { + return nil, fmt.Errorf("seed drivers: %w", err) + } + + // Starting grid: small backward offset per car so they don't all stack at + // the start line. Position is in track_pos units (fraction of a lap). + now := time.Now() + st := make([]state, len(drivers)) + for i, d := range drivers { + st[i] = state{ + driver: d, + trackPos: -0.001 * float64(i), // wraps to ~0.999 etc. + speedKph: 0, + lap: 1, + lapStart: now, + sectorStart: now, + } + } + + return &Simulator{ + Pool: pool, + Track: track, + Drivers: drivers, + SessionID: sessionID, + TotalLaps: totalLaps, + TickHz: tickHz, + state: st, + rng: rand.New(rand.NewSource(time.Now().UnixNano())), + }, nil +} + +// Run advances the simulation at TickHz until all cars finish TotalLaps or +// the context is cancelled. Each tick produces one telemetry row per car; +// laps are inserted whenever a car crosses the start/finish line. +func (s *Simulator) Run(ctx context.Context) error { + // Insert a 'race_start' event for the timeline. + _, _ = s.Pool.Exec(ctx, + `INSERT INTO events (session_id, ts, kind, detail) VALUES ($1, now(), 'race_start', $2)`, + s.SessionID, fmt.Sprintf("%d cars, %d laps", len(s.Drivers), s.TotalLaps)) + + interval := time.Second / time.Duration(s.TickHz) + tick := time.NewTicker(interval) + defer tick.Stop() + + dt := 1.0 / float64(s.TickHz) // seconds per tick + + // Pre-allocate the batch we send each tick. + tele := make([][]any, 0, len(s.Drivers)) + + for { + select { + case <-ctx.Done(): + s.endSession(context.Background()) + return ctx.Err() + case now := <-tick.C: + tele = tele[:0] + allDone := true + + for i := range s.state { + cs := &s.state[i] + if cs.finished { + continue + } + allDone = false + s.advance(cs, dt) + + p, _ := s.Track.PosAt(cs.trackPos) + gear, rpm, throttle, brake, drs := derive(cs.speedKph, cs.trackPos, s.Track) + + tele = append(tele, []any{ + s.SessionID, cs.driver.ID, now, cs.lap, + cs.trackPos, p.X, p.Y, cs.speedKph, + rpm, gear, throttle, brake, drs, + }) + + // Check sector / lap crossings. + s.handleSectors(ctx, cs, now) + } + + if len(tele) > 0 { + _, err := s.Pool.CopyFrom(ctx, + pgx.Identifier{"telemetry"}, + []string{"session_id", "driver_id", "ts", "lap", + "track_pos", "pos_x", "pos_y", "speed_kph", + "rpm", "gear", "throttle", "brake", "drs"}, + pgx.CopyFromRows(tele), + ) + if err != nil { + return fmt.Errorf("copy telemetry: %w", err) + } + } + + if allDone { + s.endSession(ctx) + return nil + } + } + } +} + +// advance moves a single car forward by dt seconds. +// +// Pace is composed each tick from four pieces so that 20 cars with the same +// underlying physics actually finish in different positions: +// +// final_pace = driver.PaceFactor // static team + intra-team rank +// + driver.CornerBias * mix // dynamic, depends on corner type +// + state.formDelta // slow random walk, lap-scale drift +// + ε (1.5 km/h jitter) // sub-corner noise +// +// `mix` is 0 in a 90 km/h hairpin and 1 on a 320 km/h straight, so the bias +// term reverses sign smoothly across the lap. +func (s *Simulator) advance(cs *state, dt float64) { + baseTarget := s.Track.TargetSpeedAt(cs.trackPos) + + // Corner-type weighting: 0 = slow corner, 1 = fast straight. + const slowKph = 110.0 + const fastKph = 290.0 + mix := (baseTarget - slowKph) / (fastKph - slowKph) + if mix < 0 { + mix = 0 + } + if mix > 1 { + mix = 1 + } + // Positive CornerBias adds in fast sections, subtracts in slow ones. + cornerAdj := cs.driver.CornerBias * (2*mix - 1) + + // Slow random walk on form. ±1e-4 per tick, bounded to ±0.008. At 10 Hz + // this drifts on the order of 0.001/sec, so it takes a couple of laps + // to traverse the full range — i.e. lap-scale drift, not noise. + cs.formDelta += (s.rng.Float64()*2 - 1) * 1e-4 + if cs.formDelta > 0.008 { + cs.formDelta = 0.008 + } else if cs.formDelta < -0.008 { + cs.formDelta = -0.008 + } + + pace := cs.driver.PaceFactor + cornerAdj + cs.formDelta + target := baseTarget * pace + // Tiny noise so cars don't move in lockstep within a corner. + target += (s.rng.Float64()*2 - 1) * 1.5 + + // Accelerate / brake toward target. Real F1 cars hit ~3-5g braking and + // ~1-2g accel; we pick numbers that look right at 10Hz. + const accelKphPerSec = 95.0 + const brakeKphPerSec = 230.0 + delta := target - cs.speedKph + maxStep := accelKphPerSec * dt + if delta < 0 { + maxStep = brakeKphPerSec * dt + } + if math.Abs(delta) <= maxStep { + cs.speedKph = target + } else if delta > 0 { + cs.speedKph += maxStep + } else { + cs.speedKph -= maxStep + } + if cs.speedKph < 30 { + cs.speedKph = 30 // never crawl: avoids div-by-zero everywhere + } + + // Move along the track. trackPos is a fraction of a lap [0,1), so + // delta-pos = (meters traveled this tick) / (lap length in meters). + mps := cs.speedKph * 1000.0 / 3600.0 + cs.trackPos += (mps * dt) / s.Track.LapMeters +} + +// derive computes RPM, gear, throttle, brake, DRS from speed + track context. +// These are derived (not independently simulated) but consistent. +func derive(speedKph, trackPos float64, t *Track) (gear int16, rpm int, throttle, brake float32, drs bool) { + // Gear from speed bands. + switch { + case speedKph < 80: + gear = 2 + case speedKph < 130: + gear = 3 + case speedKph < 180: + gear = 4 + case speedKph < 230: + gear = 5 + case speedKph < 270: + gear = 6 + case speedKph < 305: + gear = 7 + default: + gear = 8 + } + // RPM rises within each gear, snaps down on shift. Roughly 8000-12000. + gearBase := []int{0, 7000, 8000, 8500, 9000, 9500, 10000, 10500, 11000} + rpm = gearBase[gear] + int(((speedKph-float64((int(gear)-1)*45))/45.0)*1500) + if rpm < 6500 { + rpm = 6500 + } + if rpm > 12000 { + rpm = 12000 + } + + // Throttle / brake based on speed vs the local target. Anticipatory: if the + // target ahead is much lower, we must be braking; if higher, on the gas. + target := t.TargetSpeedAt(trackPos) + switch { + case target < speedKph-15: + brake = float32(math.Min(1.0, (speedKph-target)/80.0)) + throttle = 0 + case target > speedKph+5: + throttle = 1 + brake = 0 + default: + throttle = 0.6 + brake = 0 + } + + // DRS open on long fast sections (rough proxy: target speed > 290). + drs = target > 290 && speedKph > 250 + return +} + +// handleSectors detects sector crossings and lap completion. +func (s *Simulator) handleSectors(ctx context.Context, cs *state, now time.Time) { + // Sector boundaries at 1/3, 2/3, 1.0. + boundaries := []float64{1.0 / 3.0, 2.0 / 3.0, 1.0} + for cs.sector < 3 && cs.trackPos >= boundaries[cs.sector] { + elapsed := int(now.Sub(cs.sectorStart) / time.Millisecond) + cs.sectorTimes[cs.sector] = elapsed + cs.sector++ + cs.sectorStart = now + if cs.sector == 3 { + // Lap complete. + lapMs := cs.sectorTimes[0] + cs.sectorTimes[1] + cs.sectorTimes[2] + s.insertLap(ctx, cs, lapMs, now) + cs.lap++ + cs.lapStart = now + cs.sector = 0 + cs.sectorTimes = [3]int{} + cs.trackPos -= 1.0 // wrap + if cs.bestLap == 0 || lapMs < cs.bestLap { + cs.bestLap = lapMs + } + if cs.lap > s.TotalLaps { + cs.finished = true + } + } + } +} + +func (s *Simulator) insertLap(ctx context.Context, cs *state, lapMs int, finishedAt time.Time) { + _, err := s.Pool.Exec(ctx, + `INSERT INTO laps (session_id, driver_id, lap_number, lap_time_ms, + sector1_ms, sector2_ms, sector3_ms, finished_at) + VALUES ($1, $2, $3, $4, $5, $6, $7, $8) + ON CONFLICT DO NOTHING`, + s.SessionID, cs.driver.ID, cs.lap, lapMs, + cs.sectorTimes[0], cs.sectorTimes[1], cs.sectorTimes[2], finishedAt, + ) + if err != nil { + // Non-fatal: log and continue. The simulation should not stop because + // one INSERT failed. + fmt.Printf("insert lap: %v\n", err) + } +} + +func (s *Simulator) endSession(ctx context.Context) { + _, _ = s.Pool.Exec(ctx, + `UPDATE sessions SET ended_at = now() WHERE session_id = $1`, + s.SessionID) +} diff --git a/f1-telemetry/internal/sim/track.go b/f1-telemetry/internal/sim/track.go new file mode 100644 index 0000000..7124d62 --- /dev/null +++ b/f1-telemetry/internal/sim/track.go @@ -0,0 +1,302 @@ +package sim + +import ( + "math" + "strings" +) + +// Track is a closed loop of waypoints. Each waypoint carries a target speed +// that the cars try to drive at while passing through it. By giving curvy +// regions a low target speed and straights a high one, we get realistic-looking +// throttle/brake/gear behavior without simulating actual vehicle dynamics. +type Track struct { + Name string + Points []Point // closed loop, Points[0] == start/finish line + TargetKph []float64 // len == len(Points), target speed at each waypoint + + // Length is the geometric arc length of the SVG polyline, in the same + // arbitrary units as Points. Used for proportional lookup along the + // closed curve (see PosAt), nothing else. + Length float64 + + // LapMeters is the physical lap length used by the simulator to convert + // km/h into "fraction of lap per tick". Decoupling this from Length means + // we can pick a realistic F1 lap length (~5.4 km) without having to scale + // the SVG geometry up. + LapMeters float64 + + cumLen []float64 // cumulative arc length, for track_pos lookup +} + +type Point struct { + X, Y float64 +} + +// Preset describes one of the selectable track variants. Add new tracks by +// appending to the Presets slice — make sure the control points form a clean +// counter-clockwise loop with no self-intersections. +type Preset struct { + Key string // machine key (used by the simulator's -track flag) + Display string // human name; written into sessions.track + LapMeters float64 // physical lap length used by the simulator + Tagline string // one-line description shown by -list-tracks + Controls []Point // hand-picked spline control points (CCW) +} + +// Presets are the 6 selectable circuits. They're deliberately drawn to look +// obviously different from each other so it's easy to tell which one is up. +var Presets = []Preset{ + { + Key: "cedar-park", Display: "Cedar Park Circuit", LapMeters: 5400, + Tagline: "Balanced — long straight, fast right-hander, chicane, hairpin", + Controls: []Point{ + {160, 600}, {310, 600}, {480, 595}, {650, 590}, + {790, 565}, {860, 510}, {885, 420}, {870, 330}, + {790, 265}, {680, 230}, {570, 200}, {495, 230}, {420, 200}, + {310, 215}, {210, 260}, {155, 335}, + {130, 425}, {150, 520}, {135, 580}, + }, + }, + { + Key: "sprint-oval", Display: "Sprint Oval", LapMeters: 4200, + Tagline: "High-speed — long straights, two big sweepers, no real corners", + Controls: []Point{ + {160, 380}, {200, 250}, {340, 175}, {660, 175}, + {800, 250}, {840, 380}, {800, 510}, {660, 585}, + {340, 585}, {200, 510}, + }, + }, + { + Key: "highline", Display: "Highline Esses", LapMeters: 5200, + Tagline: "Flowing — shallow sweepers across a long horizontal band", + Controls: []Point{ + {140, 470}, {300, 410}, {470, 460}, {640, 400}, + {800, 450}, {875, 510}, {820, 570}, {660, 585}, + {480, 580}, {300, 575}, {170, 555}, + }, + }, + { + Key: "crescent", Display: "Crescent Bay", LapMeters: 5100, + Tagline: "Asymmetric arc with a tight infield twist on the south side", + Controls: []Point{ + {140, 540}, {310, 590}, {490, 595}, {660, 580}, + {790, 520}, {855, 410}, {820, 290}, {700, 220}, + {570, 230}, {490, 310}, {420, 360}, {340, 320}, + {240, 360}, {170, 450}, + }, + }, + { + Key: "pinewood", Display: "Pinewood Climb", LapMeters: 4800, + Tagline: "Vertical layout — two opposed hairpins, narrow infield", + Controls: []Point{ + {420, 620}, {510, 600}, {590, 560}, {635, 480}, + {590, 410}, {510, 380}, {460, 330}, {480, 250}, + {560, 190}, {660, 170}, {740, 220}, {750, 320}, + {700, 400}, {640, 460}, {640, 540}, {560, 590}, + }, + }, + { + Key: "downtown", Display: "Downtown Loop", LapMeters: 4400, + Tagline: "Street circuit — boxy silhouette, right-angle turns, slow average", + Controls: []Point{ + {180, 580}, {380, 590}, {560, 585}, {700, 565}, + {760, 510}, {760, 430}, {700, 410}, {640, 430}, + {640, 320}, {730, 290}, {730, 200}, {560, 190}, + {390, 195}, {300, 240}, {290, 340}, {240, 380}, + {240, 460}, {190, 490}, + }, + }, +} + +// PresetByName returns the preset whose Key or Display matches (case- and +// whitespace-insensitive). Falls back to Presets[0] (Cedar Park) if no +// match — that's intentional so a typo at the CLI gives you a working race +// rather than a panic. +func PresetByName(name string) Preset { + n := strings.ToLower(strings.TrimSpace(name)) + for _, p := range Presets { + if strings.ToLower(p.Key) == n || strings.ToLower(p.Display) == n { + return p + } + } + return Presets[0] +} + +// GenerateTrack builds the named preset by interpolating its control points +// with a centripetal Catmull-Rom spline. nameOrKey may be either a preset's +// Key (e.g. "cedar-park") or its Display name (e.g. "Cedar Park Circuit"); +// unknown names fall back to the first preset. +// +// nPoints is a hint for the desired number of sampled waypoints; it's +// rounded down to a clean number of samples per control segment. +func GenerateTrack(nameOrKey string, nPoints int) *Track { + p := PresetByName(nameOrKey) + if nPoints < 100 { + nPoints = 240 + } + samplesPerSeg := nPoints / len(p.Controls) + if samplesPerSeg < 8 { + samplesPerSeg = 8 + } + pts := closedCatmullRom(p.Controls, samplesPerSeg) + n := len(pts) + + t := &Track{ + Name: p.Display, + Points: pts, + TargetKph: make([]float64, n), + cumLen: make([]float64, n), + LapMeters: p.LapMeters, + } + + // Cumulative arc length, then total length (closing the loop). + for i := 1; i < n; i++ { + dx := t.Points[i].X - t.Points[i-1].X + dy := t.Points[i].Y - t.Points[i-1].Y + t.cumLen[i] = t.cumLen[i-1] + math.Hypot(dx, dy) + } + closeDx := t.Points[0].X - t.Points[n-1].X + closeDy := t.Points[0].Y - t.Points[n-1].Y + t.Length = t.cumLen[n-1] + math.Hypot(closeDx, closeDy) + + // Target speed at each waypoint, based on local curvature. Tight corners + // get low target speeds; straight sections get high ones. Curvature is + // approximated from the angle change across a small window scaled to the + // point density. + window := n / 40 + if window < 4 { + window = 4 + } + for i := 0; i < n; i++ { + a := (i - window + n) % n + b := (i + window) % n + v1x := t.Points[i].X - t.Points[a].X + v1y := t.Points[i].Y - t.Points[a].Y + v2x := t.Points[b].X - t.Points[i].X + v2y := t.Points[b].Y - t.Points[i].Y + ang := math.Atan2(v1x*v2y-v1y*v2x, v1x*v2x+v1y*v2y) + curve := math.Abs(ang) + + const maxKph = 325.0 + const minKph = 85.0 + kph := maxKph - (maxKph-minKph)*math.Min(1.0, curve/0.45) + t.TargetKph[i] = kph + } + + // Smooth the target-speed profile so braking zones extend back from the + // apex (cars start slowing before the corner). + for pass := 0; pass < 6; pass++ { + out := make([]float64, n) + for i := range t.TargetKph { + p := t.TargetKph[(i-1+n)%n] + c := t.TargetKph[i] + nx := t.TargetKph[(i+1)%n] + blend := 0.25*p + 0.5*c + 0.25*nx + out[i] = math.Min(blend, c+10) + } + t.TargetKph = out + } + + return t +} + +// PosAt returns the (x, y) point and the index of the waypoint just before +// the given track_pos in [0, 1). It interpolates linearly between waypoints. +func (t *Track) PosAt(pos float64) (Point, int) { + pos = pos - math.Floor(pos) // wrap to [0, 1) + target := pos * t.Length + + lo, hi := 0, len(t.cumLen)-1 + for lo < hi { + mid := (lo + hi + 1) / 2 + if t.cumLen[mid] <= target { + lo = mid + } else { + hi = mid - 1 + } + } + i := lo + next := (i + 1) % len(t.Points) + segStart := t.cumLen[i] + var segLen float64 + if next == 0 { + segLen = t.Length - segStart + } else { + segLen = t.cumLen[next] - segStart + } + frac := 0.0 + if segLen > 0 { + frac = (target - segStart) / segLen + } + p := Point{ + X: t.Points[i].X + frac*(t.Points[next].X-t.Points[i].X), + Y: t.Points[i].Y + frac*(t.Points[next].Y-t.Points[i].Y), + } + return p, i +} + +// TargetSpeedAt returns the target km/h at the given track position, with a +// short look-ahead so cars start braking BEFORE the corner. +func (t *Track) TargetSpeedAt(pos float64) float64 { + const lookAhead = 0.02 + _, i := t.PosAt(pos + lookAhead) + _, j := t.PosAt(pos + 2*lookAhead) + a := t.TargetKph[i] + b := t.TargetKph[j] + if b < a { + return b + } + return a +} + +// closedCatmullRom interpolates a closed loop of control points using a +// centripetal Catmull-Rom spline. +func closedCatmullRom(ctrl []Point, samplesPerSeg int) []Point { + n := len(ctrl) + out := make([]Point, 0, n*samplesPerSeg) + for i := 0; i < n; i++ { + p0 := ctrl[(i-1+n)%n] + p1 := ctrl[i] + p2 := ctrl[(i+1)%n] + p3 := ctrl[(i+2)%n] + + t0 := 0.0 + t1 := t0 + math.Sqrt(pointDist(p0, p1)) + t2 := t1 + math.Sqrt(pointDist(p1, p2)) + t3 := t2 + math.Sqrt(pointDist(p2, p3)) + if t1 <= t0 { + t1 = t0 + 1e-6 + } + if t2 <= t1 { + t2 = t1 + 1e-6 + } + if t3 <= t2 { + t3 = t2 + 1e-6 + } + + for s := 0; s < samplesPerSeg; s++ { + t := t1 + (t2-t1)*float64(s)/float64(samplesPerSeg) + out = append(out, catmullRomEval(p0, p1, p2, p3, t0, t1, t2, t3, t)) + } + } + return out +} + +// catmullRomEval evaluates the centripetal Catmull-Rom spline at parameter t, +// using the Barry-Goldman pyramid (three lerp levels). +func catmullRomEval(p0, p1, p2, p3 Point, t0, t1, t2, t3, t float64) Point { + a1 := lerpPoint(p0, p1, (t-t0)/(t1-t0)) + a2 := lerpPoint(p1, p2, (t-t1)/(t2-t1)) + a3 := lerpPoint(p2, p3, (t-t2)/(t3-t2)) + b1 := lerpPoint(a1, a2, (t-t0)/(t2-t0)) + b2 := lerpPoint(a2, a3, (t-t1)/(t3-t1)) + return lerpPoint(b1, b2, (t-t1)/(t2-t1)) +} + +func lerpPoint(a, b Point, t float64) Point { + return Point{X: a.X + t*(b.X-a.X), Y: a.Y + t*(b.Y-a.Y)} +} + +func pointDist(a, b Point) float64 { + return math.Hypot(a.X-b.X, a.Y-b.Y) +} diff --git a/f1-telemetry/internal/web/server.go b/f1-telemetry/internal/web/server.go new file mode 100644 index 0000000..56245fc --- /dev/null +++ b/f1-telemetry/internal/web/server.go @@ -0,0 +1,536 @@ +package web + +import ( + "context" + "embed" + "encoding/json" + "fmt" + "html/template" + "io/fs" + "log" + "math" + "net/http" + "strconv" + "time" + + "github.com/cedardb-demo/f1-telemetry/internal/sim" + "github.com/jackc/pgx/v5/pgxpool" +) + +//go:embed templates/*.html +var templatesFS embed.FS + +// staticFS holds files served under /static/. Drop replacement assets +// (e.g. the real cedardb-logo.svg or a PNG variant) into internal/web/static +// and rebuild — they'll be picked up automatically. +// +//go:embed static/* +var staticFS embed.FS + +// Server holds the HTTP routes and CedarDB pool. +type Server struct { + Pool *pgxpool.Pool + tpl *template.Template + static http.Handler +} + +func NewServer(pool *pgxpool.Pool) (*Server, error) { + tpl, err := template.ParseFS(templatesFS, "templates/*.html") + if err != nil { + return nil, fmt.Errorf("parse templates: %w", err) + } + sub, err := fs.Sub(staticFS, "static") + if err != nil { + return nil, fmt.Errorf("static sub: %w", err) + } + return &Server{ + Pool: pool, + tpl: tpl, + static: http.FileServer(http.FS(sub)), + }, nil +} + +func (s *Server) Routes() http.Handler { + mux := http.NewServeMux() + mux.HandleFunc("/", s.handleIndex) + mux.HandleFunc("/track.json", s.handleTrackJSON) + mux.HandleFunc("/sse/state", s.handleSSE) + mux.HandleFunc("/api/leaderboard", s.handleLeaderboard) + mux.HandleFunc("/api/speed-map", s.handleSpeedMap) + mux.HandleFunc("/api/ingest-rate", s.handleIngestRate) + mux.Handle("/static/", http.StripPrefix("/static/", s.static)) + return mux +} + +// --- Models the SSE payload uses ----------------------------------------- + +type carState struct { + DriverID int `json:"driver_id"` + Code string `json:"code"` + Team string `json:"team"` + Color string `json:"color"` + Lap int `json:"lap"` + PosX float64 `json:"x"` + PosY float64 `json:"y"` + SpeedKph float64 `json:"speed_kph"` + RPM int `json:"rpm"` + Gear int16 `json:"gear"` + Throttle float32 `json:"throttle"` + Brake float32 `json:"brake"` + DRS bool `json:"drs"` + BestLapMs int `json:"best_lap_ms"` + LastLapMs int `json:"last_lap_ms"` +} + +type sessionInfo struct { + SessionID int64 `json:"session_id"` + Name string `json:"name"` + Track string `json:"track"` + TotalLaps int `json:"total_laps"` +} + +type stateSnapshot struct { + Session sessionInfo `json:"session"` + Cars []carState `json:"cars"` + StampMs int64 `json:"stamp_ms"` +} + +// --- Handlers ------------------------------------------------------------- + +func (s *Server) handleIndex(w http.ResponseWriter, r *http.Request) { + if r.URL.Path != "/" { + http.NotFound(w, r) + return + } + if err := s.tpl.ExecuteTemplate(w, "index.html", nil); err != nil { + log.Printf("template: %v", err) + } +} + +// handleTrackJSON returns the track polyline plus finish-line geometry so +// the client can render the SVG once per session. The track is stored in +// the DB only as session.track (display name); the geometry is regenerated +// deterministically server-side from the matching preset in +// internal/sim/track.go. +// +// The finish_line field contains the start/finish point and a unit normal +// vector pointing perpendicular to the racing line at that point, so the +// client can rotate a checkered marker into place without having to figure +// out the tangent itself. +func (s *Server) handleTrackJSON(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + + var trackName string + err := s.Pool.QueryRow(ctx, ` + SELECT track FROM sessions + ORDER BY (ended_at IS NULL) DESC, started_at DESC + LIMIT 1 + `).Scan(&trackName) + if err != nil { + // No session yet — fall back to the default preset so the page + // still loads with something visible. + trackName = sim.Presets[0].Display + } + t := sim.GenerateTrack(trackName, 240) + + pts := make([][2]float64, len(t.Points)) + for i, p := range t.Points { + pts[i] = [2]float64{p.X, p.Y} + } + + // Unit normal to the racing line at trackPos = 0, pointing "left" of the + // direction of travel. Used by the client to orient the checkered band. + p0 := t.Points[0] + p1 := t.Points[1%len(t.Points)] + dx := p1.X - p0.X + dy := p1.Y - p0.Y + norm := math.Hypot(dx, dy) + if norm == 0 { + norm = 1 + } + nx, ny := -dy/norm, dx/norm + + w.Header().Set("Content-Type", "application/json") + _ = json.NewEncoder(w).Encode(map[string]any{ + "points": pts, + "track_name": t.Name, + "finish_line": map[string]float64{ + "x": p0.X, + "y": p0.Y, + "nx": nx, + "ny": ny, + }, + }) +} + +// handleSSE streams a JSON snapshot of the live race state every 200ms. +// +// This is the panel that demonstrates "concurrent ingest + analytic reads on +// the same table." Each tick we run a window-function query over `telemetry` +// to pick the latest row per driver while the simulator is still INSERTing. +func (s *Server) handleSSE(w http.ResponseWriter, r *http.Request) { + flusher, ok := w.(http.Flusher) + if !ok { + http.Error(w, "streaming not supported", http.StatusInternalServerError) + return + } + w.Header().Set("Content-Type", "text/event-stream") + w.Header().Set("Cache-Control", "no-cache") + w.Header().Set("Connection", "keep-alive") + w.Header().Set("X-Accel-Buffering", "no") + + ctx := r.Context() + tick := time.NewTicker(200 * time.Millisecond) + defer tick.Stop() + + // Initial push. + if err := s.pushSnapshot(ctx, w, flusher); err != nil { + return + } + for { + select { + case <-ctx.Done(): + return + case <-tick.C: + if err := s.pushSnapshot(ctx, w, flusher); err != nil { + return + } + } + } +} + +func (s *Server) pushSnapshot(ctx context.Context, w http.ResponseWriter, f http.Flusher) error { + snap, err := s.loadSnapshot(ctx) + if err != nil { + // Skip this tick on error but keep the stream open. + log.Printf("snapshot: %v", err) + return nil + } + buf, err := json.Marshal(snap) + if err != nil { + return err + } + if _, err := fmt.Fprintf(w, "data: %s\n\n", buf); err != nil { + return err + } + f.Flush() + return nil +} + +// loadSnapshot picks the live session and runs one query that returns the +// most recent telemetry row per driver, joined with driver metadata, plus +// their best / last lap times. +// +// Query notes: +// - DISTINCT ON (driver_id) ... ORDER BY driver_id, ts DESC matches the +// telemetry_session_driver_ts_idx index. +// - The laps lookup is cheap because the table is small relative to telemetry. +// +// CedarDB executes both reads concurrently with the simulator's INSERTs, +// which is the differentiator we want to showcase. +func (s *Server) loadSnapshot(ctx context.Context) (stateSnapshot, error) { + // Latest live (not-yet-ended) session, falling back to most recent. + var sess sessionInfo + err := s.Pool.QueryRow(ctx, ` + SELECT session_id, name, track, total_laps + FROM sessions + ORDER BY (ended_at IS NULL) DESC, started_at DESC + LIMIT 1 + `).Scan(&sess.SessionID, &sess.Name, &sess.Track, &sess.TotalLaps) + if err != nil { + return stateSnapshot{}, err + } + + rows, err := s.Pool.Query(ctx, ` + WITH latest AS ( + SELECT DISTINCT ON (driver_id) + driver_id, ts, lap, pos_x, pos_y, speed_kph, + rpm, gear, throttle, brake, drs + FROM telemetry + WHERE session_id = $1 + ORDER BY driver_id, ts DESC + ), + lap_stats AS ( + SELECT driver_id, + MIN(lap_time_ms) AS best_lap_ms, + (ARRAY_AGG(lap_time_ms ORDER BY lap_number DESC))[1] AS last_lap_ms + FROM laps + WHERE session_id = $1 + GROUP BY driver_id + ) + SELECT d.driver_id, d.code, d.team, d.color_hex, + l.lap, l.pos_x, l.pos_y, l.speed_kph, + l.rpm, l.gear, l.throttle, l.brake, l.drs, + COALESCE(s.best_lap_ms, 0), COALESCE(s.last_lap_ms, 0) + FROM latest l + JOIN drivers d ON d.driver_id = l.driver_id + LEFT JOIN lap_stats s ON s.driver_id = l.driver_id + ORDER BY d.driver_id + `, sess.SessionID) + if err != nil { + return stateSnapshot{}, err + } + defer rows.Close() + + cars := make([]carState, 0, 20) + for rows.Next() { + var c carState + if err := rows.Scan( + &c.DriverID, &c.Code, &c.Team, &c.Color, + &c.Lap, &c.PosX, &c.PosY, &c.SpeedKph, + &c.RPM, &c.Gear, &c.Throttle, &c.Brake, &c.DRS, + &c.BestLapMs, &c.LastLapMs, + ); err != nil { + return stateSnapshot{}, err + } + cars = append(cars, c) + } + return stateSnapshot{ + Session: sess, + Cars: cars, + StampMs: time.Now().UnixMilli(), + }, rows.Err() +} + +// handleLeaderboard is an HTMX-friendly HTML fragment returning a sorted +// leaderboard. The client polls this via hx-trigger="every 500ms". +func (s *Server) handleLeaderboard(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + + var sessID int64 + if err := s.Pool.QueryRow(ctx, ` + SELECT session_id FROM sessions + ORDER BY (ended_at IS NULL) DESC, started_at DESC LIMIT 1 + `).Scan(&sessID); err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + // "Race position" here is a simple approximation: lap * 1.0 + track_pos. + // Real F1 would use sector crossings, but this is good enough for a demo. + rows, err := s.Pool.Query(ctx, ` + WITH latest AS ( + SELECT DISTINCT ON (driver_id) + driver_id, ts, lap, track_pos + FROM telemetry + WHERE session_id = $1 + ORDER BY driver_id, ts DESC + ), + lap_stats AS ( + SELECT driver_id, + MIN(lap_time_ms) AS best_lap_ms, + MAX(lap_number) AS max_lap_number + FROM laps WHERE session_id = $1 GROUP BY driver_id + ), + last_lap AS ( + SELECT lp.driver_id, lp.lap_time_ms AS last_lap_ms + FROM laps lp + JOIN lap_stats ls + ON ls.driver_id = lp.driver_id + AND ls.max_lap_number = lp.lap_number + WHERE lp.session_id = $1 + ) + SELECT d.code, d.team, d.color_hex, + l.lap, l.track_pos, + COALESCE(s.best_lap_ms, 0), COALESCE(ll.last_lap_ms, 0), + (MAX(l.lap + l.track_pos) OVER () - (l.lap + l.track_pos)) AS gap_laps + FROM latest l + JOIN drivers d ON d.driver_id = l.driver_id + LEFT JOIN lap_stats s ON s.driver_id = l.driver_id + LEFT JOIN last_lap ll ON ll.driver_id = l.driver_id + ORDER BY (l.lap + l.track_pos) DESC + `, sessID) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + defer rows.Close() + + type row struct { + Pos int + Code string + Team string + Color string + Lap int + Best string + Last string + Gap string + } + var out []row + leaderLastMs := 0 + i := 0 + for rows.Next() { + i++ + var ( + code, team, color string + lap int + tp, gapLaps float64 + best, last int + ) + if err := rows.Scan(&code, &team, &color, &lap, &tp, &best, &last, &gapLaps); err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + if i == 1 { + leaderLastMs = last + } + out = append(out, row{ + Pos: i, + Code: code, + Team: team, + Color: color, + Lap: lap, + Best: fmtLap(best), + Last: fmtLap(last), + Gap: fmtGap(i, gapLaps, leaderLastMs), + }) + } + w.Header().Set("Content-Type", "text/html; charset=utf-8") + if err := s.tpl.ExecuteTemplate(w, "leaderboard.html", out); err != nil { + log.Printf("leaderboard tpl: %v", err) + } +} + +// handleSpeedMap returns avg speed per 1%-of-lap bucket across the whole +// session — a 100-row aggregation over the hot `telemetry` table that the +// simulator is INSERTing into. The dashboard polls this every few seconds +// and renders the result as a colored ribbon along the racing line, so the +// audience can watch the analytical query refresh against the same table +// the inserts are hitting. +func (s *Server) handleSpeedMap(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + var sessID int64 + if err := s.Pool.QueryRow(ctx, ` + SELECT session_id FROM sessions + ORDER BY (ended_at IS NULL) DESC, started_at DESC LIMIT 1 + `).Scan(&sessID); err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + rows, err := s.Pool.Query(ctx, ` + SELECT WIDTH_BUCKET(track_pos, 0, 1, 100) AS bucket, + AVG(speed_kph) AS avg_kph, + COUNT(*) AS samples + FROM telemetry + WHERE session_id = $1 + GROUP BY bucket + ORDER BY bucket + `, sessID) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + defer rows.Close() + + type bucket struct { + Bucket int `json:"bucket"` + AvgKph float64 `json:"avg_kph"` + Samples int64 `json:"samples"` + } + var out []bucket + for rows.Next() { + var b bucket + if err := rows.Scan(&b.Bucket, &b.AvgKph, &b.Samples); err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + out = append(out, b) + } + w.Header().Set("Content-Type", "application/json") + _ = json.NewEncoder(w).Encode(map[string]any{"buckets": out}) +} + +// handleIngestRate returns the recent ingest rate and cumulative row count +// for the live session — a tiny query that's deliberately cheap to run, but +// whose entire point is to demonstrate the database measuring itself while +// it's also handling the simulator's INSERT stream. The dashboard polls this +// once per second and displays it in the footer. +func (s *Server) handleIngestRate(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + var sessID int64 + if err := s.Pool.QueryRow(ctx, ` + SELECT session_id FROM sessions + ORDER BY (ended_at IS NULL) DESC, started_at DESC LIMIT 1 + `).Scan(&sessID); err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + var rowsLast1s, totalRows int64 + err := s.Pool.QueryRow(ctx, ` + SELECT + COUNT(*) FILTER (WHERE ts > now() - interval '1 second') AS rows_last_1s, + COUNT(*) AS total_rows + FROM telemetry + WHERE session_id = $1 + `, sessID).Scan(&rowsLast1s, &totalRows) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + w.Header().Set("Content-Type", "application/json") + _ = json.NewEncoder(w).Encode(map[string]any{ + "rows_per_sec": rowsLast1s, + "total_rows": totalRows, + }) +} + +func fmtLap(ms int) string { + if ms <= 0 { + return "—" + } + m := ms / 60000 + rem := ms - m*60000 + sec := rem / 1000 + frac := rem - sec*1000 + if m > 0 { + return strconv.Itoa(m) + ":" + zPad(sec, 2) + "." + zPad(frac, 3) + } + return strconv.Itoa(sec) + "." + zPad(frac, 3) +} + +// fmtGap formats a "gap to leader" cell for the leaderboard. Inputs: +// - pos: 1-based finishing-order position (1 = leader). +// - gapLaps: gap in lap-fractions (leader_pos - this_pos), so 0.05 = 5% +// of a lap. +// - leaderLastMs: the leader's most recent lap time in ms, used to convert +// gapLaps into seconds. If 0 (leader hasn't completed a lap yet), the +// gap is shown as a lap-fraction instead. +// +// Output: +// - "—" for the leader +// - "+N LAP[S]" when at least one full lap behind +// - "+S.SSSs" using the leader's lap time when available +// - "+0.XXX L" as a fallback when the leader hasn't set a lap yet +func fmtGap(pos int, gapLaps float64, leaderLastMs int) string { + if pos == 1 { + return "—" + } + if gapLaps >= 1.0 { + n := int(gapLaps) + if n == 1 { + return "+1 LAP" + } + return "+" + strconv.Itoa(n) + " LAPS" + } + if leaderLastMs > 0 { + gapSec := gapLaps * float64(leaderLastMs) / 1000.0 + // "+S.SSSs" — show three decimals for small gaps to read like F1 TV. + whole := int(gapSec) + frac := int((gapSec - float64(whole)) * 1000) + return "+" + strconv.Itoa(whole) + "." + zPad(frac, 3) + "s" + } + // No leader lap time yet — fall back to fractional lap. + whole := int(gapLaps) + frac := int((gapLaps - float64(whole)) * 1000) + return "+" + strconv.Itoa(whole) + "." + zPad(frac, 3) + " L" +} + +func zPad(n, width int) string { + s := strconv.Itoa(n) + for len(s) < width { + s = "0" + s + } + return s +} diff --git a/f1-telemetry/internal/web/static/cedardb-logo.svg b/f1-telemetry/internal/web/static/cedardb-logo.svg new file mode 100644 index 0000000..192623c --- /dev/null +++ b/f1-telemetry/internal/web/static/cedardb-logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/f1-telemetry/internal/web/static/checkered-flag.svg b/f1-telemetry/internal/web/static/checkered-flag.svg new file mode 100644 index 0000000..e8ae19c --- /dev/null +++ b/f1-telemetry/internal/web/static/checkered-flag.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/f1-telemetry/internal/web/static/queries.html b/f1-telemetry/internal/web/static/queries.html new file mode 100644 index 0000000..2af659e --- /dev/null +++ b/f1-telemetry/internal/web/static/queries.html @@ -0,0 +1,538 @@ + + + + +SQL Queries — F1 Telemetry CedarDB Demo + + + + + + + + +
    +

    SQL queries · F1 telemetry × CedarDB

    + every statement the simulator and dashboard run, what role it plays, and how often it fires. +
    + +

    + The demo's headline story is concurrent OLTP+OLAP on the same table. + The simulator streams ~200 rows/second into telemetry via the Postgres + COPY protocol; the dashboard runs five different read queries against the + same table — at refresh rates from 200 ms to 3 s — with no replicas, no + ETL, and no batching. This page is the working catalog of those queries. +

    + + + + + + + + + + + + + + + + + + + + + + + + +
    PhaseQuerySourceCadenceTables
    WCreate sessionsimulator.NewSimulatoronce / racesessions
    WSeed drivers (batch upsert)simulator.NewSimulator20 / racedrivers
    WRace-start eventsimulator.Runonce / raceevents
    WTelemetry bulk INSERT (COPY)simulator.Run10 Hz · 20 rows / ticktelemetry
    WLap-completed INSERTsimulator.insertLap~1 000 / racelaps
    WEnd sessionsimulator.endSessiononce / racesessions
    RPick current session5 endpoints share this4–5 / s combinedsessions
    RSSE state snapshotweb.loadSnapshot5 Hz (every 200 ms)telemetry · laps · drivers
    RLeaderboard with gap to leaderweb.handleLeaderboard2 Hz (every 500 ms)telemetry · laps · drivers
    RSpeed-map heatmapweb.handleSpeedMap0.33 Hz (every 3 s)telemetry
    RLive ingest rateweb.handleIngestRate1 Hztelemetry
    + +

    Write path · Simulator → CedarDB6 statements

    + +
    + +
    +
    +

    §2Seed drivers (batch upsert)

    +
    + internal/sim/simulator.go · NewSimulator() + runs: 20 statements in one pgx Batch, once at race start + tables: drivers +
    +
    +
    INSERT INTO drivers (driver_id, code, full_name, team, car_number, color_hex)
    +VALUES ($1, $2, $3, $4, $5, $6)
    +ON CONFLICT (driver_id) DO UPDATE SET
    +    code       = EXCLUDED.code,
    +    full_name  = EXCLUDED.full_name,
    +    team       = EXCLUDED.team,
    +    car_number = EXCLUDED.car_number,
    +    color_hex  = EXCLUDED.color_hex;
    +
    +

    Idempotent upsert. The drivers table is small, fixed (20 rows), and never written + to during the race — it's separated from the hot fact table on purpose. Running this + in a pgx.Batch keeps the round-trip cost to one network turn.

    +
    +
    + +
    +
    +

    §3Race-start event

    +
    + internal/sim/simulator.go · Run() + runs: once at race start + tables: events +
    +
    +
    INSERT INTO events (session_id, ts, kind, detail)
    +VALUES ($1, now(), 'race_start', $2);
    +
    +

    The events table is a low-volume audit log indexed + (session_id, ts DESC). kind is intended for an extensible set of + values — 'race_start', 'fastest_lap', 'overtake', + 'drs_open', etc. — though only race_start is wired in today. + Good spot to hang future "what just happened" tickers off.

    +
    +
    + +
    +
    +

    §4Telemetry bulk INSERT (COPY)

    +
    + internal/sim/simulator.go · Run() + runs: every tick — default 10 Hz × 20 rows = ~200 rows / second + tables: telemetry (hot) +
    +
    +
    pool.CopyFrom(ctx,
    +    pgx.Identifier{"telemetry"},
    +    []string{"session_id", "driver_id", "ts", "lap",
    +             "track_pos", "pos_x", "pos_y", "speed_kph",
    +             "rpm", "gear", "throttle", "brake", "drs"},
    +    pgx.CopyFromRows(tele),
    +)
    +
    +

    This is the workload the demo is built around. pgx's CopyFrom uses + the Postgres COPY FROM STDIN binary protocol over the wire — bypassing + the parser entirely, much cheaper than 20 separate INSERTs per tick. + Every read query on this page is competing with this stream of writes against the + same table; the headline of the demo is that none of them block.

    +

    Indexes maintained on every row: (session_id, driver_id, ts DESC) and (session_id, ts DESC).

    +
    +
    + +
    +
    +

    §5Lap-completed INSERT

    +
    + internal/sim/simulator.go · insertLap() + runs: once per car per lap — ~1 000 inserts over a 50-lap race + tables: laps +
    +
    +
    INSERT INTO laps (session_id, driver_id, lap_number, lap_time_ms,
    +                  sector1_ms, sector2_ms, sector3_ms, finished_at)
    +VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
    +ON CONFLICT DO NOTHING;
    +
    +

    Conflict target is the natural primary key (session_id, driver_id, lap_number). + ON CONFLICT DO NOTHING makes retries safe — handy because a transient error + in the lap insert shouldn't kill the simulator. laps is small relative to + telemetry, but it's the authoritative source of Best/Last lap times for + the leaderboard.

    +
    +
    + +
    +
    +

    §6End session

    +
    + internal/sim/simulator.go · endSession() + runs: once at race finish or context cancellation + tables: sessions +
    +
    +
    UPDATE sessions
    +SET ended_at = now()
    +WHERE session_id = $1;
    +
    +

    ended_at IS NULL is how every read endpoint distinguishes a live race + from a completed one — see the ORDER BY (ended_at IS NULL) DESC, started_at DESC + pattern in §7. A simulator that crashes mid-race will leave this NULL, which is why + the read queries fall back to "most-recent" rather than panicking.

    +
    +
    + +

    Read path · Dashboard ← CedarDB5 distinct queries

    + +
    +
    +

    §7Pick the current session

    +
    + server.go · shared by 5 endpoints + runs: 4–5 times per second combined across endpoints + tables: sessions +
    +
    +
    SELECT session_id, name, track, total_laps
    +FROM sessions
    +ORDER BY (ended_at IS NULL) DESC,
    +         started_at DESC
    +LIMIT 1;
    +
    +

    Boolean-as-sort-key trick: (ended_at IS NULL) DESC ranks unended (live) + sessions above ended ones, and started_at DESC tiebreaks among each + group. So the dashboard automatically follows whichever race is live right now, or + falls back to the most-recently-finished session if none is live. Used by + handleTrackJSON, loadSnapshot, handleLeaderboard, + handleSpeedMap, and handleIngestRate.

    +
    +
    + +
    +
    +

    §8SSE state snapshot

    +
    + internal/web/server.go · loadSnapshot() + runs: every 200 ms per connected browser + tables: telemetry · laps · drivers +
    +
    +
    WITH latest AS (
    +    SELECT DISTINCT ON (driver_id)
    +           driver_id, ts, lap, pos_x, pos_y, speed_kph,
    +           rpm, gear, throttle, brake, drs
    +    FROM telemetry
    +    WHERE session_id = $1
    +    ORDER BY driver_id, ts DESC
    +),
    +lap_stats AS (
    +    SELECT driver_id,
    +           MIN(lap_time_ms)                                       AS best_lap_ms,
    +           (ARRAY_AGG(lap_time_ms ORDER BY lap_number DESC))[1]   AS last_lap_ms
    +    FROM laps
    +    WHERE session_id = $1
    +    GROUP BY driver_id
    +)
    +SELECT d.driver_id, d.code, d.team, d.color_hex,
    +       l.lap, l.pos_x, l.pos_y, l.speed_kph,
    +       l.rpm, l.gear, l.throttle, l.brake, l.drs,
    +       COALESCE(s.best_lap_ms, 0), COALESCE(s.last_lap_ms, 0)
    +FROM latest l
    +JOIN drivers d ON d.driver_id = l.driver_id
    +LEFT JOIN lap_stats s ON s.driver_id = l.driver_id
    +ORDER BY d.driver_id;
    +
    +

    The centerpiece query. DISTINCT ON (driver_id) … ORDER BY driver_id, ts DESC + returns exactly one row per driver — their most recent telemetry sample — supported + by the telemetry_session_driver_ts_idx index (session_id, driver_id, ts DESC) + so the planner can do an index-only seek per group rather than scanning the partition. + The lap_stats CTE pulls Best/Last from the smaller laps table, + joined back in for the per-car telemetry panel.

    +

    Note: the SSE feed's Best/Last fields aren't currently surfaced in the UI; + that's why this query still uses the original ARRAY_AGG(... ORDER BY ...)[1] + construct. If you ever wire those fields into the per-car panel, mirror the + MAX(lap_number) + self-join rewrite from §9 to stay portable across + Postgres-compatible engines that may not honor ORDER BY inside aggregates.

    +
    +
    + +
    +
    +

    §9Leaderboard with gap-to-leader

    +
    + internal/web/server.go · handleLeaderboard() + runs: every 500 ms (HTMX polling) + tables: telemetry · laps · drivers +
    +
    +
    WITH latest AS (
    +    SELECT DISTINCT ON (driver_id)
    +           driver_id, ts, lap, track_pos
    +    FROM telemetry
    +    WHERE session_id = $1
    +    ORDER BY driver_id, ts DESC
    +),
    +lap_stats AS (
    +    SELECT driver_id,
    +           MIN(lap_time_ms) AS best_lap_ms,
    +           MAX(lap_number)  AS max_lap_number
    +    FROM laps
    +    WHERE session_id = $1
    +    GROUP BY driver_id
    +),
    +last_lap AS (
    +    SELECT lp.driver_id, lp.lap_time_ms AS last_lap_ms
    +    FROM laps lp
    +    JOIN lap_stats ls
    +      ON ls.driver_id      = lp.driver_id
    +     AND ls.max_lap_number = lp.lap_number
    +    WHERE lp.session_id = $1
    +)
    +SELECT d.code, d.team, d.color_hex,
    +       l.lap, l.track_pos,
    +       COALESCE(s.best_lap_ms, 0),
    +       COALESCE(ll.last_lap_ms, 0),
    +       (MAX(l.lap + l.track_pos) OVER ()
    +         - (l.lap + l.track_pos))                AS gap_laps
    +FROM latest l
    +JOIN drivers d ON d.driver_id = l.driver_id
    +LEFT JOIN lap_stats s ON s.driver_id = l.driver_id
    +LEFT JOIN last_lap  ll ON ll.driver_id = l.driver_id
    +ORDER BY (l.lap + l.track_pos) DESC;
    +
    +

    Three CTEs plus a window function in a single round-trip. lap_stats + + last_lap together replace the (ARRAY_AGG(... ORDER BY lap_number DESC))[1] + construct from §8 — the rewrite is more portable across engines that may not honor + ORDER BY inside an aggregate. MAX(l.lap + l.track_pos) OVER () + is the magic that gives every row the leader's race position, so the app can compute + "gap to leader" in lap-fractions; Go-side, the leader's last lap time is captured from + the first scanned row and used to convert lap-fractions into seconds for F1-TV-style + +1.234s formatting.

    +

    Returns: 20 rows. Rendered into an HTML fragment by Go's html/template + and swapped into the leaderboard panel by HTMX.

    +
    +
    + +
    +
    +

    §10Speed-map heatmap

    +
    + internal/web/server.go · handleSpeedMap() + runs: every 3 seconds + tables: telemetry +
    +
    +
    SELECT WIDTH_BUCKET(track_pos, 0, 1, 100) AS bucket,
    +       AVG(speed_kph)                    AS avg_kph,
    +       COUNT(*)                          AS samples
    +FROM telemetry
    +WHERE session_id = $1
    +GROUP BY bucket
    +ORDER BY bucket;
    +
    +

    The OLAP-flavoured one. Scans every telemetry row for the session — no + DISTINCT ON shortcut — and bins by 1%-of-lap track_pos. Returns up to + 100 rows. The dashboard pollers turn it into the colored ribbon laid along the + racing line on the track map.

    +

    The query gets more work to do as the race progresses (more telemetry + rows accumulate), which makes for a good "watch the database absorb the workload" + demo — pair it with §11 to show the simulator's writes keep ticking at full speed + regardless. Portability fallback: if your engine doesn't have + WIDTH_BUCKET, swap to + LEAST(99, FLOOR(track_pos * 100)::int) + 1 AS bucket — same semantics, + simpler arithmetic.

    +
    +
    + +
    +
    +

    §11Live ingest rate (meta-query)

    +
    + internal/web/server.go · handleIngestRate() + runs: every 1 second + tables: telemetry +
    +
    +
    SELECT
    +    COUNT(*) FILTER (WHERE ts > now() - interval '1 second') AS rows_last_1s,
    +    COUNT(*)                                                  AS total_rows
    +FROM telemetry
    +WHERE session_id = $1;
    +
    +

    The meta-query: the database is measuring its own ingest rate while continuing + to ingest. COUNT(*) FILTER (WHERE ...) is standard Postgres syntax that + computes both counts in a single index scan. Displayed in the dashboard footer so + the audience sees the row counter ticking up live, with every other panel still + refreshing concurrently.

    +

    Portability fallback: if FILTER isn't supported, rewrite as + two scalar subqueries against the same table — slightly less elegant but + universally compatible.

    +
    +
    + + + + diff --git a/f1-telemetry/internal/web/templates/index.html b/f1-telemetry/internal/web/templates/index.html new file mode 100644 index 0000000..0ce578d --- /dev/null +++ b/f1-telemetry/internal/web/templates/index.html @@ -0,0 +1,426 @@ + + + + +F1 Telemetry — CedarDB Live Demo + + + + +
    +

    + +   + + F1 TELEMETRY +

    +
    + Session · · + Lap 0/0 · + SSE every 200 ms · last frame +
    +
    + +
    +
    +

    Track Map · Live Positions

    + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    Leaderboard (Live)

    +
    +

    Waiting for data…

    +
    +
    +
    +

    Per-Car Telemetry

    +
    +
    +
    +
    + +
    + + INSERTs: — rows/sec · + — total · + same table also serving SSE, leaderboard, speed-map · CedarDB · + SQL queries ↗ + + connecting… +
    + + + + diff --git a/f1-telemetry/internal/web/templates/leaderboard.html b/f1-telemetry/internal/web/templates/leaderboard.html new file mode 100644 index 0000000..1911882 --- /dev/null +++ b/f1-telemetry/internal/web/templates/leaderboard.html @@ -0,0 +1,20 @@ + + + + + + + + {{range .}} + + + + + + + + + + {{end}} + +
    PDriverTeamLapGapLastBest
    {{.Pos}}{{.Code}}{{.Team}}{{.Lap}}{{.Gap}}{{.Last}}{{.Best}}
    diff --git a/f1-telemetry/internal/web/track.go b/f1-telemetry/internal/web/track.go new file mode 100644 index 0000000..936e64f --- /dev/null +++ b/f1-telemetry/internal/web/track.go @@ -0,0 +1,9 @@ +package web + +// This file used to host a helper that re-built the (then only) Cedar Park +// circuit. Now that internal/sim/track.go has multiple presets, the web +// server picks the correct preset based on the live session's stored track +// name (see handleTrackJSON in server.go), so no helper is needed. +// +// Kept as a placeholder so any external references to internal/web/track.go +// from earlier branches don't break compilation. Safe to delete. diff --git a/f1-telemetry/schema.sql b/f1-telemetry/schema.sql new file mode 100644 index 0000000..6ac4bdb --- /dev/null +++ b/f1-telemetry/schema.sql @@ -0,0 +1,15 @@ +-- This file has moved. +-- +-- The canonical schema now lives at internal/db/schema.sql +-- so it can be embedded directly into the simulator binary via +-- //go:embed (see internal/db/schema.go). The simulator applies it +-- automatically the first time it runs against an empty database, and +-- on demand via the `-reset-schema` flag. +-- +-- To apply it manually with psql: +-- psql "$DATABASE_URL" -f internal/db/schema.sql +-- +-- Or, if you have the CedarDB container running and prefer to use the +-- psql CLI bundled in its image: +-- docker exec -i f1-cedardb psql -U postgres -d cedar \ +-- < internal/db/schema.sql From 9d69c3268781623b36a0b1ea39c0a3ffcac57fa6 Mon Sep 17 00:00:00 2001 From: Michael Goddard Date: Fri, 22 May 2026 14:56:12 -0400 Subject: [PATCH 2/2] Resolving issues pointed out by Lukas for PR 22 --- f1-telemetry/internal/web/static/queries.html | 125 ++++++++++++++---- f1-telemetry/internal/web/track.go | 9 -- f1-telemetry/schema.sql | 15 --- 3 files changed, 99 insertions(+), 50 deletions(-) delete mode 100644 f1-telemetry/internal/web/track.go delete mode 100644 f1-telemetry/schema.sql diff --git a/f1-telemetry/internal/web/static/queries.html b/f1-telemetry/internal/web/static/queries.html index 2af659e..a5bb112 100644 --- a/f1-telemetry/internal/web/static/queries.html +++ b/f1-telemetry/internal/web/static/queries.html @@ -96,6 +96,7 @@ table.summary td a:hover { border-bottom-color: var(--accent); } table.summary .phase-W { color: var(--yellow); } table.summary .phase-R { color: var(--blue); } + table.summary .phase-S { color: var(--green); } article.query { background: var(--panel); border: 1px solid var(--line); @@ -174,14 +175,14 @@

    SQL queries · F1 telemetry × CedarDB

    - every statement the simulator and dashboard run, what role it plays, and how often it fires. + For each SQL statement run by the simulator or dashboard: the role it plays and how often it fires

    The demo's headline story is concurrent OLTP+OLAP on the same table. - The simulator streams ~200 rows/second into telemetry via the Postgres - COPY protocol; the dashboard runs five different read queries against the - same table — at refresh rates from 200 ms to 3 s — with no replicas, no + The simulator streams ~200 rows/second into the telemetry table; + the dashboard runs five different read queries against the + same table, at refresh rates from 200ms to 3s: no replicas, no ETL, and no batching. This page is the working catalog of those queries.

    @@ -196,13 +197,16 @@

    SQL queries · F1 telemetry × CedarDB

    + SSchema-presence probedb.SchemaPresentonce / cold startinformation_schema.tables + SApply schema (idempotent DDL)db.ApplySchemaonce / cold startsessions · drivers · telemetry · laps · events + SReset schema (destructive)db.ResetSchemaonly with -reset-schemaall 5 tables WCreate sessionsimulator.NewSimulatoronce / racesessions WSeed drivers (batch upsert)simulator.NewSimulator20 / racedrivers WRace-start eventsimulator.Runonce / raceevents WTelemetry bulk INSERT (COPY)simulator.Run10 Hz · 20 rows / ticktelemetry WLap-completed INSERTsimulator.insertLap~1 000 / racelaps WEnd sessionsimulator.endSessiononce / racesessions - RPick current session5 endpoints share this4–5 / s combinedsessions + RPick current session5 endpoints share this~8 / s combined / clientsessions RSSE state snapshotweb.loadSnapshot5 Hz (every 200 ms)telemetry · laps · drivers RLeaderboard with gap to leaderweb.handleLeaderboard2 Hz (every 500 ms)telemetry · laps · drivers RSpeed-map heatmapweb.handleSpeedMap0.33 Hz (every 3 s)telemetry @@ -210,6 +214,78 @@

    SQL queries · F1 telemetry × CedarDB

    +

    Setup path · Simulator startup3 stages

    + +
    +
    +

    §0.1Schema-presence probe

    +
    + internal/db/schema.go · SchemaPresent() + runs: once at simulator cold start + tables: information_schema.tables +
    +
    +
    SELECT (SELECT COUNT(*) FROM information_schema.tables
    +         WHERE table_name = 'sessions') = 1;
    +
    +

    A cheap "have I been here before?" check the simulator logs on every cold start. + Purely diagnostic — ApplySchema is called either way, since + every statement in schema.sql is guarded with + IF NOT EXISTS. We probe information_schema.tables on + purpose: it's SQL-standard and supported by CedarDB.

    +
    +
    + +
    +
    +

    §0.2Apply schema (idempotent DDL)

    +
    + internal/db/schema.go · ApplySchema() + runs: once at simulator cold start — ~10 statements + tables: sessions · drivers · telemetry · laps · events +
    +
    +
    CREATE TABLE IF NOT EXISTS sessions  ( … );
    +CREATE TABLE IF NOT EXISTS drivers   ( … );
    +CREATE TABLE IF NOT EXISTS telemetry ( … );
    +CREATE INDEX IF NOT EXISTS telemetry_session_driver_ts_idx
    +    ON telemetry (session_id, driver_id, ts DESC);
    +CREATE INDEX IF NOT EXISTS telemetry_session_ts_idx
    +    ON telemetry (session_id, ts DESC);
    +CREATE TABLE IF NOT EXISTS laps     ( … );
    +CREATE INDEX IF NOT EXISTS laps_session_lap_idx ON laps (session_id, lap_number);
    +CREATE TABLE IF NOT EXISTS events    ( … );
    +CREATE INDEX IF NOT EXISTS events_session_ts_idx ON events (session_id, ts DESC);
    +
    +

    The canonical schema lives in internal/db/schema.sql and is + embedded into the simulator binary via //go:embed.

    +

    Indexes created here are the ones every read query on this page relies + on: telemetry_session_driver_ts_idx drives §8 / §9's + DISTINCT ON (driver_id) seek; laps_session_lap_idx + backs §9's MAX(lap_number) + self-join lookup.

    +
    +
    + +
    +
    +

    §0.3Reset schema (destructive)

    +
    + internal/db/schema.go · ResetSchema() + runs: only when started with -reset-schema + tables: telemetry · laps · events · drivers · sessions +
    +
    +
    DROP TABLE IF EXISTS telemetry CASCADE;
    +DROP TABLE IF EXISTS laps      CASCADE;
    +DROP TABLE IF EXISTS events    CASCADE;
    +DROP TABLE IF EXISTS drivers   CASCADE;
    +DROP TABLE IF EXISTS sessions  CASCADE;
    +-- then re-runs §0.2 to recreate everything
    +
    +

    Wired behind the simulator's -reset-schema CLI flag so it's never called accidentally.

    +
    +
    +

    Write path · Simulator → CedarDB6 statements

    @@ -272,7 +348,7 @@

    §3Race-start event

    The events table is a low-volume audit log indexed (session_id, ts DESC). kind is intended for an extensible set of values — 'race_start', 'fastest_lap', 'overtake', - 'drs_open', etc. — though only race_start is wired in today. + 'drs_open', etc.; though only race_start is wired in today. Good spot to hang future "what just happened" tickers off.

    @@ -352,7 +428,7 @@

    Read path · Dashboard ← CedarDB5 distinct queries§7Pick the current session

    server.go · shared by 5 endpoints - runs: 4–5 times per second combined across endpoints + runs: ~8 times per second combined per connected client tables: sessions
    @@ -365,9 +441,19 @@

    §7Pick the current sessionBoolean-as-sort-key trick: (ended_at IS NULL) DESC ranks unended (live) sessions above ended ones, and started_at DESC tiebreaks among each group. So the dashboard automatically follows whichever race is live right now, or - falls back to the most-recently-finished session if none is live. Used by - handleTrackJSON, loadSnapshot, handleLeaderboard, - handleSpeedMap, and handleIngestRate.

    + falls back to the most-recently-finished session if none is live.

    +

    Cadence breakdown per connected browser: + loadSnapshot (SSE) at 5 Hz, + handleLeaderboard at 2 Hz, + handleIngestRate at 1 Hz, + handleSpeedMap at ~0.33 Hz, + plus handleTrackJSON once on initial page load. + That's the "~8 / s combined" figure in the cadence tag.

    +

    One variant worth knowing about: handleTrackJSON uses the + same ORDER BY (ended_at IS NULL) DESC, started_at DESC LIMIT 1 + pattern but projects a single column — SELECT track FROM sessions … + — because all it needs is the track display name to regenerate the polyline + geometry server-side. Same plan, smaller payload.

    @@ -411,11 +497,6 @@

    §8SSE state snapshot

    so the planner can do an index-only seek per group rather than scanning the partition. The lap_stats CTE pulls Best/Last from the smaller laps table, joined back in for the per-car telemetry panel.

    -

    Note: the SSE feed's Best/Last fields aren't currently surfaced in the UI; - that's why this query still uses the original ARRAY_AGG(... ORDER BY ...)[1] - construct. If you ever wire those fields into the per-car panel, mirror the - MAX(lap_number) + self-join rewrite from §9 to stay portable across - Postgres-compatible engines that may not honor ORDER BY inside aggregates.

    @@ -463,10 +544,8 @@

    §9Leaderboard with gap-to-lead LEFT JOIN last_lap ll ON ll.driver_id = l.driver_id ORDER BY (l.lap + l.track_pos) DESC;
    -

    Three CTEs plus a window function in a single round-trip. lap_stats - + last_lap together replace the (ARRAY_AGG(... ORDER BY lap_number DESC))[1] - construct from §8 — the rewrite is more portable across engines that may not honor - ORDER BY inside an aggregate. MAX(l.lap + l.track_pos) OVER () +

    Three CTEs plus a window function in a single round-trip. + MAX(l.lap + l.track_pos) OVER () is the magic that gives every row the leader's race position, so the app can compute "gap to leader" in lap-fractions; Go-side, the leader's last lap time is captured from the first scanned row and used to convert lap-fractions into seconds for F1-TV-style @@ -500,10 +579,7 @@

    §10Speed-map heatmap

    The query gets more work to do as the race progresses (more telemetry rows accumulate), which makes for a good "watch the database absorb the workload" demo — pair it with §11 to show the simulator's writes keep ticking at full speed - regardless. Portability fallback: if your engine doesn't have - WIDTH_BUCKET, swap to - LEAST(99, FLOOR(track_pos * 100)::int) + 1 AS bucket — same semantics, - simpler arithmetic.

    + regardless.

    @@ -527,9 +603,6 @@

    §11Live ingest rate (meta-que computes both counts in a single index scan. Displayed in the dashboard footer so the audience sees the row counter ticking up live, with every other panel still refreshing concurrently.

    -

    Portability fallback: if FILTER isn't supported, rewrite as - two scalar subqueries against the same table — slightly less elegant but - universally compatible.

    diff --git a/f1-telemetry/internal/web/track.go b/f1-telemetry/internal/web/track.go deleted file mode 100644 index 936e64f..0000000 --- a/f1-telemetry/internal/web/track.go +++ /dev/null @@ -1,9 +0,0 @@ -package web - -// This file used to host a helper that re-built the (then only) Cedar Park -// circuit. Now that internal/sim/track.go has multiple presets, the web -// server picks the correct preset based on the live session's stored track -// name (see handleTrackJSON in server.go), so no helper is needed. -// -// Kept as a placeholder so any external references to internal/web/track.go -// from earlier branches don't break compilation. Safe to delete. diff --git a/f1-telemetry/schema.sql b/f1-telemetry/schema.sql deleted file mode 100644 index 6ac4bdb..0000000 --- a/f1-telemetry/schema.sql +++ /dev/null @@ -1,15 +0,0 @@ --- This file has moved. --- --- The canonical schema now lives at internal/db/schema.sql --- so it can be embedded directly into the simulator binary via --- //go:embed (see internal/db/schema.go). The simulator applies it --- automatically the first time it runs against an empty database, and --- on demand via the `-reset-schema` flag. --- --- To apply it manually with psql: --- psql "$DATABASE_URL" -f internal/db/schema.sql --- --- Or, if you have the CedarDB container running and prefer to use the --- psql CLI bundled in its image: --- docker exec -i f1-cedardb psql -U postgres -d cedar \ --- < internal/db/schema.sql

    +
    +

    §1Create session

    +
    + internal/sim/simulator.go · NewSimulator() + runs: once at race start + tables: sessions +
    +
    +
    INSERT INTO sessions (name, track, total_laps)
    +VALUES ($1, $2, $3)
    +RETURNING session_id;
    +
    +

    Allocates the BIGSERIAL session_id that every downstream write carries + as its tenant key. track is the human display name of the preset chosen + by the -track CLI flag (e.g. "Cedar Park Circuit") — the dashboard + reads it back later and uses it to regenerate matching geometry on the client side, + so we never persist the polyline itself.

    +
    +