Skip to content

Releases: pganalyze/collector

v0.54.0

06 Mar 06:17
Compare
Choose a tag to compare
  • Update pg_query_go to v5 / Postgres 16 parser
  • Bugfix: Skip collecting extended statistics for Postgres 11 and below
    • Since the system view pg_stats_ext was introduced starting with Postgres
      12, this was causing the issue of collecting any schema data on Postgres 11
      and below

v0.53.0

03 Feb 04:05
Compare
Choose a tag to compare

v0.52.4

22 Dec 10:10
81a109d
Compare
Choose a tag to compare
  • Log Insights: Add support for receiving syslog over TLS
    • You can configure a TLS certificate for the collector syslog server using
      the following config settings:
      • db_log_syslog_server_cert_file / LOG_SYSLOG_SERVER_CERT_FILE or
        db_log_syslog_server_cert_contents / LOG_SYSLOG_SERVER_CERT_CONTENTS
      • db_log_syslog_server_key_file / LOG_SYSLOG_SERVER_KEY_FILE or
        db_log_syslog_server_key_contents / LOG_SYSLOG_SERVER_KEY_CONTENTS
      • The Certificate Authority both on the server side and the client side also
        can be specified via config settings
  • Azure: Fix managed identity credential creation in Log Insights
    • This fixes a failure of obtaining logs from Azure when the managed identity
      credential was used. This was with the "failed to set up workload identity
      Azure credentials" error message
  • Citus: Avoid error collecting schema stats on tables with no indexes

v0.52.3

05 Dec 03:39
7190482
Compare
Choose a tag to compare
  • Collector log output: Reduce frequency of some snapshot log events
    • Previously, near real-time "compact" snapshots would generate log lines
      every 10 seconds, which made errors hard to find
    • Now, a single log line is printed once a minute with a summary of snapshots
      submitted
    • Note that --verbose will still log every snapshot as it's submitted
  • Collector log output: Add "full" prefix for full snapshots sent every 10 minutes
    • This changes the "Submitted snapshot successfully" message to read
      "Submitted full snapshot successfully" instead
  • OpenTelemetry integration:
    • Support pganalyze tracestate to set start time of the span
    • Start time can be specified with t member key as Unix time in seconds,
      with decimals to specify precision down to nano seconds
    • This allows specifying a better span start and end time in case precise
      timestamps are not present in the Postgres logs, like with Amazon RDS
  • Allow pg_stat_statements failures and continue snapshot processing
    • Previously, when pg_stat_statements data collection failed (e.g. a timeout
      when the query text file got too large), the whole snapshot was treated as
      failed and only reported an error snapshot to pganalyze, without any
      statistics
    • Instead, treat pg_stat_statements errors as a collector error in the
      snapshot, but continue afterwards and report other statistics that were
      collected successfully

v0.52.2

26 Oct 05:29
b366c7f
Compare
Choose a tag to compare
  • OpenTelemetry integration:
    • Support sqlcommenter format query tag (key='value') for traceparent
    • Add a new config setting otel_service_name / OTEL_SERVICE_NAME for
      customizing the OpenTelemetry service name

v0.52.1

12 Oct 06:06
4addb95
Compare
Choose a tag to compare
  • Postgres 14+: Include toplevel attribute in statement statistics key
    • This could have caused statistics to be incorrect in Postgres 14+ when
      the same query was called both from within a function (toplevel=false)
      and directly (toplevel=true), with pg_stat_statements.track set to "all"
    • If affected, the issue may have shown by bogus statistics being recorded,
      for example very high call counts, since the statement stats diff would
      not have used the correct reference

v0.52.0

05 Oct 09:47
Compare
Choose a tag to compare
  • OpenTelemetry integration: Allow exporting EXPLAIN plans as trace spans
    • This is an experimental feature that allows configuring the collector
      to send an OpenTelemetry tracing span for each processed EXPLAIN plan
      with an associated traceparent query tag (e.g. set by sqlcommenter)
      to the configured OpenTelemetry endpoint
    • To configure the OTLP protocol endpoint, set the new config setting
      otel_exporter_otlp_endpoint / OTEL_EXPORTER_OTLP_ENDPOINT, with a
      endpoint string like "http://localhost:4318". You can also optionally
      set the otel_exporter_otlp_headers / OTEL_EXPORTER_OTLP_HEADERS
      variable to add authentication details used by hosted tracing providers
      like Honeycomb and New Relic
  • Relax locking requirements for collecting table stats
    • This avoids skipped statistics due to page or tuple level locks,
      which do not conflict with pg_relation_size as run by the collector.
  • Activity snapshots: Normalize queries for filter_query_sample = normalize
    • This matches the existing behavior when filter_query_sample is set
      to all, which is to run the normalization function on pg_stat_activity
      query texts, making sure all parameter values are replaced with $n
      parameter references
  • Self-managed servers: Add test run notice when system stats are skipped
  • Docker log tail: Re-order args to also support podman aliased as docker

v0.51.1

16 Aug 05:13
c6a1217
Compare
Choose a tag to compare
  • Fix handling of tables that only have an entry in pg_class, but not pg_stat_user_tables
    • Due to a bug introduced in the last release (0.51.0), databases with such tables would error out and be ignored due to n_mod_since_analyze and n_ins_since_vacuum being NULL

v0.51.0

12 Aug 21:04
Compare
Choose a tag to compare
  • Autovacuum:
    • Add support for updated log format in Postgres 15+
    • Remember unqualified name for "skipping vacuum" log events
    • Add more cases for "canceling autovacuum task" log context line
    • Track n_ins_since_vacuum value to determine when insert-based autovacuum was triggered
  • AWS Aurora: Correctly detect Aurora reader instances as replicas
  • Self-managed servers: Use log_timezone setting to determine log timezone if possible
  • Azure: Fix partition selection issue in Azure log processing
  • Helm chart: Improve default security settings
  • Update Go version to 1.21
  • Packages:
    • Switch to SHA256 signatures to fix RHEL9 install errors
    • Drop Ubuntu 16.04, 18.04 and Debian 10 (Buster) support, as they are no longer supported

v0.50.1

05 Jul 02:50
812b3f4
Compare
Choose a tag to compare
  • Bugfix: Return correct exit code with the data collection test run
    • The correct exit code was returned with "--reload --test", but not with "--test"
  • Xmin horizon metrics: Fix incorrect ReplicationSlotCatalog
    • ReplicationSlot was wrongly sent as ReplicationSlotCatalog
    • Xmin horizon metrics collection was introduced in 0.49.0
  • Update github.com/satori/go.uuid to 1.2.0
    • Fixes CVE-2021-3538 which may have led to random UUIDs having less
      randomness than intended
    • Effective security impact of this historic issue is expected to be minimal,
      since random UUIDs are only used for snapshot identifiers associated to a
      particular pganalyze server ID
  • Log Insights: Add autovacuum index statistics information introduced in Postgres 14
    • Previously, if autovacuum logs included such information, the collector
      failed to match the log line and the events would not be classified
      correctly in Log Insights