design: Add freshness histograms design doc#35795
Draft
antiguru wants to merge 1 commit intoMaterializeInc:mainfrom
Draft
design: Add freshness histograms design doc#35795antiguru wants to merge 1 commit intoMaterializeInc:mainfrom
antiguru wants to merge 1 commit intoMaterializeInc:mainfrom
Conversation
Proposes replacing per-second raw wallclock lag samples with sparse exponential histograms, enabling sub-second freshness measurement and percentile queries (up to p99.999) while reducing storage costs. Defines a freshness model that decomposes end-to-end latency into input freshness, processing delay, and reporting delay. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
|
Thanks for opening this PR! Here are a few tips to help make the review process smooth for everyone. PR title guidelines
Pre-merge checklist
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Motivation
With per-object tick rates moving to sub-second (e.g., 100ms), the current 1s-rounded wallclock lag measurement loses meaningful precision. Raw per-second samples also don't support distributional queries and scale poorly with faster tick rates.
Key design decisions
(bucket_i, count)pairs are persisted, keeping steady-state storage at ~3-5 rows per object per window.This is a design doc only — no code changes.
🤖 Generated with Claude Code