From 707add13a3aee8ad2c82c7fa3f6affeea6061231 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Wed, 31 May 2017 12:36:50 +0100 Subject: [PATCH] refactor: simplify some filters --- render/filters.go | 28 ++++++++-------------------- render/process.go | 2 +- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/render/filters.go b/render/filters.go index 39b865dbe..15662bd08 100644 --- a/render/filters.go +++ b/render/filters.go @@ -237,30 +237,18 @@ func IsRunning(n report.Node) bool { // IsStopped checks if the node is *not* a running docker container var IsStopped = Complement(IsRunning) -func nonProcspiedFilter(node report.Node) bool { - _, ok := node.Latest.Lookup(endpoint.Procspied) - return ok -} - -func nonEBPFFilter(node report.Node) bool { +func procspiedOrEBPF(node report.Node) bool { + if _, ok := node.Latest.Lookup(endpoint.Procspied); ok { + return true + } _, ok := node.Latest.Lookup(endpoint.EBPF) return ok } -// FilterNonProcspied removes endpoints which were not found in procspy. -func FilterNonProcspied(r Renderer) Renderer { - return MakeFilter(nonProcspiedFilter, r) -} - -// FilterNonEBPF removes endpoints which were not found via eBPF. -func FilterNonEBPF(r Renderer) Renderer { - return MakeFilter(nonEBPFFilter, r) -} - -// FilterNonProcspiedNorEBPF removes endpoints which were not found in procspy -// nor via eBPF. -func FilterNonProcspiedNorEBPF(r Renderer) Renderer { - return MakeFilter(AnyFilterFunc(nonProcspiedFilter, nonEBPFFilter), r) +// FilterProcspiedOrEBPF keeps only endpoints which were found via +// procspy or eBPF. +func FilterProcspiedOrEBPF(r Renderer) Renderer { + return MakeFilter(procspiedOrEBPF, r) } // IsApplication checks if the node is an "application" node diff --git a/render/process.go b/render/process.go index 13e52e830..6e2cb4324 100644 --- a/render/process.go +++ b/render/process.go @@ -23,7 +23,7 @@ func renderProcesses(rpt report.Report) bool { } // EndpointRenderer is a Renderer which produces a renderable endpoint graph. -var EndpointRenderer = FilterNonProcspiedNorEBPF(SelectEndpoint) +var EndpointRenderer = FilterProcspiedOrEBPF(SelectEndpoint) // ProcessRenderer is a Renderer which produces a renderable process // graph by merging the endpoint graph and the process topology.