Indexer configuration
The advice on this page only applies to the index-in-place storage mode.
Configure the indexer
The indexer reads metadata from recordings in your configured buckets and uploads that index to Foxglove.
When a file is uploaded to a bucket, the indexer:
- Reads the file's summary section (a small portion of the recording)
- Extracts metadata such as timestamps, topics, and schemas
- Uploads this index to Foxglove for search and playback
Since the indexer only reads a small part of each recording and doesn't perform CPU-intensive operations, you generally don't need to scale it out. In most cases, the default configuration works well.
Concurrency
By default, the indexer processes multiple files in parallel. You can adjust the degree of concurrency in your Helm values file:
indexer:
deployment:
env:
- name: MAX_CONCURRENCY
# Defaults to 4
value: "16"
Increase this value if you have a large backlog of files to index. Decrease it if you're experiencing rate-limit errors from your storage provider.
Foxglove MCAP metadata records
The indexer resolves a recording's context — its device, session, Project, and idempotency key — from the MCAP metadata records named foxglove.
By default, the indexer merges every foxglove metadata record in the file, so a tool can append a record to override a single key without rewriting the existing records. See MCAP metadata for the supported keys and the full merge rules.
To use only the last foxglove record in the file and ignore the rest, turn off merging in your Helm values file:
indexer:
deployment:
# Defaults to true
mergeFoxgloveMcapMetadata: false