Skip to content

Commit 36773e0

Browse files
authored
Merge pull request prometheus-community#673 from cezmunsta/pg_stat_activity-enhancements
Capture usename and application_name for pg_stat_activity
2 parents 94a89b0 + d9ac4be commit 36773e0

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

Diff for: cmd/postgres_exporter/postgres_exporter.go

+6-4
Original file line numberDiff line numberDiff line change
@@ -282,10 +282,12 @@ var builtinMetricMaps = map[string]intermediateMetricMap{
282282
},
283283
"pg_stat_activity": {
284284
map[string]ColumnMapping{
285-
"datname": {LABEL, "Name of this database", nil, nil},
286-
"state": {LABEL, "connection state", nil, semver.MustParseRange(">=9.2.0")},
287-
"count": {GAUGE, "number of connections in this state", nil, nil},
288-
"max_tx_duration": {GAUGE, "max duration in seconds any active transaction has been running", nil, nil},
285+
"datname": {LABEL, "Name of this database", nil, nil},
286+
"state": {LABEL, "connection state", nil, semver.MustParseRange(">=9.2.0")},
287+
"usename": {LABEL, "connection usename", nil, nil},
288+
"application_name": {LABEL, "connection application_name", nil, nil},
289+
"count": {GAUGE, "number of connections in this state", nil, nil},
290+
"max_tx_duration": {GAUGE, "max duration in seconds any active transaction has been running", nil, nil},
289291
},
290292
true,
291293
0,

Diff for: cmd/postgres_exporter/queries.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ var queryOverrides = map[string][]OverrideQuery{
137137
SELECT
138138
pg_database.datname,
139139
tmp.state,
140+
tmp2.usename,
141+
tmp2.application_name,
140142
COALESCE(count,0) as count,
141143
COALESCE(max_tx_duration,0) as max_tx_duration
142144
FROM
@@ -153,9 +155,11 @@ var queryOverrides = map[string][]OverrideQuery{
153155
SELECT
154156
datname,
155157
state,
158+
usename,
159+
application_name,
156160
count(*) AS count,
157161
MAX(EXTRACT(EPOCH FROM now() - xact_start))::float AS max_tx_duration
158-
FROM pg_stat_activity GROUP BY datname,state) AS tmp2
162+
FROM pg_stat_activity GROUP BY datname,state,usename,application_name) AS tmp2
159163
ON tmp.state = tmp2.state AND pg_database.datname = tmp2.datname
160164
`,
161165
},
@@ -165,9 +169,11 @@ var queryOverrides = map[string][]OverrideQuery{
165169
SELECT
166170
datname,
167171
'unknown' AS state,
172+
usename,
173+
application_name,
168174
COALESCE(count(*),0) AS count,
169175
COALESCE(MAX(EXTRACT(EPOCH FROM now() - xact_start))::float,0) AS max_tx_duration
170-
FROM pg_stat_activity GROUP BY datname
176+
FROM pg_stat_activity GROUP BY datname,usename,application_name
171177
`,
172178
},
173179
},

0 commit comments

Comments
 (0)