Report Analysis
The Report Analysis page (/report) turns raw diagnostic session logs into a structured, filterable report. Import a JSON trace from a live session, or load one of the built-in demo scenarios, then drill down by NRC code, status, or keyword — and export your findings as JSON, CSV, or PDF.
DEMO SCENARIOS
EXPORT FORMATS
NRC CODES
FEATURE GATE
Overview
After a diagnostic session you have a log of request/response pairs — but reading raw hex to find failures is slow. The Report Analysis page processes that log and surfaces:
- Success rate — percentage of requests that received a positive response
- NRC breakdown — which negative response codes appeared and how often
- Telemetry timeline — voltage, current, and power-state readings over time
- Per-pair drilldown — expand any request/response pair to see its full byte sequence and timing
When to use it:
- Validate that a diagnostic script ran cleanly before shipping it
- Spot patterns in NRC failures (e.g. repeated
0x33 SecurityAccessDeniedsuggesting a seed/key mismatch) - Share a PDF summary with a team or client
You do not need a live ECU session to explore the Report page. Load a demo scenario first to familiarise yourself with the interface, then import your own traces.
Opening the Page
- Log in and navigate to the Report tab in the top navigation bar, or go directly to
/report. - The
advanced_reportsfeature gate is checked on load. Free-tier users see an upgrade prompt; premium users see the full dashboard. - On first load the dashboard is empty — choose a demo scenario or import a file to populate it.
Unauthenticated users are redirected to the login page. If you reach /report and are immediately redirected, sign in first.
Demo Scenarios
Three pre-built scenarios let you explore the interface without a live session. Click Load Demo in the report header and select one:
Scenario | What it simulates | Interesting NRCs |
|---|---|---|
| Standard | Normal session flow: 0x10 default → extended, read VIN (0x22), security access (0x27), write VIN (0x2E) | none — all positive responses |
| Security Attack | Multiple failed 0x27 seed/key attempts until the ECU locks out | 0x35 InvalidKey, 0x36 ExceededNumberOfAttempts |
| Fuzzing | 20 random 0x22 / 0x2E packets with randomised sub-functions and data | 0x31 RequestOutOfRange, 0x22 ConditionsNotCorrect, 0x13 IncorrectMessageLength |
The Security Attack scenario is useful for testing that your 0x27 handler correctly enforces attempt limits and delay timers per ISO 14229.
Importing a Session Log
- Click Import in the report header.
- Select a
.jsonfile exported from a previous simulator session. - The file must follow the simulator’s report schema:
{
"sessionId": "string",
"timestamp": "ISO-8601 string",
"pairs": [
{
"id": "string",
"request": { "sid": "0xXX", "bytes": "hex string", "timestamp": 0 },
"response": { "sid": "0xXX", "bytes": "hex string", "status": "success|error|pending", "nrc": null },
"latencyMs": 0
}
],
"telemetry": [
{ "timestamp": 0, "voltage": 12.4, "current": 0.2, "powerState": "ON" }
]
}Export a session from the Simulator’s terminal panel using the Export Log button to get a file in exactly this format.
Filtering & Drilldown
Once a report is loaded, three filter controls appear in the dashboard toolbar:
Filter | How to use | Effect |
|---|---|---|
| Status | Toggle: All / Success / Error / Pending | Shows only pairs matching that response status |
| Search | Type any keyword (SID, DID, hex bytes) | Filters pairs whose request or response bytes contain the term |
| NRC Code | Click any NRC chip or open NRC Details dialog | Shows only pairs that returned that specific negative response code |
NRC Details Dialog — clicking an NRC chip opens a modal with:
- Full NRC name and ISO 14229 description
- Count of occurrences in this session
- The
0x7Fnegative response frame structure for that code
Negative Response Frame
7F 27 35> NRC 0x35 = InvalidKey for SID 0x27 Security Access
Filters are cumulative — you can search for 0x27 AND filter by error AND select NRC 0x35 to isolate only failed security access attempts.
Exporting Reports
Click Export in the report header and choose a format:
Format | Contents | Plan required |
|---|---|---|
| JSON | Full session log — all pairs, telemetry, metadata | Free |
| CSV | Flat table of all request/response pairs with latency and NRC columns | Premium (export_csv) |
| Formatted report with summary stats, NRC breakdown chart, and pair list | Premium (export_pdf) |
Clicking CSV or PDF on a free-tier account shows an upgrade prompt instead of downloading the file. The JSON export is always available.
Feature Gates
Gate token | Controls | Plan required |
|---|---|---|
| advanced_reports | Full report dashboard — NRC filtering, drilldown, telemetry timeline | Premium |
| export_csv | CSV export button | Premium |
| export_pdf | PDF export button | Premium |