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(veritech): Batch logs before sending to veritech #5611

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jkeiser
Copy link
Contributor

@jkeiser jkeiser commented Mar 6, 2025

This PR batches logs and sends them every N milliseconds (but will limit batching to 8MB).

One of our theories is we're bogging the reactors sending a log line every 8 nanoseconds. This should help both reduce the total size (only one message overhead per batch instead of per line) and the number of messages.

batch

Draft

Flaw: if a log line is emitted, and no more logs are emitted for a long time, it will sit in the buffer until another log line comes in or . This is not ideal--you'd want users to see the last thing that happened sooner rather than later. I've used systems like this and watching logs while not being sure you're seeing all the logs is a problem--particularly, if there was an error or warning just before a program hung, you wouldn't see it until it eventually timed out.

Improvement: currently this will only cache log lines as long as they are the same level/group/etc. This could be better if it held onto all of these the whole time, but it's unclear how often it happens in practice.

@github-actions github-actions bot added the A-cyclone Area: Function execution engine [Rust] label Mar 6, 2025
Copy link

github-actions bot commented Mar 6, 2025

Dependency Review

✅ No vulnerabilities or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails

Scanned Files

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-cyclone Area: Function execution engine [Rust]
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant