You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: config/pgwatch-prometheus/metrics.yml
+37-97Lines changed: 37 additions & 97 deletions
Original file line number
Diff line number
Diff line change
@@ -338,7 +338,8 @@ metrics:
338
338
sqls:
339
339
11: |-
340
340
select /* pgwatch_generated */
341
-
(current_database() as tag_datname,
341
+
(extract(epoch from now()) * 1e9)::int8 as epoch_ns,
342
+
current_database() as tag_datname,
342
343
slot_name::text as tag_slot_name,
343
344
coalesce(plugin, 'physical')::text as tag_plugin,
344
345
active,
@@ -359,6 +360,8 @@ metrics:
359
360
sqls:
360
361
11: |-
361
362
select /* pgwatch_generated */
363
+
(extract(epoch from now()) * 1e9)::int8 as epoch_ns,
364
+
current_database() as tag_datname,
362
365
name as tag_setting_name,
363
366
setting as tag_setting_value,
364
367
unit as tag_unit,
@@ -402,7 +405,8 @@ metrics:
402
405
join pg_class c on c.oid = i.inhrelid
403
406
),
404
407
q_tstats as (
405
-
select (current_database() as tag_datname,
408
+
select (extract(epoch from now()) * 1e9)::int8 as epoch_ns,
409
+
current_database() as tag_datname,
406
410
relid, -- not sent to final output
407
411
quote_ident(schemaname) as tag_schema,
408
412
quote_ident(ut.relname) as tag_table_name,
@@ -537,7 +541,8 @@ metrics:
537
541
join pg_class c on c.oid = i.inhrelid
538
542
),
539
543
q_tstats as (
540
-
select (current_database() as tag_datname,
544
+
select (extract(epoch from now()) * 1e9)::int8 as epoch_ns,
545
+
current_database() as tag_datname,
541
546
relid, -- not sent to final output
542
547
quote_ident(schemaname) as tag_schema,
543
548
quote_ident(ut.relname) as tag_table_name,
@@ -747,7 +752,8 @@ metrics:
747
752
state as tag_state,
748
753
count(*) as count,
749
754
MAX(extract(epoch from now() - xact_start))::float as max_tx_duration
750
-
from pg_stat_activity group by datname, tag_application_name, tag_state
755
+
from pg_stat_activity
756
+
group by datname, tag_application_name, tag_state
751
757
) as tmp2
752
758
on tmp.tag_state = tmp2.tag_state and pg_database.datname = tmp2.datname
753
759
where pg_database.datname = current_database()
@@ -776,34 +782,34 @@ metrics:
776
782
last_archived_wal
777
783
from pg_stat_archiver
778
784
)
779
-
select current_database() as tag_datname, coalesce(((cw.log - aw.log) * 256) + (cw.seg-aw.seg), -1) as pending_wal_count from current_wal cw, archive_wal aw
785
+
select (extract(epoch from now()) * 1e9)::int8 as epoch_ns,
786
+
current_database() as tag_datname,
787
+
coalesce(((cw.log - aw.log) * 256) + (cw.seg-aw.seg), -1) as pending_wal_count
788
+
from current_wal cw, archive_wal aw
780
789
gauges:
781
790
- pending_wal_count
782
791
pg_blocked:
783
792
sqls:
784
-
11: |
793
+
11: |-
785
794
select
795
+
(extract(epoch from now()) * 1e9)::int8 as epoch_ns,
786
796
current_database() as tag_datname,
787
-
count(blocked.transactionid) as queries,
788
-
'__transaction__' as tag_table
789
-
from pg_catalog.pg_locks blocked
790
-
where not blocked.granted and locktype = 'transactionid'
791
-
limit 5000
792
-
group by locktype
793
-
union
794
-
select
795
-
count(blocked.relation) as queries,
796
-
blocked.relation::regclass::text as tag_table
797
+
count(*) as queries,
798
+
case
799
+
when locktype = 'transactionid' then '__transaction__'
800
+
else relation::regclass::text
801
+
end as tag_table
797
802
from pg_catalog.pg_locks blocked
798
-
where not blocked.granted and locktype != 'transactionid'
803
+
where not blocked.granted
804
+
group by locktype, relation
799
805
limit 5000
800
-
group by relation
801
806
gauges:
802
807
- queries
803
808
pg_database_wraparound:
804
809
sqls:
805
810
11: |
806
811
select
812
+
(extract(epoch from now()) * 1e9)::int8 as epoch_ns,
807
813
datname as tag_datname,
808
814
age(d.datfrozenxid) as age_datfrozenxid,
809
815
mxid_age(d.datminmxid) as age_datminmxid
@@ -814,64 +820,22 @@ metrics:
814
820
gauges:
815
821
- age_datfrozenxid
816
822
- age_datminmxid
817
-
pg_gin_index:
818
-
sqls:
819
-
11: |
820
-
select
821
-
current_database() as tag_datname,
822
-
index_name as tag_index_name,
823
-
pending_list_bytes as pending_list_bytes
824
-
from
825
-
postgres_gin_pending_list_size()
826
-
gauges:
827
-
- pending_list_bytes
828
823
pg_long_running_transactions:
829
824
sqls:
830
825
11: |
831
-
select current_database() as tag_datname,
832
-
COUNT(*) as transactions,
833
-
COALESCE(MAX(extract(epoch from (clock_timestamp() - xact_start)))::int8, 0) as age_in_seconds
826
+
select (extract(epoch from now()) * 1e9)::int8 as epoch_ns,
827
+
current_database() as tag_datname,
828
+
COUNT(*) as transactions,
829
+
COALESCE(MAX(extract(epoch from (clock_timestamp() - xact_start)))::int8, 0) as age_in_seconds
834
830
from pg_catalog.pg_stat_activity
835
831
where state is distinct from 'idle' and (now() - xact_start) > '1 minutes'::interval and query not like 'autovacuum:%'
836
832
gauges:
837
833
- '*'
838
-
pg_stat_kcache:
839
-
sqls:
840
-
11: |
841
-
WITH ranked_kcache as (
842
-
select pg_get_userbyid(pg_stat_kcache_raw.userid) as tag_user,
843
-
pg_database.datname,
844
-
pg_stat_kcache_raw.queryid,
845
-
pg_stat_kcache_raw.exec_user_time,
846
-
pg_stat_kcache_raw.exec_system_time,
847
-
pg_stat_kcache_raw.exec_user_time + pg_stat_kcache_raw.exec_system_time as tag_exec_total_time,
848
-
row_number() over (order by pg_stat_kcache_raw.exec_user_time + pg_stat_kcache_raw.exec_system_time desc)as rn
849
-
from public.pg_stat_kcache()
850
-
pg_stat_kcache_raw inner join pg_database on pg_database.oid = pg_stat_kcache_raw.dbid
851
-
)
852
-
select ranked_kcache.tag_user,
853
-
datname,
854
-
queryid,
855
-
exec_user_time,
856
-
exec_system_time,
857
-
exec_total_time
858
-
from ranked_kcache where rn <= 500
859
-
union all
860
-
select 'tail_dummy_user' as tag_user,
861
-
current_database() as datname,
862
-
-1 as queryid,
863
-
sum(exec_user_time) as exec_user_time,
864
-
sum(exec_system_time) as exec_system_time,
865
-
sum(exec_total_time) as exec_total_time
866
-
from ranked_kcache where rn > 500
867
-
gauges:
868
-
- exec_user_time
869
-
- exec_system_time
870
-
- exec_total_time
871
834
pg_stat_replication:
872
835
sqls:
873
836
11: |
874
-
select current_database() as tag_datname,
837
+
select (extract(epoch from now()) * 1e9)::int8 as epoch_ns,
838
+
current_database() as tag_datname,
875
839
application_name as tag_application_name,
876
840
(pg_current_wal_lsn() - '0/0') % (2^52)::bigint as current_wal_lsn,
877
841
(sent_lsn - '0/0') % (2^52)::bigint as sent_lsn,
@@ -1167,30 +1131,6 @@ metrics:
1167
1131
- current
1168
1132
- xmin
1169
1133
- xmin_age
1170
-
pg_wait_sampling:
1171
-
sqls:
1172
-
11: |
1173
-
select
1174
-
current_database() as tag_datname,
1175
-
coalesce(p.event_type, 'CPU*') as tag_wait_type,
1176
-
coalesce(p.event, 'CPU*') as tag_wait_event,
1177
-
SUM(p.count) as count,
1178
-
p.queryid as tag_queryid,
1179
-
pgsa.backend_type as tag_backend_type
1180
-
from pg_wait_sampling_profile p left OUTER join pg_stat_statements s on p.queryid = s.queryid left OUTER join pg_stat_activity pgsa on pgsa.pid = p.pid group by p.queryid, p.event_type, p.event, pgsa.backend_type
1181
-
gauges:
1182
-
- count
1183
-
pg_wait_sampling_agg:
1184
-
sqls:
1185
-
11: |
1186
-
select
1187
-
current_database() as tag_datname,
1188
-
coalesce(p.event_type, 'CPU*') as tag_wait_type,
1189
-
coalesce(p.event, 'CPU*') as tag_wait_event,
1190
-
SUM(p.count) as count
1191
-
from pg_wait_sampling_profile p group by p.event_type, p.event
1192
-
gauges:
1193
-
- count
1194
1134
pg_xlog_position:
1195
1135
sqls:
1196
1136
11: |
@@ -1433,8 +1373,8 @@ metrics:
1433
1373
select count(1)
1434
1374
from fk_indexes fi
1435
1375
where
1436
-
fi.fk_table_ref = pct.relname
1437
-
and fi.opclasses like (array_to_string(pidx.indclass, ', ') || '%')
1376
+
fi.tag_fk_table_ref = pct.relname
1377
+
and fi.tag_opclasses like (array_to_string(pidx.indclass, ', ') || '%')
1438
1378
) > 0)::int as supports_fk
1439
1379
from pg_index pidx
1440
1380
join pg_class as pci on pci.oid = pidx.indexrelid
@@ -1451,7 +1391,11 @@ metrics:
1451
1391
data.*
1452
1392
from data
1453
1393
)
1454
-
select * from num_data;
1394
+
select
1395
+
(extract(epoch from now()) * 1e9)::int8 as epoch_ns,
0 commit comments