All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased section should follow Release Toolkit
- Added support for pgbouncer v1.23 with new columns in
STATS
table. - Added support for PostgreSQL v17
- Metrics are updated to reflect PostgreSQL v17 metrics origin (metrics collected from
pg_stat_bgwriter
are now collected frompg_stat_checkpointer
andpg_stat_io
) when PostgreSQL v17 is used. Specifically:bgwriter.buffersWrittenForCheckpointsPerSecond
→checkpointer.buffersWrittenForCheckpointsPerSecond
,bgwriter.checkpointSyncTimeInMillisecondsPerSecond
→checkpointer.checkpointSyncTimeInMillisecondsPerSecond
,bgwriter.checkpointWriteTimeInMillisecondsPerSecond
→checkpointer.checkpointWriteTimeInMillisecondsPerSecond
,bgwriter.checkpointsRequestedPerSecond
→checkpointer.checkpointsRequestedPerSecond
,bgwriter.checkpointsScheduledPerSecond
→checkpointer.checkpointsScheduledPerSecond
,bgwriter.backendFsyncCallsPerSecond
→io.backendFsyncCallsPerSecond
,bgwriter.buffersWrittenByBackendPerSecond
→io.buffersWrittenByBackendPerSecond
.
- Upgrade go to 1.23.2
- Upgrade integrations SDK so the interval is variable and allows intervals up to 5 minutes
- Fix an issue with particular metrics when the same table/index exists in several schemas
- Added
COLLECTION_IGNORE_TABLE_LIST
in order to filter by table name.
- Updated golang version to v1.23.1
- Updated golang version to v1.22.6
- Updated golang version to v1.22.5
- Updated golang version to v1.22.3
- Updated github.com/jmoiron/sqlx to v1.4.0 - Changelog 🔗
- Updated golang version to v1.22.2
- Updated golang to version v1.21.7 to fix a vulnerability
- Updated github.com/newrelic/infra-integrations-sdk to v3.8.2+incompatible
- Pgbouncer Pools metrics are now decorated as well with the user attribute to improve the querying experience.
- Updated golang to v1.20.7
- Re-release to support Amazon Linux 2023
- Adds support for pgbouncer v18 and new metrics:
pgbouncer.pools.clientConnectionsWaitingCancelReq
,pgbouncer.pools.clientConnectionsActiveCancelReq
,pgbouncer.pools.serverConnectionsActiveCancel
,pgbouncer.pools.serverConnectionsBeingCancel
,pgbouncer.pools.serverConnectionsActive
- Updated gopkg.in/yaml.v2 to v3
- Upgrade Go version to 1.20
- Updated github.com/stretchr/testify to v1.8.4 - Changelog 🔗
- Updated github.com/jmoiron/sqlx to v1.3.5 - Changelog 🔗
- Updated github.com/lib/pq to v1.10.9 - Changelog 🔗
- In Tables with multiple indexes, only one was reported. Issue #94
- When collecting metrics from multiple databases only indexes from the 1st database were reported
- Update Go to v1.18
- Bump dependencies
Added support for more distributions:
- RHEL(EL) 9
- Ubuntu 22.04
- Updated the custom query file for Postgres 13
- fix(ci/cd): removing snyk unused step
- add_postgresql_logs_example_yml
- Updated the custom query sample file
pg_stat_statements
query, disabling it by default.
- Add cl_cancel_req to pgBouncer pool metrics.
- Numeric custom metrics without metric type defined are now converted to Gauge type instead of string.
- Adds
COLLECTION_IGNORE_DATABASE_LIST
configuration, that allows to exclude a list of database names for metrics collection.
Moved default config.sample to V4, added a dependency for infra-agent version 1.20.0.
Please notice that old V3 configuration format is deprecated, but still supported.
- Add
db.maxconnections
metric that collects the maximum number of concurrent connections to the database server.
- Index size metric now calculated using
indexrelid
, instead ofindrelid
.
- Add ARM support.
- Update Go to v1.16.
- Migrate to Go Modules
- Update Infrastracture SDK to v3.6.7.
- Update other dependecies.
- Semver Library was updated
- gopkg.in/yaml.v2 library has been updated due to a medium vulnerability
- Release pipeline has been moved to Github Actions
- Removed ping from the database connection so it works with pgbouncer
- Option
collect_bloat_metrics
which enables or disables the performance-intensive bloat query
- Issue with converting custom query results to strings
- Updated the lib/pq library
- Allow partial failures when building collection list
- Removed check for client-side certificate and key when enabling ssl. Server certificate and key are enough to create SSL connections
- Stats collection for newer pgbouncer version
- Support for custom query file
- Bug causing missing tablespace metrics
- Tablespace bloat collection for Postgres 12+
- ALL setting for
collection_list
- Example of
custom_metrics_query
custom_metrics_query
argument to support collecting non-standard metrics
- Renamed the integration executable from nr-postgresql to nri-postgresql in order to be consistent with the package naming. Important Note: if you have any security module rules (eg. SELinux), alerts or automation that depends on the name of this binary, these will have to be updated.
- Windows MSI resources
- Lock metrics behind
collect_db_lock_metrics
- Removed unneeded nrjmx dependency
- Segfault when collecting indexes with new collection list format
- A collection list mode that allows collecting everything in a list of databases
- Prefix entity namespaces with pg-
- Update SDK
- Add identity attributes
- Add optional database connection param to allow collecting metrics from any database
- Remove quote_ident that was causing failures on some systems
- Doesn't panic on failed pgbouncer connection
- Added special case for parsing Debian versions
- Added special case for parsing Ubuntu versions
- Bumped version for GA release
- Added host name as metadata for easier filtering
- Fail gracefully if no rows are returned for a query
- Description for
collection_list
now states it is required.
- Change casing of sample from PostgreSQL to Postgresql
- Missing dependency
- Issue in Makefile that was causing
make package
to fail.
- Initial version: Includes Metrics and Inventory data