Path: blob/main/docker/grafana-dashboard-jvm-metrics.json
401 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"description": "Dashboard for JVM metrics with OpenTelemetry instrumentation",24"editable": true,25"fiscalYearStartMonth": 0,26"gnetId": 18812,27"graphTooltip": 0,28"links": [29{30"asDropdown": false,31"icon": "info",32"includeVars": false,33"keepTime": false,34"tags": [],35"targetBlank": false,36"title": "Semantic Conventions: 1.20.0 - 1.22.0",37"tooltip": "multiple versions of the semantic conventions are supported using 'or' and regex queries",38"type": "link",39"url": "https://github.com/open-telemetry/semantic-conventions/blob/main/schemas/1.20.0"40}41],42"liveNow": false,43"panels": [44{45"datasource": {46"type": "prometheus",47"uid": "${datasource}"48},49"description": "HTTP server request rate",50"fieldConfig": {51"defaults": {52"color": {53"mode": "palette-classic"54},55"custom": {56"axisBorderShow": false,57"axisCenteredZero": false,58"axisColorMode": "text",59"axisLabel": "",60"axisPlacement": "auto",61"barAlignment": 0,62"drawStyle": "line",63"fillOpacity": 25,64"gradientMode": "none",65"hideFrom": {66"legend": false,67"tooltip": false,68"viz": false69},70"insertNulls": false,71"lineInterpolation": "linear",72"lineWidth": 1,73"pointSize": 5,74"scaleDistribution": {75"type": "linear"76},77"showPoints": "auto",78"spanNulls": false,79"stacking": {80"group": "A",81"mode": "none"82},83"thresholdsStyle": {84"mode": "off"85}86},87"mappings": [],88"thresholds": {89"mode": "absolute",90"steps": [91{92"color": "green",93"value": null94},95{96"color": "red",97"value": 8098}99]100},101"unit": "reqps"102},103"overrides": []104},105"gridPos": {106"h": 8,107"w": 4,108"x": 0,109"y": 0110},111"id": 51,112"options": {113"legend": {114"calcs": [],115"displayMode": "list",116"placement": "bottom",117"showLegend": true118},119"tooltip": {120"mode": "single",121"sort": "none"122}123},124"targets": [125{126"datasource": {127"type": "prometheus",128"uid": "${datasource}"129},130"editorMode": "code",131"expr": "sum by (instance) (rate({__name__=~\"http_server_request_duration_seconds_count|http_server_request_duration_count|http_server_duration_seconds_count|http_server_duration_count|http_server_duration_milliseconds_count|http_server_requests_milliseconds_count|http_server_requests_count|http_server_requests_seconds_count\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",132"instant": false,133"legendFormat": "__auto",134"range": true,135"refId": "A"136}137],138"title": "Rate",139"type": "timeseries"140},141{142"datasource": {143"type": "prometheus",144"uid": "${datasource}"145},146"description": "HTTP server error ratio - ratio of requests that return 5xx",147"fieldConfig": {148"defaults": {149"color": {150"mode": "palette-classic"151},152"custom": {153"axisBorderShow": false,154"axisCenteredZero": false,155"axisColorMode": "text",156"axisLabel": "",157"axisPlacement": "auto",158"barAlignment": 0,159"drawStyle": "line",160"fillOpacity": 25,161"gradientMode": "none",162"hideFrom": {163"legend": false,164"tooltip": false,165"viz": false166},167"insertNulls": false,168"lineInterpolation": "linear",169"lineWidth": 1,170"pointSize": 5,171"scaleDistribution": {172"type": "linear"173},174"showPoints": "auto",175"spanNulls": false,176"stacking": {177"group": "A",178"mode": "none"179},180"thresholdsStyle": {181"mode": "off"182}183},184"mappings": [],185"thresholds": {186"mode": "absolute",187"steps": [188{189"color": "green",190"value": null191},192{193"color": "red",194"value": 80195}196]197},198"unit": "percentunit"199},200"overrides": []201},202"gridPos": {203"h": 8,204"w": 5,205"x": 4,206"y": 0207},208"id": 50,209"options": {210"legend": {211"calcs": [],212"displayMode": "list",213"placement": "bottom",214"showLegend": true215},216"tooltip": {217"mode": "single",218"sort": "none"219}220},221"targets": [222{223"datasource": {224"type": "prometheus",225"uid": "${datasource}"226},227"editorMode": "code",228"expr": "(sum by (instance)(rate({__name__=~\"http_server_request_duration_seconds_count|http_server_request_duration_count\", job=~\"$job\", instance=~\"$instance\", http_response_status_code=~\"5.*\"}[$__rate_interval]))) / on (instance) (sum by (instance)(rate({__name__=~\"http_server_request_duration_seconds_count|http_server_request_duration_count\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])))\nor\n(sum by (instance)(rate({__name__=~\"http_server_duration_milliseconds_count|http_server_duration_seconds_count|http_server_duration_count\", job=~\"$job\", instance=~\"$instance\", http_status_code=~\"5.*\"}[$__rate_interval]))) / on (instance) (sum by (instance)(rate({__name__=~\"http_server_duration_milliseconds_count|http_server_duration_seconds_count|http_server_duration_count\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])))\nor\n(sum by (instance)(rate({__name__=~\"http_server_requests_milliseconds_count|http_server_requests_count|http_server_requests_seconds_count\", job=~\"$job\", instance=~\"$instance\", outcome=\"SERVER_ERROR\"}[$__rate_interval]))) / on (instance) (sum by (instance)(rate({__name__=~\"http_server_requests_milliseconds_count|http_server_requests_count|http_server_requests_seconds_count\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])))\n",229"instant": false,230"legendFormat": "__auto",231"range": true,232"refId": "A"233}234],235"title": "Error %",236"type": "timeseries"237},238{239"datasource": {240"type": "prometheus",241"uid": "${datasource}"242},243"description": "95th percentile of HTTP server request duration in seconds",244"fieldConfig": {245"defaults": {246"color": {247"mode": "palette-classic"248},249"custom": {250"axisBorderShow": false,251"axisCenteredZero": false,252"axisColorMode": "text",253"axisLabel": "",254"axisPlacement": "auto",255"barAlignment": 0,256"drawStyle": "line",257"fillOpacity": 25,258"gradientMode": "none",259"hideFrom": {260"legend": false,261"tooltip": false,262"viz": false263},264"insertNulls": false,265"lineInterpolation": "linear",266"lineWidth": 1,267"pointSize": 5,268"scaleDistribution": {269"type": "linear"270},271"showPoints": "auto",272"spanNulls": false,273"stacking": {274"group": "A",275"mode": "none"276},277"thresholdsStyle": {278"mode": "off"279}280},281"mappings": [],282"thresholds": {283"mode": "absolute",284"steps": [285{286"color": "green",287"value": null288},289{290"color": "red",291"value": 80292}293]294},295"unit": "s"296},297"overrides": []298},299"gridPos": {300"h": 8,301"w": 5,302"x": 9,303"y": 0304},305"id": 52,306"options": {307"legend": {308"calcs": [],309"displayMode": "list",310"placement": "bottom",311"showLegend": true312},313"tooltip": {314"mode": "single",315"sort": "none"316}317},318"targets": [319{320"datasource": {321"type": "prometheus",322"uid": "${datasource}"323},324"editorMode": "code",325"expr": "(histogram_quantile(0.95, sum by(le, instance) (rate({__name__=~\"http_server_request_duration_seconds_bucket|http_server_request_duration_bucket|http_server_duration_seconds_bucket|http_server_duration_bucket|http_server_requests_seconds_bucket\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))))\nor\n(histogram_quantile(0.95, sum by(le, instance) (rate({__name__=~\"http_server_duration_milliseconds_bucket|http_server_requests_milliseconds_bucket|http_server_requests_bucket\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))) / 1000)\n",326"instant": false,327"legendFormat": "{{instance}}",328"range": true,329"refId": "A"330}331],332"title": "Duration (95%)",333"type": "timeseries"334},335{336"datasource": {337"type": "prometheus",338"uid": "${datasource}"339},340"description": "CPU utilization for the whole system",341"fieldConfig": {342"defaults": {343"color": {344"mode": "palette-classic"345},346"custom": {347"axisBorderShow": false,348"axisCenteredZero": false,349"axisColorMode": "text",350"axisLabel": "",351"axisPlacement": "auto",352"barAlignment": 0,353"drawStyle": "line",354"fillOpacity": 25,355"gradientMode": "none",356"hideFrom": {357"legend": false,358"tooltip": false,359"viz": false360},361"insertNulls": false,362"lineInterpolation": "linear",363"lineWidth": 1,364"pointSize": 5,365"scaleDistribution": {366"type": "linear"367},368"showPoints": "auto",369"spanNulls": false,370"stacking": {371"group": "A",372"mode": "none"373},374"thresholdsStyle": {375"mode": "off"376}377},378"mappings": [],379"thresholds": {380"mode": "absolute",381"steps": [382{383"color": "green",384"value": null385},386{387"color": "red",388"value": 80389}390]391},392"unit": "percentunit"393},394"overrides": []395},396"gridPos": {397"h": 7,398"w": 7,399"x": 0,400"y": 8401},402"id": 38,403"options": {404"legend": {405"calcs": [],406"displayMode": "list",407"placement": "bottom",408"showLegend": true409},410"tooltip": {411"mode": "multi",412"sort": "desc"413}414},415"targets": [416{417"datasource": {418"type": "prometheus",419"uid": "${datasource}"420},421"editorMode": "code",422"expr": "{__name__=~\"jvm_cpu_recent_utilization|jvm_cpu_recent_utilization_ratio|process_runtime_jvm_system_cpu_utilization|process_runtime_jvm_system_cpu_utilization_ratio|system_cpu_usage\", job=~\"$job\", instance=~\"$instance\"}",423"legendFormat": "{{instance}}",424"range": true,425"refId": "A"426}427],428"title": "CPU utilization",429"type": "timeseries"430},431{432"datasource": {433"type": "prometheus",434"uid": "${datasource}"435},436"description": "Used heap memory / heap memory limit ",437"fieldConfig": {438"defaults": {439"color": {440"mode": "palette-classic"441},442"custom": {443"axisBorderShow": false,444"axisCenteredZero": false,445"axisColorMode": "text",446"axisLabel": "",447"axisPlacement": "auto",448"barAlignment": 0,449"drawStyle": "line",450"fillOpacity": 25,451"gradientMode": "none",452"hideFrom": {453"legend": false,454"tooltip": false,455"viz": false456},457"insertNulls": false,458"lineInterpolation": "linear",459"lineWidth": 1,460"pointSize": 5,461"scaleDistribution": {462"type": "linear"463},464"showPoints": "auto",465"spanNulls": false,466"stacking": {467"group": "A",468"mode": "none"469},470"thresholdsStyle": {471"mode": "off"472}473},474"mappings": [],475"thresholds": {476"mode": "absolute",477"steps": [478{479"color": "green",480"value": null481},482{483"color": "red",484"value": 80485}486]487},488"unit": "percentunit"489},490"overrides": []491},492"gridPos": {493"h": 7,494"w": 7,495"x": 7,496"y": 8497},498"id": 30,499"options": {500"legend": {501"calcs": [],502"displayMode": "list",503"placement": "bottom",504"showLegend": true505},506"tooltip": {507"mode": "multi",508"sort": "none"509}510},511"targets": [512{513"datasource": {514"type": "prometheus",515"uid": "${datasource}"516},517"editorMode": "code",518"expr": "(sum by (instance) ({__name__=~\"jvm_memory_used|jvm_memory_used_bytes\",job=~\"$job\",jvm_memory_type=\"heap\", instance=~\"$instance\"}) / on(instance) sum by (instance) ({__name__=~\"jvm_memory_limit|jvm_memory_limit_bytes\",job=~\"$job\",jvm_memory_type=\"heap\", instance=~\"$instance\"}))\nor\n(sum by (instance) ({__name__=~\"process_runtime_jvm_memory_usage|process_runtime_jvm_memory_usage_bytes\",job=~\"$job\",type=\"heap\", instance=~\"$instance\"}) / on(instance) sum by (instance) ({__name__=~\"process_runtime_jvm_memory_limit|process_runtime_jvm_memory_limit_bytes\",job=~\"$job\",type=\"heap\", instance=~\"$instance\"}))\nor\n(sum by (instance) ({__name__=~\"jvm_memory_used|jvm_memory_used_bytes\",job=~\"$job\",area=\"heap\", instance=~\"$instance\"}) / on(instance) sum by (instance) ({__name__=~\"jvm_memory_max|jvm_memory_max_bytes\",job=~\"$job\",area=\"heap\", instance=~\"$instance\"}))",519"legendFormat": "{{instance}}",520"range": true,521"refId": "A"522}523],524"title": "Heap Memory utilization",525"type": "timeseries"526},527{528"datasource": {529"type": "prometheus",530"uid": "${datasource}"531},532"description": "Percentage of time spend for garbage collection pauses",533"fieldConfig": {534"defaults": {535"color": {536"mode": "palette-classic"537},538"custom": {539"axisBorderShow": false,540"axisCenteredZero": false,541"axisColorMode": "text",542"axisLabel": "",543"axisPlacement": "auto",544"barAlignment": 0,545"drawStyle": "line",546"fillOpacity": 25,547"gradientMode": "none",548"hideFrom": {549"legend": false,550"tooltip": false,551"viz": false552},553"insertNulls": false,554"lineInterpolation": "linear",555"lineWidth": 1,556"pointSize": 5,557"scaleDistribution": {558"type": "linear"559},560"showPoints": "auto",561"spanNulls": false,562"stacking": {563"group": "A",564"mode": "none"565},566"thresholdsStyle": {567"mode": "off"568}569},570"mappings": [],571"thresholds": {572"mode": "absolute",573"steps": [574{575"color": "green",576"value": null577}578]579},580"unit": "percentunit"581},582"overrides": []583},584"gridPos": {585"h": 7,586"w": 4,587"x": 0,588"y": 15589},590"id": 46,591"options": {592"legend": {593"calcs": [],594"displayMode": "list",595"placement": "bottom",596"showLegend": true597},598"tooltip": {599"mode": "single",600"sort": "none"601}602},603"targets": [604{605"datasource": {606"type": "prometheus",607"uid": "${datasource}"608},609"editorMode": "code",610"expr": "(sum by(instance) (rate({__name__=~\"jvm_gc_duration_sum|jvm_gc_duration_seconds_sum|process_runtime_jvm_gc_duration_sum|process_runtime_jvm_gc_duration_seconds_sum|jvm_gc_pause_sum|jvm_gc_pause_seconds_sum\",job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])))\nor\n(sum by(instance) (rate(jvm_gc_pause_milliseconds_sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) / 1000)",611"hide": false,612"legendFormat": "__auto",613"range": true,614"refId": "B"615}616],617"title": "Garbage Collection",618"type": "timeseries"619},620{621"datasource": {622"type": "prometheus",623"uid": "${datasource}"624},625"description": "Number of currently loaded classes",626"fieldConfig": {627"defaults": {628"color": {629"mode": "palette-classic"630},631"custom": {632"axisBorderShow": false,633"axisCenteredZero": false,634"axisColorMode": "text",635"axisLabel": "",636"axisPlacement": "auto",637"barAlignment": 0,638"drawStyle": "line",639"fillOpacity": 25,640"gradientMode": "none",641"hideFrom": {642"legend": false,643"tooltip": false,644"viz": false645},646"insertNulls": false,647"lineInterpolation": "linear",648"lineWidth": 1,649"pointSize": 5,650"scaleDistribution": {651"type": "linear"652},653"showPoints": "auto",654"spanNulls": false,655"stacking": {656"group": "A",657"mode": "none"658},659"thresholdsStyle": {660"mode": "off"661}662},663"mappings": [],664"thresholds": {665"mode": "absolute",666"steps": [667{668"color": "green",669"value": null670},671{672"color": "red",673"value": 80674}675]676},677"unit": "none"678},679"overrides": []680},681"gridPos": {682"h": 7,683"w": 5,684"x": 4,685"y": 15686},687"id": 33,688"options": {689"legend": {690"calcs": [],691"displayMode": "list",692"placement": "bottom",693"showLegend": true694},695"tooltip": {696"mode": "multi",697"sort": "none"698}699},700"targets": [701{702"datasource": {703"type": "prometheus",704"uid": "${datasource}"705},706"editorMode": "code",707"expr": "{__name__=~\"jvm_class_count|process_runtime_jvm_classes_current_loaded|jvm_classes_loaded\",job=~\"$job\", instance=~\"$instance\"}",708"legendFormat": "{{instance}}",709"range": true,710"refId": "A"711}712],713"title": "Classes",714"type": "timeseries"715},716{717"datasource": {718"type": "prometheus",719"uid": "${datasource}"720},721"description": "Number of currently executing (also called \"live\") threads",722"fieldConfig": {723"defaults": {724"color": {725"mode": "palette-classic"726},727"custom": {728"axisBorderShow": false,729"axisCenteredZero": false,730"axisColorMode": "text",731"axisLabel": "",732"axisPlacement": "auto",733"barAlignment": 0,734"drawStyle": "line",735"fillOpacity": 25,736"gradientMode": "none",737"hideFrom": {738"legend": false,739"tooltip": false,740"viz": false741},742"insertNulls": false,743"lineInterpolation": "linear",744"lineWidth": 1,745"pointSize": 5,746"scaleDistribution": {747"type": "linear"748},749"showPoints": "auto",750"spanNulls": false,751"stacking": {752"group": "A",753"mode": "none"754},755"thresholdsStyle": {756"mode": "off"757}758},759"mappings": [],760"thresholds": {761"mode": "absolute",762"steps": [763{764"color": "green",765"value": null766},767{768"color": "red",769"value": 80770}771]772},773"unit": "none"774},775"overrides": []776},777"gridPos": {778"h": 7,779"w": 5,780"x": 9,781"y": 15782},783"id": 42,784"options": {785"legend": {786"calcs": [],787"displayMode": "list",788"placement": "bottom",789"showLegend": true790},791"tooltip": {792"mode": "single",793"sort": "none"794}795},796"targets": [797{798"datasource": {799"type": "prometheus",800"uid": "${datasource}"801},802"editorMode": "code",803"expr": "sum({__name__=~\"jvm_thread_count|process_runtime_jvm_threads_count|jvm_threads_live\",job=~\"$job\", instance=~\"$instance\"}) by (instance)",804"legendFormat": "{{instance}}",805"range": true,806"refId": "A"807}808],809"title": "Threads",810"type": "timeseries"811}812],813"refresh": "",814"schemaVersion": 38,815"tags": [816"JVM",817"open-telemetry",818"Java",819"otel",820"opentelemetry",821"otlp"822],823"templating": {824"list": [825{826"current": {827"selected": false,828"text": "Prometheus",829"value": "prometheus"830},831"description": "Choose a Prometheus data source",832"hide": 0,833"includeAll": false,834"label": "Data source",835"multi": false,836"name": "datasource",837"options": [],838"query": "prometheus",839"queryValue": "",840"refresh": 1,841"regex": "",842"skipUrlSync": false,843"type": "datasource"844},845{846"allValue": ".+",847"current": {848"selected": false,849"text": "All",850"value": "$__all"851},852"datasource": {853"type": "prometheus",854"uid": "${datasource}"855},856"definition": "label_values({__name__=~\"jvm_class_count|process_runtime_jvm_classes_current_loaded|jvm_classes_loaded\"},job)",857"hide": 0,858"includeAll": true,859"label": "Job",860"multi": true,861"name": "job",862"options": [],863"query": {864"query": "label_values({__name__=~\"jvm_class_count|process_runtime_jvm_classes_current_loaded|jvm_classes_loaded\"},job)",865"refId": "PrometheusVariableQueryEditor-VariableQuery"866},867"refresh": 2,868"regex": "",869"skipUrlSync": false,870"sort": 1,871"tagValuesQuery": "",872"tagsQuery": "",873"type": "query",874"useTags": false875},876{877"allValue": ".+",878"current": {879"selected": false,880"text": "All",881"value": "$__all"882},883"datasource": {884"type": "prometheus",885"uid": "${datasource}"886},887"definition": "label_values({__name__=~\"(jvm_class_count|process_runtime_jvm_classes_current_loaded|jvm_classes_loaded)\", job=~\"$job\"},instance)",888"description": "The instance of the application, e.g. pod1",889"hide": 0,890"includeAll": true,891"label": "Instance",892"multi": true,893"name": "instance",894"options": [],895"query": {896"query": "label_values({__name__=~\"(jvm_class_count|process_runtime_jvm_classes_current_loaded|jvm_classes_loaded)\", job=~\"$job\"},instance)",897"refId": "PrometheusVariableQueryEditor-VariableQuery"898},899"refresh": 2,900"regex": "",901"skipUrlSync": false,902"sort": 1,903"tagValuesQuery": "",904"tagsQuery": "",905"type": "query",906"useTags": false907}908]909},910"time": {911"from": "now-1h",912"to": "now"913},914"timepicker": {915"refresh_intervals": [916"5s",917"10s",918"30s",919"1m",920"5m",921"15m",922"30m",923"1h",924"2h",925"1d"926],927"time_options": [928"5m",929"15m",930"1h",931"6h",932"12h",933"24h",934"2d",935"7d",936"30d"937]938},939"timezone": "",940"title": "JVM Overview (OpenTelemetry)",941"uid": "b91844d7-121e-4d0a-93b8-a9c1a05703b3",942"version": 1,943"weekStart": ""944}945946947