Uploaded image for project: 'Network Observability'
  1. Network Observability
  2. NETOBSERV-1691

Tail-based filtering and sampling [dev preview]

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • eBPF
    • 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

      [2] https://issues.redhat.com/browse/NETOBSERV-520

            jtakvori Joel Takvorian
            jtakvori Joel Takvorian
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: