Skip to main content

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_activity sampled 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
  • Long-term trend visualization from *_history tables
  • 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_statements delta (configurable interval)
    • pg_stat_database delta (configurable interval)
    • pg_database_size (configurable interval)
    • OS metrics (configurable interval)
    • Server snapshot (every 30 minutes)
  • 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.