jcloude/libs/mariadb_io_monitor/process_stat_samples.go
2025-12-23 19:17:16 +08:00

31 lines
423 B
Go

package main
import (
"fmt"
"time"
)
func (m *Monitor) ProcessStatSamples() {
m.wg.Add(1)
defer m.wg.Done()
ticker := time.NewTicker(5 * time.Second)
defer ticker.Stop()
for {
select {
case <-m.ctx.Done():
fmt.Println("Analyzer stopping:", m.ctx.Err())
return
case <-ticker.C:
latest := m.sampler.buf.GetLatest()
if latest == nil {
continue
}
m.UpdateAnomalyState(*latest)
}
}
}