Commit Graph

12 Commits

Author SHA1 Message Date
8857d61d22 v5.3.0: Performance optimization & test coverage improvements
All checks were successful
CI/CD / Test (push) Successful in 2m55s
CI/CD / Lint (push) Successful in 1m12s
CI/CD / Integration Tests (push) Successful in 50s
CI/CD / Native Engine Tests (push) Successful in 51s
CI/CD / Build Binary (push) Successful in 45s
CI/CD / Test Release Build (push) Successful in 1m20s
CI/CD / Release Binaries (push) Successful in 10m27s
Features:
- Performance analysis package with 2GB/s+ throughput benchmarks
- Comprehensive test coverage improvements (exitcode, errors, metadata 100%)
- Grafana dashboard updates
- Structured error types with codes and remediation guidance

Testing:
- Added exitcode tests (100% coverage)
- Added errors package tests (100% coverage)
- Added metadata tests (92.2% coverage)
- Improved fs tests (20.9% coverage)
- Improved checks tests (20.3% coverage)

Performance:
- 2,048 MB/s dump throughput (4x target)
- 1,673 MB/s restore throughput (5.6x target)
- Buffer pooling for bounded memory usage
2026-02-02 08:07:56 +01:00
d28871f3f4 feat: implement native restore, add PITR dashboard, fix staticcheck warnings
P0 Critical:
- Implement PostgreSQL native restore with COPY FROM support
- Implement MySQL native restore with DELIMITER handling

P1 High Priority:
- Fix deprecated strings.Title usage in mysql.go
- Fix unused variable in man.go
- Simplify TrimSuffix patterns in schedule.go
- Remove unused functions and commands

Dashboard:
- Add PITR section with 6 new panels
- Integrate PITR and dedup metrics into exporter

All checks pass: go build, staticcheck, go test -race
2026-02-02 05:48:56 +01:00
0a593e7dc6 v5.1.22: Add Restore Metrics for Prometheus/Grafana - shows parallel_jobs used
All checks were successful
CI/CD / Test (push) Successful in 1m17s
CI/CD / Lint (push) Successful in 1m13s
CI/CD / Integration Tests (push) Successful in 52s
CI/CD / Native Engine Tests (push) Successful in 54s
CI/CD / Build Binary (push) Successful in 45s
CI/CD / Test Release Build (push) Successful in 1m14s
CI/CD / Release Binaries (push) Successful in 11m15s
2026-02-01 19:37:49 +01:00
da0f3b3d9d chore: streamline Grafana dashboard - shorter descriptions, 1m refresh
All checks were successful
CI/CD / Test (push) Successful in 1m17s
CI/CD / Lint (push) Successful in 1m20s
CI/CD / Integration Tests (push) Successful in 50s
CI/CD / Native Engine Tests (push) Successful in 50s
CI/CD / Build Binary (push) Successful in 45s
CI/CD / Test Release Build (push) Successful in 1m20s
CI/CD / Release Binaries (push) Has been skipped
2026-01-31 09:21:25 +01:00
1747365d0d feat(metrics): add backup_type label and PITR metrics
All checks were successful
CI/CD / Test (push) Successful in 1m54s
CI/CD / Lint (push) Successful in 1m47s
CI/CD / Integration Tests (push) Successful in 1m28s
CI/CD / Build & Release (push) Successful in 10m57s
- Add backup_type label (full/incremental/pitr_base) to core metrics
- Add new dbbackup_backup_by_type metric for backup type distribution
- Add complete PITR metrics: pitr_enabled, pitr_archive_lag_seconds,
  pitr_chain_valid, pitr_gap_count, pitr_recovery_window_minutes
- Add PITR-specific alerting rules for archive lag and chain integrity
- Update METRICS.md and EXPORTER.md documentation
- Bump version to 4.1.0
2026-01-27 14:44:27 +01:00
7b5aafbb02 feat(monitoring): enhance Grafana dashboard and add alerting rules
- Add dashboard description and panel descriptions for all 17 panels
- Add new Verification Status panel using dbbackup_backup_verified metric
- Add collapsible Backup Overview row for better organization
- Enable shared crosshair (graphTooltip=1) for correlated analysis
- Fix overlapping dedup panel positions (y: 31/36 → 22/27/32)
- Adjust top row panel widths for better balance (5+5+5+4+5=24)
- Add 'monitoring' tag for dashboard discovery

- Add grafana/alerting-rules.yaml with 9 Prometheus alerts:
  - DBBackupRPOCritical, DBBackupRPOWarning, DBBackupFailure
  - DBBackupNotVerified, DBBackupDedupRatioLow, DBBackupDedupDiskGrowth
  - DBBackupExporterDown, DBBackupMetricsStale, DBBackupNeverSucceeded

- Add Makefile for streamlined development workflow
- Add logger tests and optimizations (buffer pooling, early level check)
- Fix deprecated netErr.Temporary() call (Go 1.18+)
- Fix staticcheck warnings for redundant fmt.Sprintf calls
- Clone engine now validates disk space before operations
2026-01-24 13:18:59 +01:00
379ba245a0 feat(metrics): rename --instance to --server flag
BREAKING CHANGE: The --instance flag is renamed to --server to avoid
collision with Prometheus's reserved 'instance' label.

Migration:
- Update cronjobs: --instance → --server
- Update Grafana dashboard (included) or use new JSON
- Metrics now output server= instead of instance=
2026-01-24 08:18:09 +01:00
7b0cb898b8 Update Grafana dashboard with new dedup panels
Added panels for:
- Compression Ratio (separate from dedup ratio)
- Oldest Chunk (retention monitoring)
- Newest Chunk
2026-01-23 14:47:41 +01:00
e5577e44ed fix(grafana): update dashboard queries and thresholds
- Fix Last Backup Status panel to use bool modifier for proper 1/0 values
- Change RPO threshold from 24h to 7 days (604800s) for status check
- Clean up table transformations to exclude duplicate fields
- Update variable refresh to trigger on time range change
2026-01-17 13:24:54 +01:00
7895ffedb8 Build all platforms v3.42.22 2026-01-12 09:54:35 +01:00
2fa08681a1 fix: correct Grafana dashboard metric names for backup size and duration panels 2026-01-09 09:15:16 +01:00
1a8d8e6d5f Add corrected Grafana dashboard - fix status query
- Changed status query from dbbackup_backup_verified to RPO-based check
- dbbackup_rpo_seconds < 86400 returns SUCCESS when backup < 24h old
- Fixes false FAILED status when verify operations not run
- Includes: status, RPO, backup size, duration, and overview table panels
2026-01-08 12:27:23 +01:00