this post was submitted on 08 Sep 2023
11 points (100.0% liked)

Rust Programming

8159 readers
1 users here now

founded 5 years ago
MODERATORS
 

I've been reading a bit the tracing crate documentation, trying to find out if there's a way to rate limit logs.

What I refer with rate limiting, is that once a particular log has shown up with some frequency (x amount of times in a given time) then it won't be captured or shown anymore, until certain amount of time... This to avoid getting the logs space/buffer being eaten by just one, or a few high frequency errors for example.

Thanks !

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 6 points 1 year ago (1 children)

This would most certainty be part of the used subscriber. I'm not sure if any of the existing subscribers support it, but in the worst case you can write your own subscriber that wraps an existing one.

[–] [email protected] 1 points 1 year ago (1 children)

Yeap, I was thinking if perhaps any subscriber would support it, but didn't find any which documents it. Perhaps you're right and subscriber wrapper is needed.

[–] [email protected] 1 points 1 year ago (1 children)

One thing to keep in mind is that tracing works on spans/events, so rather than the subscriber receiving a string log message, it's receiving some metadata and a collection of field/value pairs, where values can be a lot of different types. You may need to determine ahead of time which fields you want deduped (or which you don't want deduped).

[–] [email protected] 1 points 1 year ago

yeap, thanks !