mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-20 22:10:30 +00:00
refactor: simplify some filters
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user