# Diagnostics and Recording

Use Oden statistics, frame-time monitoring, link diagnostics, raw recording, and extracted frames during operations and support.

Last validated: 2026-05-05

Use this page when an Oden setup works but needs evidence: frame timing, link behavior, camera proof, reproducible recordings, or support material.

## Statistics

Open the `Statistics` sidebar tab to inspect application and entity performance. The main measurements are update time, draw time, GUI time, total frame time, and main-thread CPU load. When plugins are present, plugin timing can appear for the relevant entities. Statistics usually show average, maximum, and standard deviation values, and graph history where the build exposes it.

Use statistics during acceptance testing:

-   Check average and maximum frame time while the real cameras are running.
    
-   Watch for spikes when connecting a Player, changing scenes, opening a webview, or enabling plugins.
    
-   Compare Streamer and Player frame timing when video is unstable but the network stats look clean.
    

## Frame-time Monitoring

Frame-time monitoring prints a console message when a frame exceeds the configured threshold. Use it when short stalls are visible to operators or when support needs timestamps for intermittent issues.

Settings:

Active

Enables monitoring.

Threshold

Frame-time threshold that triggers a message.

For Streamer service deployments, read the messages from the service journal:

```shell
sudo journalctl -u oden-streamer.service -f
```

## Link Diagnostics

For runtime network checks, select the Player-side `Remote Streamer` entity and inspect link statistics. The first section groups incoming and outgoing bandwidth by traffic type. The packet timing graph shows frames as columns, packet timing within each frame, and the first packet from the next frame as a red marker.

During a test, record:

-   Output resolution, codec, target bitrate, and frame rate from the Streamer.
    
-   Player-side bandwidth, round-trip time, and packet loss.
    
-   Channel usage and bytes in flight for each active link.
    
-   Whether traffic is direct, relayed, encrypted, or using P2P.
    
-   Any spikes in bytes in flight, wanted bitrate, reorder delay, or packet loss.
    

If the Streamer output is running but the Player shows no image, combine link stats with [connection troubleshooting](troubleshooting.md#connection-or-no-remote-stream).

## Raw Recording

Raw recording captures Oden video sources and optional custom plugin data. Use it to reproduce a scenario without access to the real vehicle or camera rig.

Recording options:

Destination folder

Folder for the recorded video and playback project.

Create Folder

Creates a dedicated folder for the recording files.

Frameskip

Skips frames to reduce recording frame rate and disk usage.

Use Ringbuffer

Limits disk usage by overwriting the oldest frames after the maximum is reached.

Use Time Based Ringbuffer

Limits recording by time instead of disk space.

To record a full scenario:

1.  Open the `Raw Recording` sidebar tab.
    
2.  Choose the destination folder and ringbuffer behavior.
    
3.  Start recording.
    
4.  Reproduce the scenario.
    
5.  Stop recording before closing Oden.
    

To record one source, select the relevant entity and use its single-entity raw-recording controls.

> **WARNING**
> Stop recording before exiting Oden. If Oden crashes or is stopped with Ctrl+C while recording is active, the recording can contain corrupted video streams.

## Playback and Frame Extraction

To play a raw recording, open the folder containing the generated playback `.vproj` file. The `Raw Recording Playback` settings then appear in the project.

Playback settings:

Loop

Repeats the recording.

Loop Start/Stop Time

Restricts the loop to a time range.

Min, Max, Time

Shows recording start, stop, and timestamp information.

Use frame extraction when support, calibration, or documentation needs still images:

Destination Folder

Folder for extracted images.

Interval

Time between captured frames.

Wait Time

Delay before extraction begins.

Extraction Frames

Number of frames to extract.

Entity

Source entity to extract from.

After selecting the entity and extraction settings, press the frame extraction start button and wait until the requested frames have been written before closing the playback project.

Voysys raw `.vraw` recordings can be converted with the public `vraw_convert` tool at [https://github.com/voysys/vraw\_convert](https://github.com/voysys/vraw_convert).

## Support Bundle Checklist

When reporting an issue, collect:

-   Product and version for every Oden application.
    
-   Operating system, GPU, driver version, and JetPack version where relevant.
    
-   Streamer project file and Player project file if they are safe to share.
    
-   Screenshot or copied values from Streamer `Output`.
    
-   Player `Remote Streamer` stats while the issue is happening.
    
-   Service journal if Fleet Streamer runs as `oden-streamer.service`.
    
-   Raw recording or extracted frames for camera, stitching, or rendering issues.
    

For first-response checks, see [Troubleshooting](troubleshooting.md).
