bering serve reads YAML or JSON config. Flags may override config values.
Sample file: configs/serve.sample.yaml
TCP listen address for the HTTP server.
Example: ":4318"
Optional TCP listen address for the OTLP/gRPC server.
Example: ":4317"
Leave empty to disable OTLP/gRPC.
Maximum OTLP request body size in bytes after decompression.
Example: 5242880
How often Bering checks whether the active window should close.
Example: 5s
Tradeoff: smaller values reduce window_lag_seconds but wake the service more often.
Tumbling window size for discovery snapshots.
Example: 30s
Tradeoff: smaller windows react faster to topology drift; larger windows produce steadier topology snapshots and reduce churn.
Maximum number of spans retained in the active window before new spans are dropped.
Example: 10000
Tradeoff: higher values improve coverage but increase peak memory.
How Bering handles spans whose event time falls before the active window start.
Allowed values:
dropcurrent_window
drop keeps window boundaries strict. current_window preserves more evidence at the cost of blur between scheduled windows.
Controls evidence-weighted reconciliation for runtime publication.
Suggested fields:
enabled: toggle the reconciliation module on or offstate_path: JSON file used to persist reconciliation state between windows and restartsreport_path: machine-readable report file for the latest reconciliation resultdecay_half_life: controls how quickly older evidence loses weightminimum_opportunity_windows: minimum opportunity evidence before misses can counttelemetry_health_freeze_threshold: freeze or heavily damp retirement below this scoresoft_gap_multiplier: threshold for the stale transitionhard_gap_multiplier: threshold for retirementstable_core_min_belief: minimum belief required for inclusion instable_coreguardrail_union_min_belief: minimum belief required for inclusion inguardrail_unionretired_ttl: how long retired entities remain retained before evictionmax_retained_retired_entities: cap on retained retired entitiescompaction_interval: cadence for state compaction and eviction checks
The defaults are expected to stay conservative and bounded so runtime mode does not become an unbounded historical store.
Directory sink for one file per emitted snapshot.
Example: out/snapshots
Optional stable path that is rewritten on every successful snapshot.
Example: out/latest-snapshot.json
Emit JSON logs instead of text logs.
Example: true
Ordered list of overlay files to apply after inferred discovery.
Example:
overlays:
- configs/discovery.overlay.sample.yamlbering serve supports these override flags:
--config--listen--grpc-listen--flush-interval--window-size--max-in-memory-spans--late-span-policy--reconciliation-enabled--reconciliation-state-path--reconciliation-report-path--sink-dir--latest-path--log-format text|json--overlay(repeatable)