Skip to content

Commit 9bc2ecf

Browse files
authored
feat: add idle in transaction query stats threshold (#105)
1 parent 3544c16 commit 9bc2ecf

3 files changed

Lines changed: 58 additions & 20 deletions

File tree

Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
apiVersion: v1
22
name: pgdog
3-
version: v0.61
4-
appVersion: "0.1.40"
3+
version: v0.62
4+
appVersion: "0.1.41"

templates/config.yaml

Lines changed: 55 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -383,28 +383,65 @@ data:
383383
max_entries = {{ include "pgdog.intval" (.Values.qos.maxEntries | default "10_000") }}
384384
{{- end }}
385385
386-
{{- if .Values.queryStats.enabled }}
386+
{{- with .Values.queryStats }}
387+
{{- if .enabled }}
387388
[query_stats]
388-
enabled = {{ .Values.queryStats.enabled }}
389-
max_entries = {{ include "pgdog.intval" (.Values.queryStats.maxEntries | default "10_000") }}
390-
query_plan_threshold = {{ include "pgdog.intval" (.Values.queryStats.queryPlanThreshold | default 250) }}
391-
query_plans_cache = {{ include "pgdog.intval" (.Values.queryStats.queryPlansCache | default 100) }}
392-
query_plan_max_age = {{ include "pgdog.intval" (.Values.queryStats.queryPlanMaxAge | default "15_000") }}
393-
max_errors = {{ include "pgdog.intval" (.Values.queryStats.maxErrors | default 100) }}
394-
max_error_age = {{ include "pgdog.intval" (.Values.queryStats.maxErrorAge | default "300_000") }}
389+
enabled = {{ .enabled }}
390+
{{- if .maxEntries }}
391+
max_entries = {{ include "pgdog.intval" .maxEntries }}
392+
{{- end }}
393+
{{- if .queryPlanThreshold }}
394+
query_plan_threshold = {{ include "pgdog.intval" .queryPlanThreshold }}
395+
{{- end }}
396+
{{- if .queryPlansCache }}
397+
query_plans_cache = {{ include "pgdog.intval" .queryPlansCache }}
398+
{{- end }}
399+
{{- if .queryPlanMaxAge }}
400+
query_plan_max_age = {{ include "pgdog.intval" .queryPlanMaxAge }}
401+
{{- end }}
402+
{{- if .maxErrors }}
403+
max_errors = {{ include "pgdog.intval" .maxErrors }}
404+
{{- end }}
405+
{{- if .maxErrorAge }}
406+
max_error_age = {{ include "pgdog.intval" .maxErrorAge }}
407+
{{- end }}
408+
{{- if .idleInTransactionThreshold }}
409+
idle_in_transaction_threshold = {{ include "pgdog.intval" .idleInTransactionThreshold }}
410+
{{- end }}
411+
{{- end }}
395412
{{- end }}
396413
397-
{{- if .Values.control.enabled }}
414+
{{- with .Values.control }}
415+
{{- if .enabled }}
398416
[control]
399-
endpoint = {{ .Values.control.endpoint | quote }}
400-
token = {{ .Values.control.token | quote }}
401-
metrics_interval = {{ include "pgdog.intval" (.Values.control.metricsInterval | default "1_000") }}
402-
stats_interval = {{ include "pgdog.intval" (.Values.control.statsInterval | default "5_000") }}
403-
active_queries_interval = {{ include "pgdog.intval" (.Values.control.activeQueriesInterval | default "5_000") }}
404-
errors_interval = {{ include "pgdog.intval" (.Values.control.errorsInterval | default "5_000") }}
405-
request_timeout = {{ include "pgdog.intval" (.Values.control.requestTimeout | default "1_000") }}
406-
query_timings_chunk_size = {{ include "pgdog.intval" (.Values.control.queryTimingsChunkSize | default 25) }}
407-
query_timings_new_query_queue_size = {{ include "pgdog.intval" (.Values.control.queryTimingsNewQueryQueueSize | default "1_000") }}
417+
{{- if .endpoint }}
418+
endpoint = {{ .endpoint | quote }}
419+
{{- end }}
420+
{{- if .token }}
421+
token = {{ .token | quote }}
422+
{{- end }}
423+
{{- if .metricsInterval }}
424+
metrics_interval = {{ include "pgdog.intval" .metricsInterval }}
425+
{{- end }}
426+
{{- if .statsInterval }}
427+
stats_interval = {{ include "pgdog.intval" .statsInterval }}
428+
{{- end }}
429+
{{- if .activeQueriesInterval }}
430+
active_queries_interval = {{ include "pgdog.intval" .activeQueriesInterval }}
431+
{{- end }}
432+
{{- if .errorsInterval }}
433+
errors_interval = {{ include "pgdog.intval" .errorsInterval }}
434+
{{- end }}
435+
{{- if .requestTimeout }}
436+
request_timeout = {{ include "pgdog.intval" .requestTimeout }}
437+
{{- end }}
438+
{{- if .queryTimingsChunkSize }}
439+
query_timings_chunk_size = {{ include "pgdog.intval" .queryTimingsChunkSize }}
440+
{{- end }}
441+
{{- if .queryTimingsNewQueryQueueSize }}
442+
query_timings_new_query_queue_size = {{ include "pgdog.intval" .queryTimingsNewQueryQueueSize }}
443+
{{- end }}
444+
{{- end }}
408445
{{- end }}
409446
410447
{{- if .Values.rewrite }}

test/values-query-stats.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ queryStats:
77
queryPlanMaxAge: 30000
88
maxErrors: 250
99
maxErrorAge: 600000
10+
idleInTransactionThreshold: 5000
1011

1112
databases:
1213
- name: primary

0 commit comments

Comments
 (0)