{{ summaryTitle }} {{ summaryValue }} {{ summaryLine }} {{ badge.label }}: {{ badge.value }}
Telemetry volume and retention inputs
Logs, spans, metric samples, or normalized events over the selected time unit.
Enter the measured pre-compression payload size for one event.
days
A factor of 2x means one primary copy and one replica.
x
Use 0% when the event size already reflects stored compressed bytes.
%
Optional service, dataset, namespace, or index label for readable handoffs.
Keep zero when the measured event size already includes storage indexes and metadata.
%
Keep zero for the direct estimate; add only deliberate planning headroom.
%
Keep 0 to omit the quota boundary.
MeasureValueCalculation basisCopy
{{ row.measure }}{{ row.value }}{{ row.basis }}

{{ tableExportAnnouncement }}

GuardrailCurrent readingOperator actionCopy
{{ row.guardrail }}{{ row.reading }}{{ row.action }}

{{ tableExportAnnouncement }}

{{ chartExportAnnouncement }}

Introduction:

Telemetry becomes a storage problem long before it looks large one event at a time. A log record may be only a few hundred bytes and a span only a few kilobytes, yet a steady stream multiplied across every second and every retained day can grow into terabytes. Capacity planning starts with three questions: how many events arrive, how many bytes each event contributes, and how long those bytes remain.

The word event needs a stable meaning. It may be one log entry, trace span, metric sample, or normalized record, but the rate and average size must describe the same unit. Measuring the rate at an application boundary while measuring byte size after a backend has added labels can double-count some data and miss other data. A representative sample from the actual stream is more useful than a nominal payload size from documentation.

Factors that change retained observability storage
FactorWhat it representsCommon planning mistake
Event rateAverage records produced per unit of timeUsing a quiet-hour rate for a bursty service
Event sizeMeasured bytes for one event before the stated compression savingMixing raw payload bytes with already-compressed stored bytes
RetentionDays kept before deletion or tieringIgnoring replays, backfills, or delayed deletion
Stored copiesPrimary data plus replicasTreating a two-copy policy as one copy
Overhead and reserveIndexes, metadata, allocation slack, and uncertainty allowanceUsing reserve as a substitute for measuring real overhead

Compression, replicas, indexing, and reserve affect different stages of the estimate. Compression reduces the retained primary data. The stored copy factor then duplicates that compressed amount, index overhead is added to the replicated data, and reserve is applied last. Changing that order changes the answer.

A storage estimate is a planning baseline, not a promise. Sampling policies, schema changes, traffic growth, unusually large error events, shard behavior, and vendor billing rules can all move real usage. The safest comparison uses observed rates and stored bytes over a representative interval, then keeps enough headroom for the peaks that the average hides.

How to Use This Tool:

Start with measurements from one clearly defined telemetry stream and keep the rate and byte-size basis consistent.

  1. Enter the Event rate and its time unit, then enter the measured Average event size in bytes, KiB, or MiB per event.
  2. Set the Retention period, Stored copy factor, and Compression savings. Use 0% compression savings when the event size already represents compressed stored bytes.
  3. Open Advanced when index overhead or uncertainty needs explicit allowance. Keep either percentage at 0% when it is already included in the measured event size or storage figure.
  4. Add a Storage quota only when there is a real capacity boundary to compare. A zero quota leaves the quota check unconfigured.
  5. Read Stored volume first, then compare Quota use and Quota headroom with an observed backend measurement before committing capacity.

Interpreting Results:

Stored volume is the full estimate after compression, copies, index overhead, and reserve. Stored per day is useful for retention runway because it shows how much capacity one additional retained day consumes under the same assumptions.

  • Within means estimated storage is below 80% of the configured quota.
  • Watch begins at quota use greater than or equal to 80% and continues through 100%.
  • Over means estimated storage is greater than the quota; negative headroom is the shortfall.
  • Not configured means the quota was left at zero, not that capacity is unlimited.

Technical Details:

The calculation normalizes event rate to events per second and event size to bytes. Binary units are used for size and quota conversion: one KiB is 1,024 bytes, one GiB is 1,024 cubed bytes, and each larger unit is another factor of 1,024.

Formula Core:

Required storage is the raw retained byte volume multiplied by the remaining fraction after compression, the stored copy factor, index overhead, and reserve.

S=r×86400×b×d× (1c100)×k× (1+i100)× (1+v100)
Observability storage formula symbols
SymbolMeaningUnit
SRequired stored volumebytes
rNormalized event rateevents per second
bAverage event sizebytes per event
dRetention perioddays
cCompression savingspercent
kStored copy factorratio
iIndex overheadpercent
vReserve allowancepercent

For 60 events per minute at 1 KiB each, two retained days produce 176,947,200 raw bytes. With 50% compression savings, two stored copies, 25% index overhead, and 20% reserve, the result is 265,420,800 bytes, about 253.1 MiB. Against a 1 GiB quota, that is about 24.7% use.

Rule Core:

Quota status is evaluated only when quota is greater than zero. Stored volume greater than quota is Over; otherwise use at or above 80% is Watch; all lower configured values are Within. The comparison uses full-precision bytes, while displayed sizes are rounded for readability.

Compression savings may range from 0% through 100%. The 100% endpoint mathematically reduces retained payload bytes to zero, but it is a model boundary rather than a realistic guarantee. Event rate and event size must be greater than zero, retention is limited to 1 through 3,650 whole days, and the stored copy factor ranges from 1 through 20.

Worked Example:

Measured platform-log stream

A platform team measures 60 records per minute at 1 KiB per record and keeps two days. Its backend reports 50% compression savings, two stored copies, and about 25% index overhead; the team adds 20% reserve. The estimate is about 253.1 MiB, leaving roughly 771 MiB of a 1 GiB quota. The useful follow-up is to compare that 126.6 MiB daily growth with an observed stored-byte change over a representative day.