Skip to main content

Data loaders

Data loaders let you open files in custom formats directly in Foxglove. Instead of converting every recording to MCAP up front, package a small WASM binary as a Foxglove extension and the app can read your format natively.

info

Data loaders are currently in beta. The API may change in future releases.

When to use a data loader

Data loaders fit between two common patterns: converting all of your recordings to MCAP up front, and writing a custom one-off tool to read a single format. Reach for a data loader when:

  • You have logs in a custom or proprietary format and want to open them in Foxglove without a conversion step.
  • You want to revive an older format that no other tool reads anymore.
  • Converting all your recordings to MCAP is impractical.

If you only have a handful of files and a clean conversion pipeline, converting to MCAP is still the simplest path. Data loaders are most useful when conversion is expensive, lossy, or inconvenient.

How they work

A data loader is a Foxglove extension that bundles a WASM binary alongside a small registration script. When a user opens a file with the extension your loader registered for, Foxglove instantiates the WASM module and asks it to read the file.

At a high level, the loader runs in two phases:

  1. Initialize. Foxglove hands your loader a list of paths. Your code scans the files and returns a summary of the topics and channels present, their schemas, the time range covered, and per-channel message counts.
  2. Iterate. As panels request data, Foxglove asks your loader for messages on specific channels in specific time ranges. Your code reads from the file and emits Foxglove messages.

Foxglove handles caching, playback, seeking, and panel updates. Your loader only needs to know how to read the file.

Languages

You can write data loaders in:

Distribution

A data loader is packaged as a regular Foxglove extension (a .foxe file). You can install it locally for testing, share it privately with your Foxglove organization, or publish it through the public extension registry. Once installed, anyone on your team can open files in your format directly in Foxglove.

Next steps