-
Notifications
You must be signed in to change notification settings - Fork 3.9k
feat: adds distributor lag counter to push.go #18012
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
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
Rather than relying on recording rules to monitor distributor lag metrics, this PR creates a new prometheus counter in the `push.go` module. This counter allow us to track the difference in time from when a distributor receives a log push request and the ingestion payload's most recent log timestamp. This difference represents how far back in time the logs were captured, giving us insight into distributor "lag". If this counter's values remain steady or increase over time, we know the ingestion agents are falling behind and will eventually start dropping logs. This counter metric has an additional label, "userAgent". This field is extracted from the HTTP request, providing insight into which ingestion agents are being used by a particular tenant. Should we see incoming log ingestion start to fall behind, we can use this label to provide instructions for customers to adjust the agent configuration specifically
…fana/loki into agoss/add-distributor-lag-metric
The OTLP endpoint often experiences an inordinate amount of time skew in the distributor mostRecentLagMs calculation. This filters out any values which are greater than 1B.
paul1r
approved these changes
Jun 10, 2025
paul1r
pushed a commit
that referenced
this pull request
Jun 10, 2025
This was referenced Aug 11, 2025
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.
What this PR does / why we need it:
Rather than relying on recording rules to monitor distributor lag metrics, this PR creates a new Prometheus counter in the
push.gomodule.This counter allow us to track the difference in time from when a distributor receives a log push request and the ingestion payload's most recent log timestamp.
This difference represents how far back in time the logs were captured, giving us insight into distributor "lag". If this counter's values remain steady or increase over time, we know the ingestion agents are falling behind and will eventually start dropping logs.
This counter metric has an additional label, "userAgent". This field is extracted from the HTTP request, providing insight into which ingestion agents are being used by a particular tenant. Should we see incoming log ingestion start to fall behind, we can use this label to provide instructions for customers to adjust the agent configuration specifically
Checklist
CONTRIBUTING.mdguide (required)featPRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.docs/sources/setup/upgrade/_index.mddeprecated-config.yamlanddeleted-config.yamlfiles respectively in thetools/deprecated-config-checkerdirectory. Example PR