Skip to content
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

perf: Prune unused pattern branches #13329

Merged
merged 1 commit into from
Jun 27, 2024
Merged

Conversation

benclive
Copy link
Contributor

What this PR does / why we need it:
Adds a Prune command to Drain to clear branches with no associated log clusters.

  • We use an LRU cache to limit the number of patterns we match against
  • But when we delete a pattern due to age, we don't delete it's corresponding branches in the drain tree.
  • This PR adds a step to traverse the tree and delete any nodes that don't have children or log clusters attached.
  • It is run periodically, at the same time as we run the current logcluster prune process but it could probably be reduced in frequency.

@benclive benclive requested a review from a team as a code owner June 26, 2024 14:43
@benclive benclive requested a review from cyriltovena June 26, 2024 14:43
Copy link
Contributor

@cyriltovena cyriltovena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@benclive
Copy link
Contributor Author

After deploying in ops,
memory has improved (less frequently crashes) though it still needs work :
image

CPU hasn't noticably changed:
image

Gonna merge this so we see this improvement everywhere.

@benclive benclive merged commit 5ef18cf into main Jun 27, 2024
61 checks passed
@benclive benclive deleted the benclive/prune-drain-branches branch June 27, 2024 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants