CLI Arguments
Pass these flags when starting theopendata-timeseries binary.
Configuration File
The configuration file follows the Prometheus YAML format with additional sections for storage. The generic placeholders used in this reference are:<string>: a regular string<int>: an integer value<duration>: a duration matching[0-9]+(ms|s|m|h|d)(e.g.30s,1m,2h)
[ ] is optional. The default value is shown after | default =.
<scrape_config>
Each scrape config defines a set of targets and the parameters for scraping them.
<static_config>
A static config defines a list of targets and a common set of labels to apply.
<storage_config>
Storage is tagged by type.
- InMemory
- SlateDb
Stores data in memory only. Data is lost on restart. Useful for testing
and development. No additional fields are required.
<cache_config>
Two slots share this cache configuration: block_cache holds decoded SST
data blocks, and meta_cache holds SST metadata (filters, indexes, and stats
blocks). When either is set, SlateDB routes data blocks to block_cache and
metadata blocks to meta_cache. A slot left unset caches nothing for that
class of block.
A cache is tagged by type: FoyerHybrid (memory + disk tiers) or
FoyerMemory (memory only), both backed by foyer.
- FoyerHybrid
- FoyerMemory
Two tiers: in-memory plus on-disk (ideally NVMe). Suited to the
block_cache slot, where capacity matters more than the last few
microseconds of latency.<object_store_config>
The object store is tagged by type.
- Local filesystem
- AWS S3
- In-memory
<cache_warmer_config>
On startup, the warmer discovers the time buckets that overlap the warm window
and hands the SSTs backing them to SlateDB’s cache manager, which loads each
SST’s filters and index (plus its sample data blocks when include_samples is
set) directly into the configured caches. Filters and indexes land in
meta_cache, data blocks in block_cache. The first queries after a restart
then run against warm caches instead of paying object-store round trips.
The warmer runs once and exits. It is a no-op when neither cache is
configured. Pairing it with an in-memory meta_cache works well: the cache
loses its contents on restart, and the warmer rebuilds them in seconds.
Enabled by default. Set cache_warmer: null to disable.
warm_range to the time range your dashboards and alerts query most.
A warm window that exceeds cache capacity wastes work: the cache evicts some
warmed blocks before a query ever reads them.
<buffer_consumer_config>
Enables the durable-queue write path. See the
Stateless Ingest page for the full architecture, the
OpenTelemetry Collector side, and operational guidance.
Examples
- Local development
- Production (S3)
- Testing (in-memory)
prometheus.yaml