data/<block-ulid>/tombstones
Tombstones
Deletions in TSDB are soft: instead of rewriting immutable blocks, Prometheus records tombstones: per-series time intervals to ignore at query time. The file sits at the top level of each block directory. Actual data removal happens later, during compaction.
Open the interactive byte explorer →
Field notes & invariants
- Each stone is a triple:
series ref <uvarint64>,mint <varint64>,maxt <varint64>. The series ref is the block-index series ID (offset/16 in the index series section). - The trailing CRC-32C covers the stones only; the version byte is deliberately excluded from the hash (see
tombstones.go: "Ignore first byte which is the format type. We do this for compatibility."). - Accuracy note: the spec text in
tombstones.mdmentions a trailing 8-byte offset to the Stones section and 4-byte padding; the current implementation writes neither: files end with the 4-byte CRC, as shown in this example.