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 } }