Path: blob/main/operations/observability/mixins/meta/dashboards/components/server.json
2501 views
{1"annotations": {2"list": [3{4"builtIn": 1,5"datasource": {6"type": "datasource",7"uid": "grafana"8},9"enable": true,10"hide": true,11"iconColor": "rgba(0, 211, 255, 1)",12"name": "Annotations & Alerts",13"target": {14"limit": 100,15"matchAny": false,16"tags": [],17"type": "dashboard"18},19"type": "dashboard"20}21]22},23"editable": true,24"fiscalYearStartMonth": 0,25"graphTooltip": 1,26"links": [],27"liveNow": false,28"panels": [29{30"collapsed": true,31"gridPos": {32"h": 1,33"w": 24,34"x": 0,35"y": 036},37"id": 72,38"panels": [39{40"datasource": {41"uid": "$datasource"42},43"fieldConfig": {44"defaults": {45"color": {46"mode": "palette-classic"47},48"custom": {49"axisCenteredZero": false,50"axisColorMode": "text",51"axisLabel": "",52"axisPlacement": "auto",53"barAlignment": 0,54"drawStyle": "line",55"fillOpacity": 0,56"gradientMode": "none",57"hideFrom": {58"legend": false,59"tooltip": false,60"viz": false61},62"lineInterpolation": "linear",63"lineWidth": 1,64"pointSize": 5,65"scaleDistribution": {66"type": "linear"67},68"showPoints": "auto",69"spanNulls": false,70"stacking": {71"group": "A",72"mode": "none"73},74"thresholdsStyle": {75"mode": "off"76}77},78"mappings": [],79"thresholds": {80"mode": "absolute",81"steps": [82{83"color": "green"84},85{86"color": "red",87"value": 8088}89]90},91"unit": "short"92},93"overrides": []94},95"gridPos": {96"h": 6,97"w": 12,98"x": 0,99"y": 9100},101"id": 63,102"options": {103"legend": {104"calcs": [],105"displayMode": "list",106"placement": "bottom",107"showLegend": true108},109"tooltip": {110"mode": "single",111"sort": "none"112}113},114"targets": [115{116"datasource": {117"uid": "$datasource"118},119"exemplar": true,120"expr": "sum (gitpod_version_info{}) by (cluster, gitpod_version)",121"interval": "",122"legendFormat": "{{ cluster }}: {{ gitpod_version }}",123"refId": "A"124}125],126"title": "Version",127"type": "timeseries"128}129],130"title": "Version",131"type": "row"132},133{134"collapsed": false,135"datasource": {136"type": "datasource",137"uid": "grafana"138},139"gridPos": {140"h": 1,141"w": 24,142"x": 0,143"y": 1144},145"id": 42,146"panels": [],147"targets": [148{149"datasource": {150"type": "datasource",151"uid": "grafana"152},153"refId": "A"154}155],156"title": "Websocket API",157"type": "row"158},159{160"datasource": {161"type": "prometheus",162"uid": "$datasource"163},164"fieldConfig": {165"defaults": {166"color": {167"mode": "palette-classic"168},169"custom": {170"axisCenteredZero": false,171"axisColorMode": "text",172"axisLabel": "",173"axisPlacement": "auto",174"barAlignment": 0,175"drawStyle": "line",176"fillOpacity": 0,177"gradientMode": "none",178"hideFrom": {179"legend": false,180"tooltip": false,181"viz": false182},183"lineInterpolation": "linear",184"lineWidth": 1,185"pointSize": 5,186"scaleDistribution": {187"type": "linear"188},189"showPoints": "never",190"spanNulls": false,191"stacking": {192"group": "A",193"mode": "none"194},195"thresholdsStyle": {196"mode": "off"197}198},199"mappings": [],200"thresholds": {201"mode": "absolute",202"steps": [203{204"color": "green",205"value": null206}207]208},209"unit": "reqps"210},211"overrides": []212},213"gridPos": {214"h": 9,215"w": 12,216"x": 0,217"y": 2218},219"id": 44,220"options": {221"legend": {222"calcs": [],223"displayMode": "list",224"placement": "right",225"showLegend": true226},227"tooltip": {228"mode": "single",229"sort": "none"230}231},232"pluginVersion": "9.3.2",233"targets": [234{235"datasource": {236"uid": "$datasource"237},238"editorMode": "code",239"exemplar": true,240"expr": "sum(rate(gitpod_server_api_calls_total{cluster=~\"$cluster\", pod=~\"$pod\", method=~\"$method\"}[5m])) by (method)",241"interval": "",242"legendFormat": "{{method}}",243"queryType": "randomWalk",244"range": true,245"refId": "A"246}247],248"title": "API Request Rate [5m]",249"type": "timeseries"250},251{252"datasource": {253"type": "prometheus",254"uid": "${datasource}"255},256"description": "A histogram quantile of the API requests grouped by methods and bucket (duration) size.",257"fieldConfig": {258"defaults": {259"color": {260"mode": "palette-classic"261},262"custom": {263"axisCenteredZero": false,264"axisColorMode": "text",265"axisLabel": "",266"axisPlacement": "auto",267"barAlignment": 0,268"drawStyle": "line",269"fillOpacity": 0,270"gradientMode": "none",271"hideFrom": {272"legend": false,273"tooltip": false,274"viz": false275},276"lineInterpolation": "linear",277"lineStyle": {278"fill": "solid"279},280"lineWidth": 1,281"pointSize": 5,282"scaleDistribution": {283"type": "linear"284},285"showPoints": "auto",286"spanNulls": false,287"stacking": {288"group": "A",289"mode": "none"290},291"thresholdsStyle": {292"mode": "off"293}294},295"mappings": [],296"thresholds": {297"mode": "absolute",298"steps": [299{300"color": "green",301"value": null302},303{304"color": "red",305"value": 80306}307]308},309"unit": "s"310},311"overrides": []312},313"gridPos": {314"h": 9,315"w": 12,316"x": 12,317"y": 2318},319"id": 68,320"options": {321"legend": {322"calcs": [],323"displayMode": "list",324"placement": "right",325"showLegend": true326},327"tooltip": {328"mode": "single",329"sort": "none"330}331},332"pluginVersion": "8.3.3",333"targets": [334{335"datasource": {336"type": "prometheus",337"uid": "${datasource}"338},339"editorMode": "code",340"exemplar": false,341"expr": "histogram_quantile(0.95, sum (rate(gitpod_server_api_calls_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", method=~\"$method\"}[5m])) by (method, le))",342"format": "time_series",343"hide": true,344"interval": "",345"legendFormat": "95% {{method}} {{le}}",346"range": true,347"refId": "A"348},349{350"datasource": {351"type": "prometheus",352"uid": "${datasource}"353},354"editorMode": "code",355"exemplar": false,356"expr": "histogram_quantile(0.5, sum (rate(gitpod_server_api_calls_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", method=~\"$method\"}[5m])) by (method, le))",357"format": "time_series",358"hide": false,359"interval": "",360"legendFormat": "50% {{method}} {{le}}",361"range": true,362"refId": "C"363}364],365"title": "API request duration 50th",366"type": "timeseries"367},368{369"datasource": {370"type": "prometheus",371"uid": "$datasource"372},373"fieldConfig": {374"defaults": {375"color": {376"mode": "palette-classic"377},378"custom": {379"axisCenteredZero": false,380"axisColorMode": "text",381"axisLabel": "",382"axisPlacement": "auto",383"barAlignment": 0,384"drawStyle": "line",385"fillOpacity": 0,386"gradientMode": "none",387"hideFrom": {388"legend": false,389"tooltip": false,390"viz": false391},392"lineInterpolation": "linear",393"lineWidth": 1,394"pointSize": 5,395"scaleDistribution": {396"type": "linear"397},398"showPoints": "never",399"spanNulls": false,400"stacking": {401"group": "A",402"mode": "none"403},404"thresholdsStyle": {405"mode": "off"406}407},408"decimals": 2,409"mappings": [],410"min": 0,411"thresholds": {412"mode": "absolute",413"steps": [414{415"color": "green",416"value": null417},418{419"color": "red",420"value": 80421}422]423},424"unit": "reqps"425},426"overrides": []427},428"gridPos": {429"h": 9,430"w": 12,431"x": 0,432"y": 11433},434"id": 45,435"options": {436"legend": {437"calcs": [],438"displayMode": "list",439"placement": "right",440"showLegend": true441},442"tooltip": {443"mode": "multi",444"sort": "desc"445}446},447"pluginVersion": "9.3.2",448"targets": [449{450"datasource": {451"uid": "$datasource"452},453"editorMode": "code",454"expr": "sum(\n rate(gitpod_server_api_calls_total{cluster=~\"$cluster\", pod=~\"$pod\", method=~\"$method\", statusCode!~\"2.*|3.*|4.*\"}[5m])\n) by (method)",455"interval": "",456"legendFormat": "{{method}}",457"queryType": "randomWalk",458"range": true,459"refId": "A"460}461],462"title": "Server Errors [5m]",463"type": "timeseries"464},465{466"datasource": {467"type": "prometheus",468"uid": "${datasource}"469},470"description": "A histogram quantile of the API requests grouped by methods and bucket (duration) size.",471"fieldConfig": {472"defaults": {473"color": {474"mode": "palette-classic"475},476"custom": {477"axisCenteredZero": false,478"axisColorMode": "text",479"axisLabel": "",480"axisPlacement": "auto",481"barAlignment": 0,482"drawStyle": "line",483"fillOpacity": 0,484"gradientMode": "none",485"hideFrom": {486"legend": false,487"tooltip": false,488"viz": false489},490"lineInterpolation": "linear",491"lineStyle": {492"fill": "solid"493},494"lineWidth": 1,495"pointSize": 5,496"scaleDistribution": {497"type": "linear"498},499"showPoints": "auto",500"spanNulls": false,501"stacking": {502"group": "A",503"mode": "none"504},505"thresholdsStyle": {506"mode": "off"507}508},509"mappings": [],510"thresholds": {511"mode": "absolute",512"steps": [513{514"color": "green",515"value": null516},517{518"color": "red",519"value": 80520}521]522},523"unit": "s"524},525"overrides": []526},527"gridPos": {528"h": 9,529"w": 12,530"x": 12,531"y": 11532},533"id": 66,534"options": {535"legend": {536"calcs": [],537"displayMode": "list",538"placement": "right",539"showLegend": true540},541"tooltip": {542"mode": "single",543"sort": "none"544}545},546"pluginVersion": "8.3.3",547"targets": [548{549"datasource": {550"type": "prometheus",551"uid": "${datasource}"552},553"editorMode": "code",554"exemplar": false,555"expr": "histogram_quantile(0.95, sum (rate(gitpod_server_api_calls_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", method=~\"$method\"}[5m])) by (method, le))",556"format": "time_series",557"hide": false,558"interval": "",559"legendFormat": "95% {{method}} {{le}}",560"range": true,561"refId": "A"562},563{564"datasource": {565"type": "prometheus",566"uid": "${datasource}"567},568"editorMode": "code",569"exemplar": false,570"expr": "histogram_quantile(0.5, sum (rate(gitpod_server_api_calls_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", method=~\"$method\"}[5m])) by (method, le))",571"format": "time_series",572"hide": true,573"interval": "",574"legendFormat": "50% {{method}} {{le}}",575"range": true,576"refId": "C"577}578],579"title": "API request duration 95th",580"type": "timeseries"581},582{583"datasource": {584"type": "prometheus",585"uid": "$datasource"586},587"fieldConfig": {588"defaults": {589"color": {590"mode": "palette-classic"591},592"custom": {593"axisCenteredZero": false,594"axisColorMode": "text",595"axisLabel": "",596"axisPlacement": "auto",597"barAlignment": 0,598"drawStyle": "line",599"fillOpacity": 0,600"gradientMode": "none",601"hideFrom": {602"legend": false,603"tooltip": false,604"viz": false605},606"lineInterpolation": "linear",607"lineWidth": 1,608"pointSize": 5,609"scaleDistribution": {610"type": "linear"611},612"showPoints": "never",613"spanNulls": false,614"stacking": {615"group": "A",616"mode": "none"617},618"thresholdsStyle": {619"mode": "off"620}621},622"mappings": [],623"thresholds": {624"mode": "absolute",625"steps": [626{627"color": "green",628"value": null629},630{631"color": "red",632"value": 80633}634]635},636"unit": "reqps"637},638"overrides": []639},640"gridPos": {641"h": 9,642"w": 12,643"x": 0,644"y": 20645},646"id": 67,647"options": {648"legend": {649"calcs": [],650"displayMode": "list",651"placement": "right",652"showLegend": true653},654"tooltip": {655"mode": "multi",656"sort": "desc"657}658},659"pluginVersion": "9.3.2",660"targets": [661{662"datasource": {663"uid": "$datasource"664},665"editorMode": "code",666"expr": "sum(\n rate(gitpod_server_api_calls_total{cluster=~\"$cluster\", pod=~\"$pod\", method=~\"$method\", statusCode=~\"4.*\"}[5m])\n) by (method, statusCode)",667"interval": "",668"legendFormat": "{{method}} code: {{statusCode}}",669"queryType": "randomWalk",670"range": true,671"refId": "A"672}673],674"title": "User Errors [5m]",675"type": "timeseries"676},677{678"datasource": {679"type": "prometheus",680"uid": "$datasource"681},682"fieldConfig": {683"defaults": {684"color": {685"mode": "palette-classic"686},687"custom": {688"axisCenteredZero": false,689"axisColorMode": "text",690"axisLabel": "",691"axisPlacement": "auto",692"barAlignment": 0,693"drawStyle": "line",694"fillOpacity": 0,695"gradientMode": "none",696"hideFrom": {697"legend": false,698"tooltip": false,699"viz": false700},701"lineInterpolation": "linear",702"lineWidth": 1,703"pointSize": 5,704"scaleDistribution": {705"type": "linear"706},707"showPoints": "never",708"spanNulls": true,709"stacking": {710"group": "A",711"mode": "none"712},713"thresholdsStyle": {714"mode": "off"715}716},717"mappings": [],718"thresholds": {719"mode": "absolute",720"steps": [721{722"color": "green",723"value": null724},725{726"color": "red",727"value": 80728}729]730},731"unit": "reqps"732},733"overrides": []734},735"gridPos": {736"h": 9,737"w": 12,738"x": 12,739"y": 20740},741"id": 46,742"options": {743"legend": {744"calcs": [],745"displayMode": "list",746"placement": "right",747"showLegend": true748},749"tooltip": {750"mode": "single",751"sort": "none"752}753},754"pluginVersion": "8.3.1",755"targets": [756{757"datasource": {758"type": "prometheus",759"uid": "${datasource}"760},761"editorMode": "code",762"exemplar": true,763"expr": "sum(rate(gitpod_server_api_calls_total{cluster=~\"$cluster\", pod=~\"$pod\", method=~\"$method\", statusCode=\"429\"}[5m])) by (method)",764"interval": "",765"legendFormat": "{{method}}",766"queryType": "randomWalk",767"range": true,768"refId": "A"769}770],771"title": "API Saturation (Rate Limited requests)",772"type": "timeseries"773},774{775"collapsed": true,776"gridPos": {777"h": 1,778"w": 24,779"x": 0,780"y": 29781},782"id": 70,783"panels": [784{785"datasource": {786"type": "prometheus",787"uid": "$datasource"788},789"description": "",790"fieldConfig": {791"defaults": {792"color": {793"mode": "palette-classic"794},795"custom": {796"axisCenteredZero": false,797"axisColorMode": "text",798"axisLabel": "",799"axisPlacement": "auto",800"barAlignment": 0,801"drawStyle": "line",802"fillOpacity": 0,803"gradientMode": "none",804"hideFrom": {805"legend": false,806"tooltip": false,807"viz": false808},809"lineInterpolation": "linear",810"lineStyle": {811"fill": "solid"812},813"lineWidth": 1,814"pointSize": 5,815"scaleDistribution": {816"type": "linear"817},818"showPoints": "auto",819"spanNulls": false,820"stacking": {821"group": "A",822"mode": "none"823},824"thresholdsStyle": {825"mode": "off"826}827},828"mappings": [],829"thresholds": {830"mode": "absolute",831"steps": [832{833"color": "green",834"value": null835},836{837"color": "red",838"value": 80839}840]841}842},843"overrides": []844},845"gridPos": {846"h": 9,847"w": 12,848"x": 0,849"y": 11850},851"id": 57,852"options": {853"legend": {854"calcs": [],855"displayMode": "list",856"placement": "bottom",857"showLegend": true858},859"tooltip": {860"mode": "multi",861"sort": "none"862}863},864"targets": [865{866"datasource": {867"uid": "$datasource"868},869"editorMode": "code",870"exemplar": true,871"expr": "sum(server_websocket_connection_count{cluster=~\"$cluster\"}) by (cluster)",872"interval": "",873"legendFormat": "{{cluster}} {{pod}}",874"range": true,875"refId": "A"876}877],878"title": "Websocket connections",879"type": "timeseries"880},881{882"datasource": {883"uid": "$datasource"884},885"description": "",886"fieldConfig": {887"defaults": {888"color": {889"mode": "palette-classic"890},891"custom": {892"axisCenteredZero": false,893"axisColorMode": "text",894"axisLabel": "",895"axisPlacement": "auto",896"barAlignment": 0,897"drawStyle": "line",898"fillOpacity": 0,899"gradientMode": "none",900"hideFrom": {901"legend": false,902"tooltip": false,903"viz": false904},905"lineInterpolation": "linear",906"lineStyle": {907"fill": "solid"908},909"lineWidth": 1,910"pointSize": 5,911"scaleDistribution": {912"type": "linear"913},914"showPoints": "auto",915"spanNulls": false,916"stacking": {917"group": "A",918"mode": "none"919},920"thresholdsStyle": {921"mode": "off"922}923},924"mappings": [],925"thresholds": {926"mode": "absolute",927"steps": [928{929"color": "green",930"value": null931},932{933"color": "red",934"value": 80935}936]937}938},939"overrides": []940},941"gridPos": {942"h": 9,943"w": 12,944"x": 12,945"y": 11946},947"id": 64,948"options": {949"legend": {950"calcs": [],951"displayMode": "list",952"placement": "bottom",953"showLegend": true954},955"tooltip": {956"mode": "multi",957"sort": "none"958}959},960"targets": [961{962"datasource": {963"uid": "$datasource"964},965"exemplar": true,966"expr": "sum(server_websocket_connection_count{cluster=~\"$cluster\", pod=~\"$pod\"}) by (cluster, clientType)",967"interval": "",968"legendFormat": "{{cluster}} {{clientType}}",969"refId": "A"970}971],972"title": "Websocket Clients",973"type": "timeseries"974},975{976"datasource": {977"type": "prometheus",978"uid": "$datasource"979},980"description": "",981"fieldConfig": {982"defaults": {983"color": {984"mode": "palette-classic"985},986"custom": {987"axisCenteredZero": false,988"axisColorMode": "text",989"axisLabel": "",990"axisPlacement": "auto",991"barAlignment": 0,992"drawStyle": "line",993"fillOpacity": 0,994"gradientMode": "none",995"hideFrom": {996"legend": false,997"tooltip": false,998"viz": false999},1000"lineInterpolation": "linear",1001"lineWidth": 1,1002"pointSize": 5,1003"scaleDistribution": {1004"type": "linear"1005},1006"showPoints": "auto",1007"spanNulls": false,1008"stacking": {1009"group": "A",1010"mode": "none"1011},1012"thresholdsStyle": {1013"mode": "off"1014}1015},1016"mappings": [],1017"thresholds": {1018"mode": "absolute",1019"steps": [1020{1021"color": "green",1022"value": null1023},1024{1025"color": "red",1026"value": 801027}1028]1029}1030},1031"overrides": []1032},1033"gridPos": {1034"h": 8,1035"w": 12,1036"x": 0,1037"y": 201038},1039"id": 59,1040"options": {1041"legend": {1042"calcs": [],1043"displayMode": "list",1044"placement": "right",1045"showLegend": true1046},1047"tooltip": {1048"mode": "single",1049"sort": "none"1050}1051},1052"targets": [1053{1054"datasource": {1055"uid": "$datasource"1056},1057"editorMode": "code",1058"exemplar": true,1059"expr": "sum(rate(gitpod_server_api_connections_total{cluster=~\"$cluster\", pod=~\"$pod\"}[5m])) by (cluster)",1060"interval": "",1061"legendFormat": "{{cluster}}",1062"range": true,1063"refId": "A"1064}1065],1066"title": "Server API connections rate",1067"type": "timeseries"1068},1069{1070"datasource": {1071"type": "prometheus",1072"uid": "$datasource"1073},1074"description": "",1075"fieldConfig": {1076"defaults": {1077"color": {1078"mode": "palette-classic"1079},1080"custom": {1081"axisCenteredZero": false,1082"axisColorMode": "text",1083"axisLabel": "",1084"axisPlacement": "auto",1085"barAlignment": 0,1086"drawStyle": "line",1087"fillOpacity": 0,1088"gradientMode": "none",1089"hideFrom": {1090"legend": false,1091"tooltip": false,1092"viz": false1093},1094"lineInterpolation": "linear",1095"lineWidth": 1,1096"pointSize": 5,1097"scaleDistribution": {1098"type": "linear"1099},1100"showPoints": "auto",1101"spanNulls": false,1102"stacking": {1103"group": "A",1104"mode": "none"1105},1106"thresholdsStyle": {1107"mode": "off"1108}1109},1110"mappings": [],1111"thresholds": {1112"mode": "absolute",1113"steps": [1114{1115"color": "green",1116"value": null1117},1118{1119"color": "red",1120"value": 801121}1122]1123}1124},1125"overrides": []1126},1127"gridPos": {1128"h": 8,1129"w": 12,1130"x": 12,1131"y": 201132},1133"id": 60,1134"options": {1135"legend": {1136"calcs": [],1137"displayMode": "list",1138"placement": "right",1139"showLegend": true1140},1141"tooltip": {1142"mode": "single",1143"sort": "none"1144}1145},1146"targets": [1147{1148"datasource": {1149"uid": "$datasource"1150},1151"editorMode": "code",1152"exemplar": true,1153"expr": "sum(rate(gitpod_server_api_connections_closed_total{cluster=~\"$cluster\"}[5m])) by (cluster)",1154"hide": false,1155"interval": "",1156"legendFormat": "{{cluster}} {{pod}}",1157"range": true,1158"refId": "B"1159}1160],1161"title": "Server API connections closed rate",1162"type": "timeseries"1163}1164],1165"title": "Websocket Connections",1166"type": "row"1167},1168{1169"collapsed": true,1170"datasource": {1171"type": "datasource",1172"uid": "grafana"1173},1174"gridPos": {1175"h": 1,1176"w": 24,1177"x": 0,1178"y": 301179},1180"id": 50,1181"panels": [1182{1183"aliasColors": {},1184"bars": false,1185"dashLength": 10,1186"dashes": false,1187"datasource": {1188"type": "prometheus",1189"uid": "$datasource"1190},1191"fill": 0,1192"fillGradient": 0,1193"gridPos": {1194"h": 7,1195"w": 12,1196"x": 0,1197"y": 121198},1199"hiddenSeries": false,1200"id": 52,1201"legend": {1202"avg": false,1203"current": false,1204"max": false,1205"min": false,1206"show": false,1207"total": false,1208"values": false1209},1210"lines": true,1211"linewidth": 1,1212"nullPointMode": "null",1213"options": {1214"alertThreshold": true1215},1216"percentage": false,1217"pluginVersion": "9.5.3",1218"pointradius": 2,1219"points": false,1220"renderer": "flot",1221"seriesOverrides": [],1222"spaceLength": 10,1223"stack": true,1224"steppedLine": false,1225"targets": [1226{1227"datasource": {1228"type": "prometheus",1229"uid": "${datasource}"1230},1231"exemplar": true,1232"expr": "sum(rate(gitpod_server_http_requests_total{cluster=~\"$cluster\", statusCode=~\"2..\", route=~\"$http_route\"}[5m])) by (cluster)",1233"interval": "",1234"legendFormat": "{{cluster}} - 2xx",1235"queryType": "randomWalk",1236"refId": "A"1237},1238{1239"datasource": {1240"type": "prometheus",1241"uid": "${datasource}"1242},1243"expr": "sum(rate(gitpod_server_http_requests_total{cluster=~\"$cluster\", statusCode=~\"3..\", route=~\"$http_route\"}[5m])) by (cluster)",1244"hide": false,1245"interval": "",1246"legendFormat": "{{cluster}} - 3xx",1247"queryType": "randomWalk",1248"refId": "B"1249},1250{1251"datasource": {1252"type": "prometheus",1253"uid": "${datasource}"1254},1255"expr": "sum(rate(gitpod_server_http_requests_total{cluster=~\"$cluster\", statusCode=~\"4..\", route=~\"$http_route\"}[5m])) by (cluster)",1256"hide": false,1257"interval": "",1258"legendFormat": "{{cluster}} - 4xx",1259"queryType": "randomWalk",1260"refId": "C"1261},1262{1263"datasource": {1264"type": "prometheus",1265"uid": "${datasource}"1266},1267"expr": "sum(rate(gitpod_server_http_requests_total{cluster=~\"$cluster\", statusCode=~\"5..\", route=~\"$http_route\"}[5m])) by (cluster)",1268"hide": false,1269"interval": "",1270"legendFormat": "{{cluster}} - 5xx",1271"queryType": "randomWalk",1272"refId": "D"1273}1274],1275"thresholds": [],1276"timeRegions": [],1277"title": "$http_route: HTTP Request rate",1278"tooltip": {1279"shared": true,1280"sort": 0,1281"value_type": "individual"1282},1283"type": "graph",1284"xaxis": {1285"mode": "time",1286"show": true,1287"values": []1288},1289"yaxes": [1290{1291"format": "reqps",1292"logBase": 1,1293"show": true1294},1295{1296"format": "short",1297"logBase": 1,1298"show": true1299}1300],1301"yaxis": {1302"align": false1303}1304},1305{1306"aliasColors": {},1307"bars": false,1308"dashLength": 10,1309"dashes": false,1310"datasource": {1311"uid": "$datasource"1312},1313"fill": 0,1314"fillGradient": 0,1315"gridPos": {1316"h": 7,1317"w": 12,1318"x": 12,1319"y": 121320},1321"hiddenSeries": false,1322"id": 53,1323"legend": {1324"avg": false,1325"current": false,1326"max": false,1327"min": false,1328"show": false,1329"total": false,1330"values": false1331},1332"lines": true,1333"linewidth": 1,1334"nullPointMode": "null",1335"options": {1336"alertThreshold": true1337},1338"percentage": false,1339"pluginVersion": "9.5.3",1340"pointradius": 2,1341"points": false,1342"renderer": "flot",1343"seriesOverrides": [],1344"spaceLength": 10,1345"stack": true,1346"steppedLine": false,1347"targets": [1348{1349"datasource": {1350"uid": "$datasource"1351},1352"expr": "histogram_quantile(0.99, \n sum(rate(gitpod_server_http_request_duration_seconds_bucket{cluster=~\"$cluster\", route=~\"$http_route\"}[5m])) by (cluster, le)\n )",1353"interval": "",1354"legendFormat": "{{cluster}} - 99th percentile",1355"queryType": "randomWalk",1356"refId": "A"1357},1358{1359"datasource": {1360"uid": "$datasource"1361},1362"expr": "histogram_quantile(0.95, \n sum(rate(gitpod_server_http_request_duration_seconds_bucket{cluster=~\"$cluster\", route=~\"$http_route\"}[5m])) by (cluster, le)\n )",1363"hide": false,1364"interval": "",1365"legendFormat": "{{cluster}} - 95th percentile",1366"queryType": "randomWalk",1367"refId": "B"1368},1369{1370"datasource": {1371"uid": "$datasource"1372},1373"expr": "histogram_quantile(0.50, \n sum(rate(gitpod_server_http_request_duration_seconds_bucket{cluster=~\"$cluster\", route=~\"$http_route\"}[5m])) by (cluster, le)\n )",1374"hide": false,1375"interval": "",1376"legendFormat": "{{cluster}} - 50th percentile",1377"queryType": "randomWalk",1378"refId": "C"1379},1380{1381"datasource": {1382"uid": "$datasource"1383},1384"expr": "sum(rate(gitpod_server_http_request_duration_seconds_sum{cluster=~\"$cluster\", route=~\"$http_route\"}[5m])) by (cluster)\n/\nsum(rate(gitpod_server_http_request_duration_seconds_count{cluster=~\"$cluster\", route=~\"$http_route\"}[5m])) by (cluster)",1385"hide": false,1386"interval": "",1387"legendFormat": "{{cluster}} - avg",1388"queryType": "randomWalk",1389"refId": "D"1390}1391],1392"thresholds": [],1393"timeRegions": [],1394"title": "$http_route: HTTP Request duration",1395"tooltip": {1396"shared": true,1397"sort": 0,1398"value_type": "individual"1399},1400"type": "graph",1401"xaxis": {1402"mode": "time",1403"show": true,1404"values": []1405},1406"yaxes": [1407{1408"format": "s",1409"logBase": 1,1410"show": true1411},1412{1413"format": "short",1414"logBase": 1,1415"show": true1416}1417],1418"yaxis": {1419"align": false1420}1421}1422],1423"targets": [1424{1425"datasource": {1426"type": "datasource",1427"uid": "grafana"1428},1429"refId": "A"1430}1431],1432"title": "HTTP Metrics",1433"type": "row"1434},1435{1436"collapsed": false,1437"gridPos": {1438"h": 1,1439"w": 24,1440"x": 0,1441"y": 311442},1443"id": 73,1444"panels": [],1445"title": "Messaging / Broadcasting",1446"type": "row"1447},1448{1449"datasource": {1450"type": "prometheus",1451"uid": "P4169E866C3094E38"1452},1453"description": "",1454"fieldConfig": {1455"defaults": {1456"color": {1457"mode": "palette-classic"1458},1459"custom": {1460"axisCenteredZero": false,1461"axisColorMode": "text",1462"axisLabel": "",1463"axisPlacement": "auto",1464"barAlignment": 0,1465"drawStyle": "line",1466"fillOpacity": 0,1467"gradientMode": "none",1468"hideFrom": {1469"legend": false,1470"tooltip": false,1471"viz": false1472},1473"lineInterpolation": "linear",1474"lineWidth": 1,1475"pointSize": 5,1476"scaleDistribution": {1477"type": "linear"1478},1479"showPoints": "auto",1480"spanNulls": false,1481"stacking": {1482"group": "A",1483"mode": "none"1484},1485"thresholdsStyle": {1486"mode": "off"1487}1488},1489"mappings": [],1490"thresholds": {1491"mode": "absolute",1492"steps": [1493{1494"color": "green",1495"value": null1496},1497{1498"color": "red",1499"value": 801500}1501]1502}1503},1504"overrides": []1505},1506"gridPos": {1507"h": 8,1508"w": 12,1509"x": 0,1510"y": 321511},1512"id": 74,1513"options": {1514"legend": {1515"calcs": [],1516"displayMode": "list",1517"placement": "bottom",1518"showLegend": true1519},1520"tooltip": {1521"mode": "single",1522"sort": "none"1523}1524},1525"targets": [1526{1527"datasource": {1528"type": "prometheus",1529"uid": "P4169E866C3094E38"1530},1531"editorMode": "code",1532"expr": "sum(increase(gitpod_redis_updates_received_total{cluster=~\"$cluster\", pod=~\"$pod\"}[1m])) by (channel)",1533"legendFormat": "__auto",1534"range": true,1535"refId": "A"1536}1537],1538"title": "Redis updates received [1m]",1539"type": "timeseries"1540},1541{1542"datasource": {1543"type": "prometheus",1544"uid": "P4169E866C3094E38"1545},1546"description": "",1547"fieldConfig": {1548"defaults": {1549"color": {1550"mode": "palette-classic"1551},1552"custom": {1553"axisCenteredZero": false,1554"axisColorMode": "text",1555"axisLabel": "",1556"axisPlacement": "auto",1557"barAlignment": 0,1558"drawStyle": "line",1559"fillOpacity": 0,1560"gradientMode": "none",1561"hideFrom": {1562"legend": false,1563"tooltip": false,1564"viz": false1565},1566"lineInterpolation": "linear",1567"lineWidth": 1,1568"pointSize": 5,1569"scaleDistribution": {1570"type": "linear"1571},1572"showPoints": "auto",1573"spanNulls": false,1574"stacking": {1575"group": "A",1576"mode": "none"1577},1578"thresholdsStyle": {1579"mode": "off"1580}1581},1582"mappings": [],1583"thresholds": {1584"mode": "absolute",1585"steps": [1586{1587"color": "green",1588"value": null1589},1590{1591"color": "red",1592"value": 801593}1594]1595}1596},1597"overrides": []1598},1599"gridPos": {1600"h": 8,1601"w": 12,1602"x": 12,1603"y": 321604},1605"id": 75,1606"options": {1607"legend": {1608"calcs": [],1609"displayMode": "list",1610"placement": "bottom",1611"showLegend": true1612},1613"tooltip": {1614"mode": "single",1615"sort": "none"1616}1617},1618"targets": [1619{1620"datasource": {1621"type": "prometheus",1622"uid": "P4169E866C3094E38"1623},1624"editorMode": "code",1625"expr": "sum(increase(gitpod_redis_updates_completed_total{cluster=~\"$cluster\", pod=~\"$pod\"}[1m])) by (channel, error)",1626"legendFormat": "__auto",1627"range": true,1628"refId": "A"1629}1630],1631"title": "Redis updates completed with outcome [1m]",1632"type": "timeseries"1633},1634{1635"datasource": {1636"type": "prometheus",1637"uid": "P4169E866C3094E38"1638},1639"description": "",1640"fieldConfig": {1641"defaults": {1642"color": {1643"mode": "palette-classic"1644},1645"custom": {1646"axisCenteredZero": false,1647"axisColorMode": "text",1648"axisLabel": "",1649"axisPlacement": "auto",1650"barAlignment": 0,1651"drawStyle": "line",1652"fillOpacity": 0,1653"gradientMode": "none",1654"hideFrom": {1655"legend": false,1656"tooltip": false,1657"viz": false1658},1659"lineInterpolation": "linear",1660"lineWidth": 1,1661"pointSize": 5,1662"scaleDistribution": {1663"type": "linear"1664},1665"showPoints": "auto",1666"spanNulls": false,1667"stacking": {1668"group": "A",1669"mode": "none"1670},1671"thresholdsStyle": {1672"mode": "off"1673}1674},1675"mappings": [],1676"thresholds": {1677"mode": "absolute",1678"steps": [1679{1680"color": "green",1681"value": null1682},1683{1684"color": "red",1685"value": 801686}1687]1688}1689},1690"overrides": []1691},1692"gridPos": {1693"h": 8,1694"w": 12,1695"x": 0,1696"y": 401697},1698"id": 76,1699"options": {1700"legend": {1701"calcs": [],1702"displayMode": "list",1703"placement": "bottom",1704"showLegend": true1705},1706"tooltip": {1707"mode": "single",1708"sort": "none"1709}1710},1711"targets": [1712{1713"datasource": {1714"type": "prometheus",1715"uid": "P4169E866C3094E38"1716},1717"editorMode": "code",1718"expr": "sum(gitpod_server_subscribers_registered{cluster=~\"$cluster\", pod=~\"$pod\"}) by (type)",1719"legendFormat": "__auto",1720"range": true,1721"refId": "A"1722}1723],1724"title": "Clients subscribed to updates",1725"type": "timeseries"1726},1727{1728"collapsed": true,1729"datasource": {1730"type": "datasource",1731"uid": "grafana"1732},1733"gridPos": {1734"h": 1,1735"w": 24,1736"x": 0,1737"y": 481738},1739"id": 22,1740"panels": [1741{1742"aliasColors": {},1743"bars": false,1744"dashLength": 10,1745"dashes": false,1746"datasource": {1747"uid": "$datasource"1748},1749"fill": 1,1750"fillGradient": 0,1751"gridPos": {1752"h": 9,1753"w": 12,1754"x": 0,1755"y": 131756},1757"hiddenSeries": false,1758"id": 28,1759"legend": {1760"alignAsTable": true,1761"avg": true,1762"current": true,1763"max": true,1764"min": false,1765"show": true,1766"total": false,1767"values": true1768},1769"lines": true,1770"linewidth": 1,1771"nullPointMode": "null",1772"options": {1773"alertThreshold": true1774},1775"percentage": false,1776"pluginVersion": "9.5.3",1777"pointradius": 2,1778"points": false,1779"renderer": "flot",1780"seriesOverrides": [],1781"spaceLength": 10,1782"stack": false,1783"steppedLine": false,1784"targets": [1785{1786"datasource": {1787"uid": "$datasource"1788},1789"expr": "process_resident_memory_bytes{cluster=~\"$cluster\", pod=~\"$pod\", job=\"server\"}",1790"interval": "",1791"legendFormat": "{{cluster}} - {{pod}}",1792"queryType": "randomWalk",1793"refId": "A"1794}1795],1796"thresholds": [],1797"timeRegions": [],1798"title": "Memory Usage (as seen by the runtime process)",1799"tooltip": {1800"shared": true,1801"sort": 0,1802"value_type": "individual"1803},1804"type": "graph",1805"xaxis": {1806"mode": "time",1807"show": true,1808"values": []1809},1810"yaxes": [1811{1812"format": "bytes",1813"logBase": 1,1814"min": "0",1815"show": true1816},1817{1818"format": "short",1819"logBase": 1,1820"show": true1821}1822],1823"yaxis": {1824"align": false1825}1826},1827{1828"aliasColors": {},1829"bars": false,1830"dashLength": 10,1831"dashes": false,1832"datasource": {1833"type": "prometheus",1834"uid": "$datasource"1835},1836"decimals": 2,1837"editable": true,1838"error": false,1839"fill": 1,1840"fillGradient": 0,1841"gridPos": {1842"h": 9,1843"w": 12,1844"x": 12,1845"y": 131846},1847"hiddenSeries": false,1848"id": 30,1849"legend": {1850"alignAsTable": true,1851"avg": true,1852"current": true,1853"hideEmpty": false,1854"max": true,1855"min": false,1856"rightSide": false,1857"show": true,1858"total": false,1859"values": true1860},1861"lines": true,1862"linewidth": 1,1863"links": [],1864"nullPointMode": "null",1865"options": {1866"alertThreshold": true1867},1868"percentage": false,1869"pluginVersion": "9.5.3",1870"pointradius": 5,1871"points": false,1872"renderer": "flot",1873"seriesOverrides": [],1874"spaceLength": 10,1875"stack": false,1876"steppedLine": false,1877"targets": [1878{1879"datasource": {1880"uid": "$datasource"1881},1882"editorMode": "code",1883"expr": "rate(process_cpu_seconds_total{cluster=~\"$cluster\", job=\"server\"}[1m])",1884"interval": "",1885"intervalFactor": 2,1886"legendFormat": "{{cluster}} - {{kubernetes_pod_node_name}} - {{ kubernetes_pod_name }}",1887"metric": "prometheus_local_storage_ingested_samples_total",1888"range": true,1889"refId": "A",1890"step": 101891}1892],1893"thresholds": [],1894"timeRegions": [],1895"title": "CPU Usage (as seen by the runtime process)",1896"tooltip": {1897"msResolution": false,1898"shared": true,1899"sort": 2,1900"value_type": "individual"1901},1902"type": "graph",1903"xaxis": {1904"mode": "time",1905"show": true,1906"values": [1907"avg"1908]1909},1910"yaxes": [1911{1912"decimals": 2,1913"format": "none",1914"logBase": 1,1915"min": "0",1916"show": true1917},1918{1919"format": "short",1920"logBase": 1,1921"show": true1922}1923],1924"yaxis": {1925"align": false1926}1927},1928{1929"aliasColors": {},1930"bars": false,1931"dashLength": 10,1932"dashes": false,1933"datasource": {1934"uid": "$datasource"1935},1936"fieldConfig": {1937"defaults": {1938"links": []1939},1940"overrides": []1941},1942"fill": 1,1943"fillGradient": 0,1944"gridPos": {1945"h": 9,1946"w": 12,1947"x": 0,1948"y": 221949},1950"hiddenSeries": false,1951"id": 24,1952"legend": {1953"alignAsTable": true,1954"avg": true,1955"current": true,1956"max": true,1957"min": false,1958"show": true,1959"total": false,1960"values": true1961},1962"lines": true,1963"linewidth": 1,1964"nullPointMode": "null",1965"options": {1966"alertThreshold": true1967},1968"percentage": false,1969"pluginVersion": "9.5.3",1970"pointradius": 2,1971"points": false,1972"renderer": "flot",1973"seriesOverrides": [],1974"spaceLength": 10,1975"stack": false,1976"steppedLine": false,1977"targets": [1978{1979"datasource": {1980"uid": "$datasource"1981},1982"expr": "nodejs_eventloop_lag_seconds{cluster=~\"$cluster\", job=\"server\", pod=~\"$pod\"}",1983"interval": "",1984"legendFormat": "{{cluster}} - {{pod}}",1985"refId": "A"1986}1987],1988"thresholds": [],1989"timeRegions": [],1990"title": "Node.js: Event loop lag (s)",1991"tooltip": {1992"shared": true,1993"sort": 2,1994"value_type": "individual"1995},1996"type": "graph",1997"xaxis": {1998"mode": "time",1999"show": true,2000"values": []2001},2002"yaxes": [2003{2004"format": "s",2005"logBase": 1,2006"min": "0",2007"show": true2008},2009{2010"format": "short",2011"logBase": 1,2012"show": true2013}2014],2015"yaxis": {2016"align": false2017}2018},2019{2020"aliasColors": {},2021"bars": false,2022"dashLength": 10,2023"dashes": false,2024"datasource": {2025"uid": "$datasource"2026},2027"fieldConfig": {2028"defaults": {2029"links": []2030},2031"overrides": []2032},2033"fill": 0,2034"fillGradient": 0,2035"gridPos": {2036"h": 9,2037"w": 12,2038"x": 12,2039"y": 222040},2041"hiddenSeries": false,2042"id": 26,2043"legend": {2044"alignAsTable": true,2045"avg": true,2046"current": true,2047"max": true,2048"min": false,2049"show": true,2050"total": false,2051"values": true2052},2053"lines": true,2054"linewidth": 1,2055"nullPointMode": "null",2056"options": {2057"alertThreshold": true2058},2059"percentage": false,2060"pluginVersion": "9.5.3",2061"pointradius": 2,2062"points": false,2063"renderer": "flot",2064"seriesOverrides": [],2065"spaceLength": 10,2066"stack": false,2067"steppedLine": false,2068"targets": [2069{2070"datasource": {2071"uid": "$datasource"2072},2073"expr": "nodejs_active_handles_total{cluster=~\"$cluster\", job=\"server\", pod=~\"$pod\"}",2074"interval": "",2075"legendFormat": "{{cluster}} - {{pod}}",2076"refId": "A"2077}2078],2079"thresholds": [],2080"timeRegions": [],2081"title": "Node.js: File Handles",2082"tooltip": {2083"shared": true,2084"sort": 2,2085"value_type": "individual"2086},2087"type": "graph",2088"xaxis": {2089"mode": "time",2090"show": true,2091"values": []2092},2093"yaxes": [2094{2095"format": "none",2096"logBase": 1,2097"min": "0",2098"show": true2099},2100{2101"format": "short",2102"logBase": 1,2103"show": true2104}2105],2106"yaxis": {2107"align": false2108}2109}2110],2111"targets": [2112{2113"datasource": {2114"type": "datasource",2115"uid": "grafana"2116},2117"refId": "A"2118}2119],2120"title": "Node.js Runtime Metrics",2121"type": "row"2122}2123],2124"refresh": "",2125"schemaVersion": 38,2126"style": "dark",2127"tags": [2128"gitpod-mixin"2129],2130"templating": {2131"list": [2132{2133"allValue": ".*",2134"current": {2135"selected": true,2136"text": [2137"All"2138],2139"value": [2140"$__all"2141]2142},2143"datasource": {2144"uid": "$datasource"2145},2146"definition": "label_values(up{job=\"server\"}, cluster)",2147"hide": 0,2148"includeAll": true,2149"label": "Cluster",2150"multi": true,2151"name": "cluster",2152"options": [],2153"query": {2154"query": "label_values(up{job=\"server\"}, cluster)",2155"refId": "StandardVariableQuery"2156},2157"refresh": 2,2158"regex": "",2159"skipUrlSync": false,2160"sort": 0,2161"tagValuesQuery": "",2162"tagsQuery": "",2163"type": "query",2164"useTags": false2165},2166{2167"allValue": ".*",2168"current": {2169"selected": true,2170"text": [2171"All"2172],2173"value": [2174"$__all"2175]2176},2177"datasource": {2178"uid": "$datasource"2179},2180"definition": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", pod=~\"server.*\"}, node)",2181"hide": 0,2182"includeAll": true,2183"label": "Node",2184"multi": true,2185"name": "node",2186"options": [],2187"query": {2188"query": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", pod=~\"server.*\"}, node)",2189"refId": "StandardVariableQuery"2190},2191"refresh": 2,2192"regex": "",2193"skipUrlSync": false,2194"sort": 0,2195"tagValuesQuery": "",2196"tagsQuery": "",2197"type": "query",2198"useTags": false2199},2200{2201"allValue": ".*",2202"current": {2203"selected": false,2204"text": "All",2205"value": "$__all"2206},2207"datasource": {2208"uid": "$datasource"2209},2210"definition": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", node=~\"$node\", pod=~\"server.*\"}, pod)",2211"hide": 0,2212"includeAll": true,2213"label": "Pod",2214"multi": true,2215"name": "pod",2216"options": [],2217"query": {2218"query": "label_values(container_cpu_usage_seconds_total{cluster=~\"$cluster\", node=~\"$node\", pod=~\"server.*\"}, pod)",2219"refId": "StandardVariableQuery"2220},2221"refresh": 2,2222"regex": "",2223"skipUrlSync": false,2224"sort": 0,2225"tagValuesQuery": "",2226"tagsQuery": "",2227"type": "query",2228"useTags": false2229},2230{2231"allValue": ".*",2232"current": {2233"selected": true,2234"text": [2235"All"2236],2237"value": [2238"$__all"2239]2240},2241"datasource": {2242"uid": "$datasource"2243},2244"definition": "label_values(gitpod_server_api_calls_total{cluster=~\"$cluster\"}, method)",2245"hide": 0,2246"includeAll": true,2247"label": "API Method",2248"multi": true,2249"name": "method",2250"options": [],2251"query": {2252"query": "label_values(gitpod_server_api_calls_total{cluster=~\"$cluster\"}, method)",2253"refId": "StandardVariableQuery"2254},2255"refresh": 2,2256"regex": "",2257"skipUrlSync": false,2258"sort": 1,2259"tagValuesQuery": "",2260"tagsQuery": "",2261"type": "query",2262"useTags": false2263},2264{2265"current": {2266"selected": false,2267"text": "VictoriaMetrics",2268"value": "VictoriaMetrics"2269},2270"hide": 0,2271"includeAll": false,2272"multi": false,2273"name": "datasource",2274"options": [],2275"query": "prometheus",2276"refresh": 1,2277"regex": "",2278"skipUrlSync": false,2279"type": "datasource"2280},2281{2282"allValue": ".*",2283"current": {2284"selected": true,2285"text": [2286"All"2287],2288"value": [2289"$__all"2290]2291},2292"datasource": {2293"uid": "$datasource"2294},2295"definition": "label_values(gitpod_server_http_requests_total, route)",2296"hide": 0,2297"includeAll": true,2298"label": "HTTP Route",2299"multi": true,2300"name": "http_route",2301"options": [],2302"query": {2303"query": "label_values(gitpod_server_http_requests_total, route)",2304"refId": "StandardVariableQuery"2305},2306"refresh": 2,2307"regex": "",2308"skipUrlSync": false,2309"sort": 1,2310"tagValuesQuery": "",2311"tagsQuery": "",2312"type": "query",2313"useTags": false2314}2315]2316},2317"time": {2318"from": "now-3h",2319"to": "now"2320},2321"timepicker": {2322"refresh_intervals": [2323"30s",2324"1m",2325"5m",2326"15m",2327"30m",2328"1h",2329"2h",2330"1d"2331]2332},2333"timezone": "utc",2334"title": "Gitpod / Component / server",2335"uid": "server",2336"version": 1,2337"weekStart": "monday"2338}233923402341