fix(inputs.procstat): Handle running processes correctly across multiple filters (#16257)
This commit is contained in:
parent
e4b2e927d7
commit
543b907cdf
|
|
@ -324,7 +324,7 @@ func (p *Procstat) gatherOld(acc telegraf.Accumulator) error {
|
||||||
|
|
||||||
func (p *Procstat) gatherNew(acc telegraf.Accumulator) error {
|
func (p *Procstat) gatherNew(acc telegraf.Accumulator) error {
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
|
running := make(map[PID]bool)
|
||||||
for _, f := range p.Filter {
|
for _, f := range p.Filter {
|
||||||
groups, err := f.ApplyFilter()
|
groups, err := f.ApplyFilter()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -347,7 +347,6 @@ func (p *Procstat) gatherNew(acc telegraf.Accumulator) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
var count int
|
var count int
|
||||||
running := make(map[PID]bool)
|
|
||||||
for _, g := range groups {
|
for _, g := range groups {
|
||||||
count += len(g.processes)
|
count += len(g.processes)
|
||||||
for _, gp := range g.processes {
|
for _, gp := range g.processes {
|
||||||
|
|
@ -397,13 +396,6 @@ func (p *Procstat) gatherNew(acc telegraf.Accumulator) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cleanup processes that are not running anymore
|
|
||||||
for pid := range p.processes {
|
|
||||||
if !running[pid] {
|
|
||||||
delete(p.processes, pid)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add lookup statistics-metric
|
// Add lookup statistics-metric
|
||||||
acc.AddFields(
|
acc.AddFields(
|
||||||
"procstat_lookup",
|
"procstat_lookup",
|
||||||
|
|
@ -419,6 +411,13 @@ func (p *Procstat) gatherNew(acc telegraf.Accumulator) error {
|
||||||
now,
|
now,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Cleanup processes that are not running anymore across all filters/groups
|
||||||
|
for pid := range p.processes {
|
||||||
|
if !running[pid] {
|
||||||
|
delete(p.processes, pid)
|
||||||
|
}
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue