|
| 1 | +# TeslaSync Grafana Dashboard Coverage |
| 2 | + |
| 3 | +Source of truth for operators: repo JSON + `python scripts/sync_grafana_dashboards.py`. |
| 4 | +Helm only ships SLO/RUM dashboards (`helm/teslasync/files/grafana/dashboards/`); everything |
| 5 | +below lives in `grafana/dashboards/{system,infra,science}/` and is provisioned via |
| 6 | +`grafana/provisioning/dashboards/dashboards.yml` (compose) or the sync script (production). |
| 7 | + |
| 8 | +Conventions: queries are SI (`_m`, `_mps`, `_wh`, `_w`, `_kpa`, `°C` as stored). |
| 9 | +Display conversion happens in panel units or the settings-backed SQL converters |
| 10 | +(`convert_distance_m`, `convert_speed_mps`, `convert_pressure_pa`, `convert_temp`). |
| 11 | +No `_mi/_mph/_kwh` columns in new SQL. |
| 12 | + |
| 13 | +## Current inventory (77 dashboards — do not clone or duplicate UIDs) |
| 14 | + |
| 15 | +The base inventory below contains 61 dashboards; the coverage table records |
| 16 | +the 16 additions (14 system, one infra, one science). |
| 17 | + |
| 18 | +### System (`TeslaSync - System`, 59 files; 45 base files below) |
| 19 | + |
| 20 | +| File | UID | Title | |
| 21 | +| ---- | --- | ----- | |
| 22 | +| alerts-notifications.json | teslasync-alerts-notifications | Alerts & Notifications | |
| 23 | +| anomaly-detection.json | teslasync-anomaly-detection | Anomaly Detection | |
| 24 | +| battery-cells.json | teslasync-battery-cells | Battery Cells | |
| 25 | +| battery-degradation.json | teslasync-battery-degradation | Battery Degradation | |
| 26 | +| battery-health.json | teslasync-battery-health | Battery Health | |
| 27 | +| charging-curve.json | teslasync-charging-curve | Charging Curve | |
| 28 | +| charging-driving-correlation.json | teslasync-charging-driving | Charging vs Driving | |
| 29 | +| charging-heatmap.json | teslasync-charging-heatmap | Charging Heatmap | |
| 30 | +| charging-sessions.json | teslasync-charging-sessions | Charging Sessions | |
| 31 | +| charging-stats.json | teslasync-charging-stats | Charging Analytics | |
| 32 | +| charging.json | teslasync-charging | Charging History | |
| 33 | +| climate-hvac.json | teslasync-climate-hvac | Climate & HVAC | |
| 34 | +| comfort-media.json | teslasync-comfort-media | Comfort & Media | |
| 35 | +| compare.json | teslasync-compare | Change Delta Stats | |
| 36 | +| cost-analysis.json | teslasync-cost-analysis | Cost Analysis | |
| 37 | +| drive-detail.json | teslasync-drive-detail | Drive Detail | |
| 38 | +| drive-score.json | teslasync-drive-score | Drive Scores | |
| 39 | +| drives.json | teslasync-drives | Drive History | |
| 40 | +| drivetrain-thermal.json | teslasync-drivetrain-thermal | Drivetrain Thermal | |
| 41 | +| driving-dynamics.json | teslasync-driving-dynamics | Driving Dynamics | |
| 42 | +| efficiency.json | teslasync-efficiency | Driving Efficiency | |
| 43 | +| energy-flow.json | teslasync-energy-flow | Energy Flow | |
| 44 | +| fleet-overview.json | teslasync-fleet-overview | Fleet Overview | |
| 45 | +| home.json | teslasync-home | Home | |
| 46 | +| locations.json | teslasync-locations | Visited Locations | |
| 47 | +| mileage.json | teslasync-mileage | Mileage | |
| 48 | +| motor-performance.json | teslasync-motor-performance | Motor Performance | |
| 49 | +| projected-range.json | teslasync-projected-range | Range Projection | |
| 50 | +| quick-stats.json | teslasync-quick-stats | Quick Stats | |
| 51 | +| regen-efficiency.json | teslasync-regen-efficiency | Regen Efficiency | |
| 52 | +| route-efficiency.json | teslasync-route-efficiency | Route Efficiency | |
| 53 | +| security-access.json | teslasync-security-access | Security & Access | |
| 54 | +| sleep-efficiency.json | teslasync-sleep-efficiency | Sleep Efficiency | |
| 55 | +| software-updates.json | teslasync-software-updates | Software Updates | |
| 56 | +| speed-profile.json | teslasync-speed-profile | Speed Profile | |
| 57 | +| statistics.json | teslasync-statistics | Monthly Statistics | |
| 58 | +| system-health.json | teslasync-system-health | System Health | |
| 59 | +| timeline.json | teslasync-timeline | State Timeline | |
| 60 | +| tire-pressure.json | teslasync-tire-pressure | Tire Pressure | |
| 61 | +| trips.json | teslasync-trips | Trip History | |
| 62 | +| true-cost.json | teslasync-true-cost | True Cost | |
| 63 | +| vampire-drain.json | teslasync-vampire-drain | Vampire Drain (%/hr, BatteryLevel) | |
| 64 | +| vehicle-intelligence.json | teslasync-vehicle-intelligence | Vehicle Intelligence | |
| 65 | +| vehicle-overview.json | teslasync-vehicle-overview | Vehicle Overview | |
| 66 | +| weekly-digest.json | teslasync-weekly-digest | Weekly Digest | |
| 67 | + |
| 68 | +### Infra (`TeslaSync - Infra`, 17 files; 16 base files below) |
| 69 | + |
| 70 | +| File | UID | Title | |
| 71 | +| ---- | --- | ----- | |
| 72 | +| api-performance.json | teslasync-infra-api-perf | API Performance | |
| 73 | +| auth-deep-dive.json | teslasync-infra-auth-deep-dive | OAuth Initiation Deep-Dive | |
| 74 | +| cep-rule-engine.json | teslasync-infra-cep | Rules Engine | |
| 75 | +| critical-flows.json | teslasync-infra-critical-flows | Critical Flow Latency | |
| 76 | +| db-tesla-breakdown.json | teslasync-infra-db-tesla-breakdown | DB & Tesla API Span Breakdown | |
| 77 | +| fleet-telemetry.json | teslasync-infra-fleet-telemetry | Fleet Telemetry Server | |
| 78 | +| infrastructure.json | teslasync-infra-health | Infrastructure Health | |
| 79 | +| mqtt-pipeline-traces.json | teslasync-infra-mqtt-pipeline-traces | MQTT Pipeline Trace View | |
| 80 | +| observability-self-health.json | teslasync-infra-otel-self-health | Observability Self-Health | |
| 81 | +| service-graph.json | teslasync-infra-service-graph | Service Graph & Dependencies | |
| 82 | +| service-red.json | teslasync-infra-service-red | Service RED | |
| 83 | +| sessions-business.json | teslasync-infra-sessions | Sessions & Business Metrics | |
| 84 | +| slo-burn.json | teslasync-infra-slo-burn | SLO / Error Budget Board | |
| 85 | +| sse-realtime.json | teslasync-infra-sse | SSE & Real-Time | |
| 86 | +| telemetry-pipeline.json | teslasync-infra-telemetry | Telemetry Pipeline | |
| 87 | +| trace-explorer.json | teslasync-infra-trace-explorer | Trace Explorer | |
| 88 | + |
| 89 | +### Helm-only (link, do not clone) |
| 90 | + |
| 91 | +SLO per-endpoint boards (`slo-*.json`), `frontend-rum-overview.json`, |
| 92 | +`frontend-synthetic-journeys.json`. |
| 93 | + |
| 94 | +## Gap table (app domain → Grafana) |
| 95 | + |
| 96 | +| App path / domain | Existing Grafana JSON | Gap → action | |
| 97 | +| ----------------- | --------------------- | ------------ | |
| 98 | +| `/day-log` day log / FSM spine | `timeline.json` (state timeline only) | **NEW** `system/day-log.json`: event counts by field/day, gap hours, caps | |
| 99 | +| Tesla Physics cockpit (`/tesla-only/clocks`, gear) | — | **NEW** `system/physics-cockpit.json`: Gear/ChargeState/latch enums from `signal_log` | |
| 100 | +| Physics ledger (`/tesla-only/ledger`) | — | **NEW** `system/physics-ledger.json`: timestamp-aligned electrical observations with actual elapsed integration and a separate labeled aero illustration. This is **not** the configured app solver or its full unexplained residual. | |
| 101 | +| Charge honesty (`/tesla-only/charge-port`) | `charging-curve.json` (curve only) | **NEW** `system/charge-honesty.json`: phase durations, Complete→Disconnected dwell | |
| 102 | +| Vampire watts | `vampire-drain.json` (%/hr only) | **NEW** `system/vampire-watts.json`: watts from EnergyRemaining Wh deltas (existing file is %-based, left untouched) | |
| 103 | +| Firmware epochs (`/tesla-only/firmware-epochs`) | `software-updates.json` (update events) | **NEW** `system/firmware-epochs.json`: efficiency/residual by Version (correlation honesty) | |
| 104 | +| Black box 90s (`/tesla-only/black-box`) | — | **NEW** `system/black-box-90s.json`: high-rate speed/power before Park/unplug | |
| 105 | +| Range disagreement (`/tesla-only/range`) | `projected-range.json` (projection) | **NEW** `system/range-disagreement.json`: rated/typical/ideal spread, never one true series | |
| 106 | +| Fleet ops / utilization | `fleet-overview.json` (fleet totals) | **NEW** `system/fleet-ops.json`: reservations, assignments, cost centers from fleet tables | |
| 107 | +| Outage autobiography | — (infra has traces) | **NEW** `system/outage-autobiography.json`: last-event-time vs broker, gaps | |
| 108 | +| Pack capacity proxy | `battery-degradation.json` (SOH product) | **NEW** `system/pack-capacity-proxy.json`: Wh proxy + n, no SOH% | |
| 109 | +| Site energy (solar/Powerwall) | `energy-flow.json` (vehicle flow) | **NEW** `system/site-energy.json` from `tesla_energy_history`/`tesla_energy_sites` | |
| 110 | +| Ownership tariffs/invoices | `true-cost.json`, `cost-analysis.json` | **EXTEND in place only if needed**; new `system/ownership-cost.json` skipped — tariff tables feed cost honesty note in `site-energy`/true-cost scope (see below) | |
| 111 | +| Charging thermal tax / interruptions | `charging-stats.json` (analytics) | **NEW** `system/charging-thermal.json`: pack temp vs power, interruption counts | |
| 112 | +| Cabin thermal / preconditioning | `climate-hvac.json` (HVAC state) | **NEW** `system/cabin-thermal.json`: soak/cooldown τ inputs, precondition Wh | |
| 113 | +| Science Lab (`/science`) | — | **NEW** `science/lab-inputs.json`: electrochem brick-spread and aligned VI observations, thermal/TPMS rows and consumption-vs-ambient inputs. Fits remain in `GET /science/*` (`internal/app/sciencesvc`); weather and notebook reports are generated per request, not stored. Input counts are not counts of qualified experiments. | |
| 114 | +| Phase-42 pipeline (infra) | `telemetry-pipeline.json`, `fleet-telemetry.json` | **NEW** `infra/phase42-pipeline.json`: writer failures vs codec, normalize throughput, L1/L2 lag, FSM ticks | |
| 115 | +| Frontend RUM | helm `frontend-rum-*.json` | Link only, no clone | |
| 116 | +| Time machine / twin-lab | — | **Deferred**: no counterfactual tables on branch; no stub | |
| 117 | +| SLOs for new APIs | helm `slo-*.json` (generated) | `physics_ledger_availability` and `science_lab_availability` include generated recording rules, burn alerts, and dashboards. Regenerate with `cmd/slogen` when the catalog changes. | |
| 118 | +| Ops home | `system/home.json` | **EXTEND**: links to new UIDs | |
| 119 | + |
| 120 | +## Ownership-cost decision |
| 121 | + |
| 122 | +`true-cost.json` + `cost-analysis.json` already cover measured cost. Tariff/invoice |
| 123 | +tables (`utility_tariffs`, `charging_invoices`) are operator-configured, not |
| 124 | +measured telemetry — a separate `ownership-cost.json` would duplicate true-cost |
| 125 | +scope. Tariff-unknown honesty is noted in `site-energy.json` instead. No new file. |
0 commit comments