1
0
mirror of https://github.com/tw93/Mole.git synced 2026-03-22 18:30:08 +00:00

fix: harden CI test stability and status collector resilience

This commit is contained in:
tw93
2026-03-04 16:09:13 +08:00
parent c88691c2c8
commit ff69504f89
10 changed files with 158 additions and 19 deletions

View File

@@ -230,6 +230,9 @@ func (c *Collector) Collect() (MetricsSnapshot, error) {
// Host info is cached by gopsutil; fetch once.
hostInfo, _ := host.Info()
if hostInfo == nil {
hostInfo = &host.InfoStat{}
}
var (
wg sync.WaitGroup
@@ -255,6 +258,18 @@ func (c *Collector) Collect() (MetricsSnapshot, error) {
wg.Add(1)
go func() {
defer wg.Done()
defer func() {
if r := recover(); r != nil {
errMu.Lock()
panicErr := fmt.Errorf("collector panic: %v", r)
if mergeErr == nil {
mergeErr = panicErr
} else {
mergeErr = fmt.Errorf("%v; %w", mergeErr, panicErr)
}
errMu.Unlock()
}
}()
if err := fn(); err != nil {
errMu.Lock()
if mergeErr == nil {