pkg/metrics: add panels for golang gc rate and GOGC/GOMEMLIMIT (#56033)

ref pingcap/tidb#55390
This commit is contained in:
HuaiyuXu
2024-09-12 14:29:30 +08:00
committed by GitHub
parent 7aa01056ee
commit 00aac17ce0

View File

@ -2051,6 +2051,153 @@
"alignLevel": null
}
},
{
"cacheTimeout": null,
"datasource": "${DS_TEST-CLUSTER}",
"description": "auto gc: completed GC cycles generated by the Go runtime\nforced gc: completed GC cycles forced by the application\ntotal gc: all completed GC cycles\ngc limiter enabled: the number of times the GC CPU limiter has been enabled over the past",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": true
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "none"
},
"overrides": [
{
"matcher": {
"id": "byFrameRefID",
"options": "D"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "right"
},
{
"id": "unit",
"value": "short"
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 50
},
"id": 85,
"links": [],
"options": {
"graph": {},
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"mode": "single"
}
},
"pluginVersion": "7.5.17",
"scopedVars": {
"instance": {
"selected": true,
"text": "127.0.0.1:10080",
"value": "127.0.0.1:10080"
}
},
"targets": [
{
"exemplar": true,
"expr": "irate(go_gc_cycles_automatic_gc_cycles_total{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}[30s])",
"format": "time_series",
"hide": false,
"instant": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "auto gc-{{instance}}",
"refId": "A",
"step": 40
},
{
"exemplar": true,
"expr": "irate(go_gc_cycles_forced_gc_cycles_total{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}[30s])",
"format": "time_series",
"hide": false,
"instant": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "forced gc-{{instance}}",
"refId": "B",
"step": 40
},
{
"exemplar": true,
"expr": "irate(go_gc_cycles_total_gc_cycles_total{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}[30s])",
"format": "time_series",
"hide": false,
"instant": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "total gc-{{instance}}",
"refId": "C",
"step": 40
},
{
"exemplar": true,
"expr": "changes(go_gc_limiter_last_enabled_gc_cycle{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}[30s])",
"format": "time_series",
"hide": true,
"instant": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "gc limiter enabled-{{instance}}",
"refId": "D",
"step": 40
}
],
"timeFrom": null,
"timeShift": null,
"title": "golang GC",
"type": "timeseries"
},
{
"aliasColors": {},
"bars": false,
@ -2116,7 +2263,7 @@
"instant": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "mutex_wait_seconds",
"legendFormat": "mutex_wait_seconds-{{instance}}",
"refId": "A",
"step": 40
}
@ -2162,6 +2309,130 @@
"align": false,
"alignLevel": null
}
},
{
"cacheTimeout": null,
"datasource": "lakehouse",
"description": "Value of GOGC and GOMEMLIMIT",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"graph": false,
"legend": false,
"tooltip": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false
},
"mappings": [],
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "none"
},
"overrides": [
{
"matcher": {
"id": "byFrameRefID",
"options": "B"
},
"properties": [
{
"id": "custom.axisPlacement",
"value": "right"
},
{
"id": "unit",
"value": "bytes"
}
]
}
]
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 57
},
"id": 87,
"links": [],
"options": {
"graph": {},
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltipOptions": {
"mode": "single"
}
},
"pluginVersion": "7.5.17",
"scopedVars": {
"instance": {
"selected": true,
"text": "127.0.0.1:10080",
"value": "127.0.0.1:10080"
}
},
"targets": [
{
"exemplar": true,
"expr": "go_gc_gogc_percent{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}",
"format": "time_series",
"hide": false,
"instant": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "GOGC-{{instance}}",
"refId": "A",
"step": 40
},
{
"exemplar": true,
"expr": "go_gc_gomemlimit_bytes{k8s_cluster=\"$k8s_cluster\",tidb_cluster=\"$tidb_cluster\", instance=~\"$instance\"}",
"format": "time_series",
"hide": false,
"instant": false,
"interval": "",
"intervalFactor": 1,
"legendFormat": "GOMEMLIMIT-{{instance}}",
"refId": "B",
"step": 40
}
],
"timeFrom": null,
"timeShift": null,
"title": "GOGC & GOMEMLIMIT",
"type": "timeseries"
}
],
"repeat": "instance",