From 124c26c9dbd6275a7f44061c3d3a447ce970896b Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Thu, 21 May 2026 20:41:25 -0700 Subject: [PATCH 1/2] feat: add idle in transaction query stats threshold --- Chart.yaml | 4 +-- templates/config.yaml | 73 ++++++++++++++++++++++++++++++++----------- 2 files changed, 57 insertions(+), 20 deletions(-) diff --git a/Chart.yaml b/Chart.yaml index 11e7517..0977986 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v1 name: pgdog -version: v0.61 -appVersion: "0.1.40" +version: v0.62 +appVersion: "0.1.41" diff --git a/templates/config.yaml b/templates/config.yaml index cec07b4..bb49c3f 100644 --- a/templates/config.yaml +++ b/templates/config.yaml @@ -383,28 +383,65 @@ data: max_entries = {{ include "pgdog.intval" (.Values.qos.maxEntries | default "10_000") }} {{- end }} - {{- if .Values.queryStats.enabled }} + {{- with .Values.queryStats }} + {{- if .enabled }} [query_stats] - enabled = {{ .Values.queryStats.enabled }} - max_entries = {{ include "pgdog.intval" (.Values.queryStats.maxEntries | default "10_000") }} - query_plan_threshold = {{ include "pgdog.intval" (.Values.queryStats.queryPlanThreshold | default 250) }} - query_plans_cache = {{ include "pgdog.intval" (.Values.queryStats.queryPlansCache | default 100) }} - query_plan_max_age = {{ include "pgdog.intval" (.Values.queryStats.queryPlanMaxAge | default "15_000") }} - max_errors = {{ include "pgdog.intval" (.Values.queryStats.maxErrors | default 100) }} - max_error_age = {{ include "pgdog.intval" (.Values.queryStats.maxErrorAge | default "300_000") }} + enabled = {{ .enabled }} + {{- if .maxEntries }} + max_entries = {{ include "pgdog.intval" .maxEntries }} + {{- end }} + {{- if .queryPlanThreshold }} + query_plan_threshold = {{ include "pgdog.intval" .queryPlanThreshold }} + {{- end }} + {{- if .queryPlansCache }} + query_plans_cache = {{ include "pgdog.intval" .queryPlansCache }} + {{- end }} + {{- if .queryPlanMaxAge }} + query_plan_max_age = {{ include "pgdog.intval" .queryPlanMaxAge }} + {{- end }} + {{- if .maxErrors }} + max_errors = {{ include "pgdog.intval" .maxErrors }} + {{- end }} + {{- if .maxErrorAge }} + max_error_age = {{ include "pgdog.intval" .maxErrorAge }} + {{- end }} + {{- if .idleInTransactionThreshold }} + idle_in_transaction_threshold = {{ include "pgdog.intval" .idleInTransactionThreshold }} + {{- end }} + {{- end }} {{- end }} - {{- if .Values.control.enabled }} + {{- with .Values.control }} + {{- if .enabled }} [control] - endpoint = {{ .Values.control.endpoint | quote }} - token = {{ .Values.control.token | quote }} - metrics_interval = {{ include "pgdog.intval" (.Values.control.metricsInterval | default "1_000") }} - stats_interval = {{ include "pgdog.intval" (.Values.control.statsInterval | default "5_000") }} - active_queries_interval = {{ include "pgdog.intval" (.Values.control.activeQueriesInterval | default "5_000") }} - errors_interval = {{ include "pgdog.intval" (.Values.control.errorsInterval | default "5_000") }} - request_timeout = {{ include "pgdog.intval" (.Values.control.requestTimeout | default "1_000") }} - query_timings_chunk_size = {{ include "pgdog.intval" (.Values.control.queryTimingsChunkSize | default 25) }} - query_timings_new_query_queue_size = {{ include "pgdog.intval" (.Values.control.queryTimingsNewQueryQueueSize | default "1_000") }} + {{- if .endpoint }} + endpoint = {{ .endpoint | quote }} + {{- end }} + {{- if .token }} + token = {{ .token | quote }} + {{- end }} + {{- if .metricsInterval }} + metrics_interval = {{ include "pgdog.intval" .metricsInterval }} + {{- end }} + {{- if .statsInterval }} + stats_interval = {{ include "pgdog.intval" .statsInterval }} + {{- end }} + {{- if .activeQueriesInterval }} + active_queries_interval = {{ include "pgdog.intval" .activeQueriesInterval }} + {{- end }} + {{- if .errorsInterval }} + errors_interval = {{ include "pgdog.intval" .errorsInterval }} + {{- end }} + {{- if .requestTimeout }} + request_timeout = {{ include "pgdog.intval" .requestTimeout }} + {{- end }} + {{- if .queryTimingsChunkSize }} + query_timings_chunk_size = {{ include "pgdog.intval" .queryTimingsChunkSize }} + {{- end }} + {{- if .queryTimingsNewQueryQueueSize }} + query_timings_new_query_queue_size = {{ include "pgdog.intval" .queryTimingsNewQueryQueueSize }} + {{- end }} + {{- end }} {{- end }} {{- if .Values.rewrite }} From fb6d8dc6c1569db3c74b02f6342e8990d241e26c Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Thu, 21 May 2026 20:43:34 -0700 Subject: [PATCH 2/2] test --- test/values-query-stats.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/test/values-query-stats.yaml b/test/values-query-stats.yaml index 405e526..8f2b9d7 100644 --- a/test/values-query-stats.yaml +++ b/test/values-query-stats.yaml @@ -7,6 +7,7 @@ queryStats: queryPlanMaxAge: 30000 maxErrors: 250 maxErrorAge: 600000 + idleInTransactionThreshold: 5000 databases: - name: primary