-
Epic
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
tail-based-filtering-sampling
-
False
-
None
-
False
-
Not Selected
-
To Do
-
0% To Do, 100% In Progress, 0% Done
-
M
Tail-based filtering or sampling is a concept that also exists in jaeger/opentelemetry: https://opentelemetry.io/blog/2022/tail-sampling/
The goal is to allow more intelligent sampling rules than the random sampling (which is done very early in the process), based on richer information that is only accessible in late stages. To give a concrete example, filtering only flows coming from / going to a set of namespaces cannot be done early as the eBPF agent don't have the knowledge of the k8s elements involved: this can only be done after FLP has enriched the flows.
This feature will unlock more use cases for netobserv:
- by filtering or sampling flows based on custom criteria, users will be able to reduce the resource footprint and reduce the noise - resources footprint being a barrier to adoption. For instance we can imagine some default sampling rate like 50, and finer sampling rate for flows that contain the drop-by-policy drop cause.
- Another use case is multi-tenant configuration: per-namespace filtering is a pre-requisite for being able to turn on and off netobserv per tenant. Hence this other epic [1] depends on it.
- This spike [2] has shown that this is also a possible way to eliminate cross-nodes duplicates. It resulted in a significant CPU & memory decrease for both Loki and FLP.
[1] NETOBSERV-1690
- is depended on by
-
NETOBSERV-1690 Per-tenant configuration
- New