This is not the InfluxDB UI. InfluxDB serves its own interface on port 8086, which is where you go to see raw measurements. The dashboard shows named signals only, so a kart with nothing decodable looks blank here while being clearly busy there. See Troubleshooting.
The Three Screens
An Angular application, served by nginx, with three routes:How It Reaches The API
nginx serves the built application and proxies/api/ through to exporter_api:5432 inside the compose network. So the browser only ever talks to port 4200, and the API is not exposed to the track network by the dashboard.
Caching is disabled everywhere in that nginx configuration, for static files and proxied API calls alike, and proxy timeouts are set to a day. The long timeouts matter: an export of a full day of charging data is a single request that can legitimately take a very long time.
Monitoring
The monitor screen ticks every second. It treats a kart as connected if it has been seen in the last 60 seconds, and each kart’s battery tile comes from the API’s stats endpoint, which looks back 15 minutes and flags data older than 2 minutes as stale rather than hiding it.That distinction is deliberate and worth knowing when reading the screen. A kart showing values that are quietly out of date is a different fault from a kart showing nothing, and the API tells the dashboard which it is. See Exporter API.
Exporting
The export screen drives the whole export sequence, one API call per step, and it is the operator’s responsibility to run it before the day is stopped. The steps and what each one does to the data are covered in Charging Export.What It Talks To Directly
The dashboard is not purely a client of the exporter API. It also calls the TalentID API from the browser, for events and for the sessions in an event, which is how the export screen knows what event a window belongs to.Regions
The region selector is populated from the API’s/regions endpoint, which returns the machine’s own region and the full list of regions it knows about. Both come from environment variables on the container, so a machine that is missing them fails that call rather than defaulting.
Key Files
All paths are undertelemetry/telemetry-web-app/ in can-wifi.
