Files

35 lines
673 B
Go

package sender
import (
"context"
"log"
"bugs.watch/agent/internal/aggregate"
)
// LoggingSender sends snapshots to the local log.
// This is a stand-in for HTTP or disk-backed senders.
type LoggingSender struct{}
func NewLoggingSender() *LoggingSender {
return &LoggingSender{}
}
func (s *LoggingSender) Send(ctx context.Context, snap aggregate.Snapshot) error {
select {
case <-ctx.Done():
// Context cancelled. Best effort: do not block shutdown.
return ctx.Err()
default:
log.Printf(
"SEND cpu=%.2f%% mem=%.2f%% disk=%.2f%% uptime=%ds load=%.2f",
snap.CPUAvg,
snap.MemAvg,
snap.DiskAvg,
snap.Uptime,
snap.Load,
)
return nil
}
}