-
Notifications
You must be signed in to change notification settings - Fork 169
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
wip: new(userspace/libsinsp): MVP CountMinSketch Powered Probabilistic Counting and Filtering #1453
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: incertum The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Stage 1: As first MVP hard-coded 3 64 bit sketches with gamma = 0.001 and eps = 0.0001 -> (7 * 27183) per sketch -> ~4.5MB total extra static allocation. Everything else is also hard-coded, such as the value that defines the particular context for one sketch. It is yet to be determined how much one sketch can or should be overloaded. The CountMinSketch allows for the calculation of frequencies in large data streams within sublinear space, unlike hash tables. It achieves this with the same constant time complexity for operations. Still, for system calls, the hot path is very active. Performance and trade-offs are yet to be determined. Tried to scout the most performant hashing function (xxh3) already. Super noisy on a more or less "idle" laptop:
Slows down quickly on the same "idle" laptop and then only occasionally shows new logs:
|
53a58de
to
1bb4459
Compare
Issues go stale after 90d of inactivity. Mark the issue as fresh with Stale issues rot after an additional 30d of inactivity and eventually close. If this issue is safe to close now please do so with Provide feedback via /~https://github.com/falcosecurity/community. /lifecycle stale |
/remove-lifecycle stale |
The Draft/Demo PR has fulfilled its intended purpose and can now be closed, as I have just opened the new Plugin PR falcosecurity/plugins#419. |
What type of PR is this?
/kind feature
Any specific area of the project related to this PR?
/area libsinsp
/area proposals
Does this PR require a change in the driver versions?
What this PR does / why we need it:
MVP CountMinSketch Powered Probabilistic Counting and Filtering.
Following the principle of working in the open, this PR is intended for development and testing purposes only and aims to gather early feedback.
Bigger Vision for Threat Detection: See Falco Proposal PR falcosecurity/falco#2655.
However, it could also be interesting for any libs adopters and considered a generalization with more options for current mechanisms to suppress tids or comms.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?: