How revlat/pings works
pings monitors hosts continuously through either a CLI or GUI: each frontend accepts host addresses (including file input) and an interval, starts the shared concurrent monitor, then renders per-host reachability, counts, latency, uptime, and status-change timing. The monitor invokes the system ping command and updates in-memory host state before calling the frontend with each scan snapshot. The README documents both frontends and their sorting and display capabilities; only the listed source files were sampled, so finer internal GUI or CLI boundaries are not inferred.
Main entry points: pings-gui/main.go GUI frontend · pings/main.go CLI frontend · pinger.go Scan coordinator
Components 15
User interfaces
- CLI frontend
cmd/pings/main.go - GUI frontend
cmd/pings-gui/main.go - GUI setup form
cmd/pings-gui/main.go - Terminal status view
cmd/pings/main.go - Sortable status table
cmd/pings-gui/main.go
Monitoring engine
- Host file input
pkg/pinger/pinger.go - Scan coordinator
pkg/pinger/pinger.go - Concurrent host checks
pkg/pinger/pinger.go - Host status state
pkg/pinger/pinger.go - Latency and uptime
pkg/pinger/pinger.go - Change-time formatting
pkg/pinger/pinger.go
System integration
- System ping process
Other components
- Operator
- Terminal
- Graphical display
Connections 19
- Operator → CLI frontend: starts with targets
- Operator → GUI frontend: starts with targets
- GUI frontend → GUI setup form: shows when empty
- GUI setup form → Host file input: loads file via
- CLI frontend → Host file input: loads file via
- GUI frontend → Host file input: loads file via
- CLI frontend → Scan coordinator: starts scan loop
- GUI frontend → Scan coordinator: starts scan loop
- Scan coordinator → Concurrent host checks: dispatches checks
- Concurrent host checks → System ping process: runs host ping
- Concurrent host checks → Host status state: updates results
- Scan coordinator → Host status state: snapshots hosts
- Host status state → Latency and uptime: provides counts and latency
- CLI frontend → Terminal status view: renders snapshots
- GUI frontend → Sortable status table: renders snapshots
- Terminal status view → Change-time formatting: formats change time
- Sortable status table → Change-time formatting: formats change time
- Terminal status view → Terminal: writes status
- Sortable status table → Graphical display: shows status