Skip to content

Commit 8d6ba11

Browse files
author
Dementii Priadko
committed
Merge branch 'add-bgwriter-and-vacuum' into 'main'
Added bgwriter and vacuum graphs See merge request postgres-ai/postgres_ai!43
2 parents ec6998f + 257a38e commit 8d6ba11

File tree

3 files changed

+579
-69
lines changed

3 files changed

+579
-69
lines changed

config/grafana/dashboards/Dashboard_1_Node_performance_overview.json

Lines changed: 319 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"editable": true,
1919
"fiscalYearStartMonth": 0,
2020
"graphTooltip": 1,
21-
"id": 2,
21+
"id": 8,
2222
"links": [],
2323
"panels": [
2424
{
@@ -1157,7 +1157,38 @@
11571157
},
11581158
"unit": "percent"
11591159
},
1160-
"overrides": []
1160+
"overrides": [
1161+
{
1162+
"matcher": {
1163+
"id": "byFrameRefID",
1164+
"options": "A"
1165+
},
1166+
"properties": [
1167+
{
1168+
"id": "color",
1169+
"value": {
1170+
"fixedColor": "green",
1171+
"mode": "fixed"
1172+
}
1173+
}
1174+
]
1175+
},
1176+
{
1177+
"matcher": {
1178+
"id": "byFrameRefID",
1179+
"options": "B"
1180+
},
1181+
"properties": [
1182+
{
1183+
"id": "color",
1184+
"value": {
1185+
"fixedColor": "red",
1186+
"mode": "fixed"
1187+
}
1188+
}
1189+
]
1190+
}
1191+
]
11611192
},
11621193
"gridPos": {
11631194
"h": 8,
@@ -1185,6 +1216,20 @@
11851216
},
11861217
"pluginVersion": "12.0.2",
11871218
"targets": [
1219+
{
1220+
"datasource": {
1221+
"type": "prometheus",
1222+
"uid": "P7A0D6631BB10B34F"
1223+
},
1224+
"editorMode": "code",
1225+
"expr": "sum(irate(pgwatch_db_stats_xact_rollback{cluster='$cluster_name', node_name='$node_name', datname=\"$db_name\"}[$__rate_interval]))/(sum(irate(pgwatch_db_stats_xact_commit{cluster='$cluster_name', node_name='$node_name', datname=\"$db_name\"}[$__rate_interval]))+sum(irate(pgwatch_db_stats_xact_rollback{cluster='$cluster_name', node_name='$node_name', datname=\"$db_name\"}[$__rate_interval]))) * 100",
1226+
"hide": false,
1227+
"instant": false,
1228+
"interval": "20",
1229+
"legendFormat": "Rollbacks",
1230+
"range": true,
1231+
"refId": "B"
1232+
},
11881233
{
11891234
"editorMode": "code",
11901235
"expr": "sum(irate(pgwatch_db_stats_xact_commit{cluster='$cluster_name', node_name='$node_name', datname=\"$db_name\"}[$__rate_interval]))/(sum(irate(pgwatch_db_stats_xact_commit{cluster='$cluster_name', node_name='$node_name', datname=\"$db_name\"}[$__rate_interval]))+sum(irate(pgwatch_db_stats_xact_rollback{cluster='$cluster_name', node_name='$node_name', datname=\"$db_name\"}[$__rate_interval]))) * 100",
@@ -1194,7 +1239,7 @@
11941239
"refId": "A"
11951240
}
11961241
],
1197-
"title": "Commit ratio",
1242+
"title": "Commit vs Rollback ratio",
11981243
"type": "timeseries"
11991244
},
12001245
{
@@ -3791,7 +3836,269 @@
37913836
"refId": "A"
37923837
}
37933838
],
3794-
"title": "Age of the oldest multi-transaction ID",
3839+
"title": "Age of the oldest multi-transaction ID that has not been frozen",
3840+
"type": "timeseries"
3841+
},
3842+
{
3843+
"datasource": {
3844+
"type": "prometheus",
3845+
"uid": "P7A0D6631BB10B34F"
3846+
},
3847+
"fieldConfig": {
3848+
"defaults": {
3849+
"color": {
3850+
"mode": "palette-classic"
3851+
},
3852+
"custom": {
3853+
"axisBorderShow": false,
3854+
"axisCenteredZero": false,
3855+
"axisColorMode": "text",
3856+
"axisLabel": "",
3857+
"axisPlacement": "auto",
3858+
"barAlignment": 0,
3859+
"barWidthFactor": 0.6,
3860+
"drawStyle": "line",
3861+
"fillOpacity": 0,
3862+
"gradientMode": "none",
3863+
"hideFrom": {
3864+
"legend": false,
3865+
"tooltip": false,
3866+
"viz": false
3867+
},
3868+
"insertNulls": false,
3869+
"lineInterpolation": "linear",
3870+
"lineWidth": 1,
3871+
"pointSize": 1,
3872+
"scaleDistribution": {
3873+
"type": "linear"
3874+
},
3875+
"showPoints": "auto",
3876+
"spanNulls": false,
3877+
"stacking": {
3878+
"group": "A",
3879+
"mode": "none"
3880+
},
3881+
"thresholdsStyle": {
3882+
"mode": "off"
3883+
}
3884+
},
3885+
"mappings": [],
3886+
"thresholds": {
3887+
"mode": "absolute",
3888+
"steps": [
3889+
{
3890+
"color": "green"
3891+
},
3892+
{
3893+
"color": "red",
3894+
"value": 80
3895+
}
3896+
]
3897+
},
3898+
"unit": "binBps"
3899+
},
3900+
"overrides": []
3901+
},
3902+
"gridPos": {
3903+
"h": 10,
3904+
"w": 24,
3905+
"x": 0,
3906+
"y": 149
3907+
},
3908+
"id": 41,
3909+
"options": {
3910+
"legend": {
3911+
"calcs": [
3912+
"min",
3913+
"max",
3914+
"mean"
3915+
],
3916+
"displayMode": "table",
3917+
"placement": "bottom",
3918+
"showLegend": true
3919+
},
3920+
"tooltip": {
3921+
"hideZeros": false,
3922+
"mode": "single",
3923+
"sort": "none"
3924+
}
3925+
},
3926+
"pluginVersion": "12.0.2",
3927+
"targets": [
3928+
{
3929+
"disableTextWrap": false,
3930+
"editorMode": "code",
3931+
"expr": "rate(pgwatch_bgwriter_buffers_checkpoint{datname=\"$db_name\"}[$__rate_interval]) * on(datname) pgwatch_settings_numeric_value{datname=\"$db_name\", setting_name=\"block_size\"}",
3932+
"fullMetaSearch": false,
3933+
"includeNullMetadata": true,
3934+
"interval": "20",
3935+
"legendFormat": "Cleaned by the Checkpointer",
3936+
"range": true,
3937+
"refId": "A",
3938+
"useBackend": false
3939+
},
3940+
{
3941+
"datasource": {
3942+
"type": "prometheus",
3943+
"uid": "P7A0D6631BB10B34F"
3944+
},
3945+
"editorMode": "code",
3946+
"expr": "irate(pgwatch_bgwriter_buffers_clean[$__rate_interval]) * on(datname) pgwatch_settings_numeric_value{datname=\"$db_name\", setting_name=\"block_size\"}",
3947+
"hide": false,
3948+
"instant": false,
3949+
"interval": "20",
3950+
"legendFormat": "Cleaned by the Background Writer",
3951+
"range": true,
3952+
"refId": "B"
3953+
},
3954+
{
3955+
"datasource": {
3956+
"type": "prometheus",
3957+
"uid": "P7A0D6631BB10B34F"
3958+
},
3959+
"editorMode": "code",
3960+
"expr": "irate(pgwatch_bgwriter_buffers_backend[$__rate_interval]) * on(datname) pgwatch_settings_numeric_value{datname=\"$db_name\", setting_name=\"block_size\"}",
3961+
"hide": false,
3962+
"instant": false,
3963+
"interval": "20",
3964+
"legendFormat": "Cleaned by backends",
3965+
"range": true,
3966+
"refId": "C"
3967+
}
3968+
],
3969+
"title": "bgwriter and checkpointer",
3970+
"type": "timeseries"
3971+
},
3972+
{
3973+
"datasource": {
3974+
"type": "prometheus",
3975+
"uid": "P7A0D6631BB10B34F"
3976+
},
3977+
"fieldConfig": {
3978+
"defaults": {
3979+
"color": {
3980+
"mode": "palette-classic"
3981+
},
3982+
"custom": {
3983+
"axisBorderShow": false,
3984+
"axisCenteredZero": false,
3985+
"axisColorMode": "text",
3986+
"axisLabel": "",
3987+
"axisPlacement": "auto",
3988+
"axisSoftMax": 7,
3989+
"axisSoftMin": 1,
3990+
"barAlignment": 0,
3991+
"barWidthFactor": 0.6,
3992+
"drawStyle": "points",
3993+
"fillOpacity": 0,
3994+
"gradientMode": "none",
3995+
"hideFrom": {
3996+
"legend": false,
3997+
"tooltip": false,
3998+
"viz": false
3999+
},
4000+
"insertNulls": false,
4001+
"lineInterpolation": "linear",
4002+
"lineWidth": 1,
4003+
"pointSize": 5,
4004+
"scaleDistribution": {
4005+
"type": "linear"
4006+
},
4007+
"showPoints": "auto",
4008+
"spanNulls": false,
4009+
"stacking": {
4010+
"group": "A",
4011+
"mode": "none"
4012+
},
4013+
"thresholdsStyle": {
4014+
"mode": "off"
4015+
}
4016+
},
4017+
"decimals": 0,
4018+
"mappings": [
4019+
{
4020+
"options": {
4021+
"1": {
4022+
"index": 0,
4023+
"text": "Initial"
4024+
},
4025+
"2": {
4026+
"index": 1,
4027+
"text": "Scanning heap"
4028+
},
4029+
"3": {
4030+
"index": 2,
4031+
"text": "Vacuuming indexes"
4032+
},
4033+
"4": {
4034+
"index": 3,
4035+
"text": "Vacuuming heap"
4036+
},
4037+
"5": {
4038+
"index": 4,
4039+
"text": "Cleaning up indexes"
4040+
},
4041+
"6": {
4042+
"index": 5,
4043+
"text": "Truncating heap"
4044+
},
4045+
"7": {
4046+
"index": 6,
4047+
"text": "Final cleanup"
4048+
}
4049+
},
4050+
"type": "value"
4051+
}
4052+
],
4053+
"thresholds": {
4054+
"mode": "absolute",
4055+
"steps": [
4056+
{
4057+
"color": "green"
4058+
}
4059+
]
4060+
}
4061+
},
4062+
"overrides": []
4063+
},
4064+
"gridPos": {
4065+
"h": 11,
4066+
"w": 24,
4067+
"x": 0,
4068+
"y": 159
4069+
},
4070+
"id": 42,
4071+
"options": {
4072+
"legend": {
4073+
"calcs": [
4074+
"lastNotNull"
4075+
],
4076+
"displayMode": "table",
4077+
"placement": "bottom",
4078+
"showLegend": true
4079+
},
4080+
"tooltip": {
4081+
"hideZeros": false,
4082+
"mode": "multi",
4083+
"sort": "none"
4084+
}
4085+
},
4086+
"pluginVersion": "12.0.2",
4087+
"targets": [
4088+
{
4089+
"disableTextWrap": false,
4090+
"editorMode": "code",
4091+
"expr": "(\n group by (schema_name, table_name, vacuum_mode) (\n pgwatch_pg_vacuum_progress_index_vacuum_count{phase=\"7\"}) * 0 + 7 or \n group by (schema_name, table_name, vacuum_mode) (\n pgwatch_pg_vacuum_progress_index_vacuum_count{phase=\"6\"}) * 0 + 6 or\n group by (schema_name, table_name, vacuum_mode) (\n pgwatch_pg_vacuum_progress_index_vacuum_count{phase=\"5\"}) * 0 + 5 or \n group by (schema_name, table_name, vacuum_mode) (\n pgwatch_pg_vacuum_progress_index_vacuum_count{phase=\"4\"}) * 0 + 4 or \n group by (schema_name, table_name, vacuum_mode) (\n pgwatch_pg_vacuum_progress_index_vacuum_count{phase=\"3\"}) * 0 + 3 or \n group by (schema_name, table_name, vacuum_mode) (\n pgwatch_pg_vacuum_progress_index_vacuum_count{phase=\"2\"}) * 0 + 2 or \n group by (schema_name, table_name, vacuum_mode) (\n pgwatch_pg_vacuum_progress_index_vacuum_count{phase=\"1\"}) * 0 + 1\n)",
4092+
"fullMetaSearch": false,
4093+
"includeNullMetadata": true,
4094+
"interval": "",
4095+
"legendFormat": "{{schema_name}}.{{table_name}} - {{vacuum_mode}}",
4096+
"range": true,
4097+
"refId": "A",
4098+
"useBackend": false
4099+
}
4100+
],
4101+
"title": "Vacuum timeline",
37954102
"type": "timeseries"
37964103
},
37974104
{
@@ -3803,7 +4110,7 @@
38034110
"h": 3,
38044111
"w": 24,
38054112
"x": 0,
3806-
"y": 149
4113+
"y": 170
38074114
},
38084115
"id": 40,
38094116
"options": {
@@ -3827,8 +4134,8 @@
38274134
"list": [
38284135
{
38294136
"current": {
3830-
"text": "local",
3831-
"value": "local"
4137+
"text": "default",
4138+
"value": "default"
38324139
},
38334140
"definition": "label_values(pgwatch_settings_configured,cluster)",
38344141
"label": "Cluster name",
@@ -3845,8 +4152,8 @@
38454152
},
38464153
{
38474154
"current": {
3848-
"text": "node-01",
3849-
"value": "node-01"
4155+
"text": "prod-db",
4156+
"value": "prod-db"
38504157
},
38514158
"definition": "label_values(pgwatch_settings_configured{cluster=\"$cluster_name\"},node_name)",
38524159
"label": "Node name",
@@ -3882,12 +4189,12 @@
38824189
]
38834190
},
38844191
"time": {
3885-
"from": "now-30m",
4192+
"from": "now-2d",
38864193
"to": "now"
38874194
},
38884195
"timepicker": {},
38894196
"timezone": "utc",
3890-
"title": "01. Single node performance overview (high-level)",
4197+
"title": "01. Single node performance overview (high-level)",
38914198
"uid": "f90500a0-a12e-4081-a2f0-07ed96f27915",
3892-
"version": 2
4199+
"version": 7
38934200
}

0 commit comments

Comments
 (0)