Query service configuration
Configure the query service
The query service handles the querying playback of recordings uploaded to your Primary Site.
You can configure compute and memory, and scale horizontally (see Autoscaling). In most cases, the default configuration does not need to be changed.
Buffered Object Limit
During a request, the query service will load multiple cloud storage objects and merge them together in a streaming HTTP response.
In order to make sure data is available as soon as possible, the query service will buffer objects that will be required soon.
The limit on the number of objects that are buffered concurrently can be configured with the BUFFERED_OBJECT_LIMIT
environment variable.
This value defaults to 1024
. If you're experiencing slow downloads when merging many recordings, you may benefit from lowering this limit.
Configure the new limit in your helm values file:
queryService:
deployment:
env:
- name: BUFFERED_OBJECT_LIMIT
# Defaults to 1024
value: "512"
Plan Logging
The query service merges input files according to an internal plan data structure, which is constructed at the start of every request.
If you experience degraded performance, you can set ENABLE_PLAN_LOGGING
to true in your deployment environment, which includes plan information in request logs.
These logs can be shared with Foxglove to troubleshoot performance issues.
Turn on plan logging by updating your helm values file:
queryService:
deployment:
env:
- name: ENABLE_PLAN_LOGGING
value: "true"