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
Sampling connection-oriented weird-types that happen only once per connection #623
Comments
The sampling state for connection-oriented weirds is stored per-connection, but what you expect/want would be for sampling state to be tracked globally per-weird-name? If so, think it's not hard to add that as an option, but the current default behavior was mostly about being conservative: "people are less likely to miss redundant data we automatically throw out (or offer "compressed" stats for), and more likely to expect that we report all novel information by default". |
Exactly — some level of global control would be ideal. I believe I'm missing some history here from the updates to earlier versions of the sampling code (2.5, iirc), so others may have additional context. The problem with the current approach is that in environments where |
I'm planning to add an additional config table that puts weirds on a list of samplings that are to be done globally, in contrast to their standard granularity (conn/flow). |
The new set "sampling_global_list" lists weirds that are to be rate-limited globally instead of per connection/flow. Closes #623.
@ckreibich how does #1154 look? |
@rsmmr nice, yeah. Thanks for putting this together. I was wondering whether it would make sense to put together "candidate weirds" for use in the global list, but it seems that's really up to the user's sampling needs. So I think we're all set. |
The new set "sampling_global_list" lists weirds to rate-limite globally instead of per connection/flow. Closes #623.
- Merge adjustments: - Minor whitespace/style tweaks - Fixed portability of the btest due to differences in `uniq -c` output format * origin/topic/robin/gh-623-sampling: Extend weird sampling with option to track selected weirds globally.
Sampling of connection-oriented weird-types that happen only once per connection (such as
data_before_established
) doesn't work well right now: you either get each of those weirds, or none of them. The logic to tweak here is inReporter::PermitFlowWeird()
.I believe that's a known problem, but figured I'd create a ticket in case it's not tracked. I also don't know whether 3.0 has changed anything in this regard, but if so, that'd be great to know.
The text was updated successfully, but these errors were encountered: