Changelog
All notable changes to PMP4PG are documented here.
This project follows Semantic Versioning.
v1.0.0 — Initial Release
First stable release of PMP4PG — Proactive Monitoring Platform for PostgreSQL.
Platform
- Global Dashboard — Fleet-wide overview of all monitored PostgreSQL servers with KPI cards (active servers, alerts, agent statuses), servers grid and environment filtering (RUN / BUILD)
- Server Detail — Per-server view with real-time metrics, agent status and last heartbeat information
- User Management — Multi-user access with administrator-managed user list
- Alerts — Centralized alert list with delete/acknowledgment support
ASH Viewer
- Real-time activity monitoring based on
pg_stat_activitysampled every 2 seconds - Configurable live refresh (5s, 10s, 30s, 60s)
- Sliding time windows: last 15 min, 30 min, 1h, 2h, 4h, 8h
- Custom interval zoom on the activity timeline
- Interactive activity timeline chart (sessions by wait event type)
- Top 10 SQL — ranked by execution count, total time and average time
- Top Wait Events distribution
- Session state breakdown (active, idle, idle in transaction)
- Lock contention analysis (blocking / blocked sessions)
- ASH report export as standalone HTML file
AWR Viewer
- Snapshot-based proactive workload analysis (snapshots created every 30 minutes)
- Report generation between any two numbered snapshots
- Report sections:
- Load Profile (throughput indicators)
- Time Model Statistics
- Instance Efficiency Ratios
- Top SQL (by elapsed time, CPU time, executions, rows, I/O)
- Wait Events Statistics
- Lock Contention Analysis
- Bloat Analysis (tables and indexes)
- Vacuum and Autovacuum Statistics
- WAL Activity and Checkpoint Statistics
- Segment I/O Statistics
- AWR report export as standalone HTML file
Trends
- Long-term trend visualization from
*_historytables - Database size evolution tracking
- Activity and throughput trends (reads, writes, commits, rollbacks)
- WAL generation trends
- Configurable time periods (7 days, 30 days, 90 days, custom range)
- Organized by thematic tabs
PMP Agent (Go)
- Lightweight, single-binary Go agent
- Metric collectors:
- ASH samples from
pg_stat_activity(every 2 seconds) pg_stat_statementsdelta (configurable interval)pg_stat_databasedelta (configurable interval)pg_database_size(configurable interval)- OS metrics (configurable interval)
- Server snapshot (every 30 minutes)
- ASH samples from
- Self-registration with the central platform (token-based)
- Gzip-compressed payloads
- Automatic retry with exponential backoff
- YAML-based configuration
Backend (Java / Spring Boot)
- REST API for all frontend data needs
- Strict layered architecture (Controller → Manager → DAO)
- AWR Snapshot Engine (automatic snapshot creation every 30 minutes)
- Data purge management for live tables
- Input validation and error handling
Repository
- PostgreSQL 14+ with TimescaleDB 2.x
- Live tables for real-time ASH data
- History tables (
*_history) for AWR snapshot data - Reference tables (sites, hosts, servers, agents, users)
Previous versions: this is the initial public release.