Grafana LGTM
Broad three-signal coverage in one local distribution. Useful when traces, logs, and metrics all matter.
Field note 01 · OTLP capacity
Inspect a redacted OTLP sample. Get cardinality, retention storage, and honest resource envelopes for four self-hosted stacks—without uploading a byte.
Live specimen tray
Your file is read in this tab and never transmitted. For production decisions, repeat the same check with the CLI and a 10+ minute sample.
No specimen selected yet.
Specimen reading · heuristic
Signal mix—
| Stack | Sample fit | Retained disk | vCPU | Memory |
|---|
How the field guide reads
Count spans, log records, metric points, timestamps, attribute values, and label-set combinations.
Scale observed bytes across a day, then apply published-as-assumption indexing factors, retention, growth, replicas, and headroom.
Run the candidate for seven days with redacted data. A disk variance above 25% means the estimate needs calibration.
Four habitats, no podium
Broad three-signal coverage in one local distribution. Useful when traces, logs, and metrics all matter.
Validate when trace-led application context and session workflows justify a larger minimum footprint.
A useful first replay target for log-heavy workloads and teams optimizing a small single-node shape.
A natural candidate for trace-heavy application performance work; plan for its multi-service floor.
Take the field kit
The Rust CLI accepts OTLP JSON or NDJSON, reads stdin, emits stable JSON for scripts, and writes comparable capacity plans and Compose resource overlays.
cargo install --git https://github.com/B-Divyesh/sf-selfhost-observability-fit.git
obsfit sample.json --retention-days 14
--emit-dir ./fit-plan