Changelog
All notable changes to the pgEdge radar project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.5.0] - 2026-05-08
Added
PostgreSQL
stat_sslcollector - per-backend SSL/TLS statestat_replication_slotscollector - replication slot spill counters (PG14+)
Per-database
sequencescollector - sequences with last/min/max values (PG10+)bloatcollector - heuristic table bloat estimate frompg_statspgstattuplecollector - authoritative bloat viapgstattuple_approx(); opt-in with-include pgstattuple
CLI
-exclude name1,name2flag - skip named tasks-include name1,name2flag - enable default-disabled tasks
Changed
databasescollector addsdatfrozenxid,datminmxid,datconnlimit,datistemplate,datallowconntablescollector rebuilt onpg_class+pg_stat_all_tables; adds dead-tup counters, vacuum/analyze timestamps + ages,reloptions,relpersistence,relpages, heap/table/toast sizes; capped at top 1000 by sizeindexescollector rebuilt onpg_index+pg_stat_all_indexes; adds semantic-key columns,indisvalid,idx_scan/idx_tup_read/idx_tup_fetch,relpages,index_size; capped at top 1000 by sizerunning_activity_maxagecollector addsmax_lock_wait_ageavailable_extensionscollector now sourced frompg_available_extension_versions(one row per version with trust/requires/schema metadata)- Archive root now contains
radar.outwith the radar binary'sversion(build-time stamp) andcommit
Fixed
read_aheadcollector ignored virtio/xen block devices and produced unlabeled outputhostname.outreported resolver-canonical FQDN instead of kernel hostname; addedhostname_fqdn.outfor the FQDNpg_table_size/pg_relation_sizecalled for every relation pre-sort caused fstat overload on >1000-table clusters; now usesrelpages × block_sizeestimate with fstat fallback forrelpages = 0rows
[0.4.1] - 2026-04-15
Fixed
- Missing PostgreSQL extensions (pg_stat_statements, pg_statviz) no longer reported as errors when not installed
[0.4.0] - 2026-04-01
Added
System (Linux)
- Cgroup v2 resource limit collectors (cpu.max, memory.max, memory.current, pids, cpuset, io.max, etc.)
- Cgroup v1 resource limit collectors (cpu.shares, cpu.cfs_quota, memory.limit, etc.)
- Container identity collectors (cgroup membership, mountinfo, environment, K8s namespace)
- Cloud/hardware identity collectors (DMI bios_vendor, product_name, sys_vendor, chassis_asset_tag)
- Auto-detection of container runtime (Docker, Kubernetes, containerd, LXC)
Authentication
- SSL/TLS with configurable
-sslmode(prefer, disable, require, verify-ca, verify-full) - Certificate authentication (
-sslcert,-sslkey,-sslrootcert) - GSSAPI/Kerberos authentication
PGSSLMODE,PGSSLCERT,PGSSLKEY,PGSSLROOTCERTenvironment variables
Changed
- PostgreSQL driver switched from lib/pq to pgx
- Default sslmode changed from
disabletoprefer - Go bumped from 1.23 to 1.24.13
- Collector errors now distinguish skip (unavailable) from real failures
Fixed
- db handle leak on ping failure
- Summary printed before zero-data check
- PGDATABASE fallback ordering with
--skip-system - Connection string quoting for values with spaces
[0.3.0] - 2026-02-26
Added
System (Linux)
clocksourcecollector - current kernel clocksource (tsc/hpet/kvm-clock)diskstatscollector - raw kernel I/O counters from /proc/diskstatsfreecollector - memory usage summaryio-queue-depthcollector - I/O queue depth per block devicelscpucollector - structured CPU topology (NUMA, cores, threads, caches)netstat-statscollector - protocol statistics (retransmits, drops)numactlcollector - NUMA node layout and memorynumastatcollector - per-node memory allocation statisticspg-service-statuscollector - PostgreSQL systemd service statusresolv.confcollector - DNS resolver configurationss-listenerscollector - listening sockets and portsss-summarycollector - socket statistics summarytimedatectlcollector - NTP sync and timezone status
System (macOS)
memory-pressurecollector - system memory pressure levelnetstat-statscollector - protocol statisticsulimitcollector - resource limits
PostgreSQL
connection_summarycollector - connection distribution by state and wait eventdatabase_conflictscollector - recovery conflicts from pg_stat_database_conflictsdatabase_sizescollector - disk usage per databasefile_settingscollector - config file parse results from pg_file_settingsshmem_allocationscollector - shared memory breakdown from pg_shmem_allocationsstat_progress_clustercollector - CLUSTER/VACUUM FULL progressstat_progress_create_indexcollector - CREATE INDEX progressstat_statements_callscollector - top 100 queries by call count (pg_stat_statements)stat_statements_max_timecollector - top 100 queries by max execution time (pg_stat_statements)stat_statements_total_timecollector - top 100 queries by total execution time (pg_stat_statements)tablespace_sizescollector - tablespace disk usagewal_positioncollector - WAL position and recovery statewal_receivercollector - standby WAL receiver status
Testing
- Duplicate archive path detection tests for system and PostgreSQL collectors
[0.2.0] - 2025-12-23
Added
pg_stat_checkpointercollector (PostgreSQL 17+) - checkpoint operationspg_stat_iocollector (PostgreSQL 16+) - I/O statistics by backend typepg_stat_walcollector (PostgreSQL 14+) - WAL generation statisticspg_postmaster_start_time()collector - server startup timestamppg_stat_databaseper-database collector - conflicts, deadlocks, temp files
[0.1.0] - 2025-12-18
Added
- Initial release
- Static binaries for Linux (amd64, arm64) and macOS (amd64, arm64)
- Comprehensive system and PostgreSQL metrics collection