{ "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "description": "Resilience4j Metrics", "editable": false, "gnetId": null, "graphTooltip": 0, "iteration": 1612596853236, "links": [], "panels": [ { "collapsed": false, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 19, "panels": [], "title": "Summary", "type": "row" }, { "cacheTimeout": null, "colorBackground": false, "colorPostfix": false, "colorPrefix": false, "colorValue": true, "colors": [ "#d44a3a", "rgba(237, 129, 40, 0.89)", "#73BF69" ], "datasource": "Prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "format": "none", "gauge": { "maxValue": 2, "minValue": 0, "show": false, "thresholdLabels": false, "thresholdMarkers": true }, "gridPos": { "h": 5, "w": 12, "x": 0, "y": 1 }, "id": 8, "interval": null, "links": [], "mappingType": 1, "mappingTypes": [ { "name": "value to text", "value": 1 }, { "name": "range to text", "value": 2 } ], "maxDataPoints": 100, "nullPointMode": "connected", "nullText": null, "postfix": "", "postfixFontSize": "50%", "prefix": "CLOSED:", "prefixFontSize": "50%", "rangeMaps": [ { "from": "null", "text": "N/A", "to": "null" } ], "sparkline": { "fillColor": "rgba(150, 217, 141, 0.22)", "full": false, "lineColor": "#73BF69", "show": true }, "tableColumn": "", "targets": [ { "expr": "sum(resilience4j_circuitbreaker_state{state=\"closed\"})", "format": "time_series", "instant": false, "intervalFactor": 1, "refId": "A" } ], "thresholds": "0,1", "timeFrom": null, "timeShift": null, "title": "Number of closed CircuitBreaker", "type": "singlestat", "valueFontSize": "100%", "valueMaps": [ { "op": "=", "text": "N/A", "value": "null" } ], "valueName": "current" }, { "cacheTimeout": null, "colorBackground": false, "colorPostfix": false, "colorPrefix": false, "colorValue": true, "colors": [ "#299c46", "rgba(237, 129, 40, 0.89)", "#F2495C" ], "datasource": "Prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "format": "none", "gauge": { "maxValue": 100, "minValue": 0, "show": false, "thresholdLabels": false, "thresholdMarkers": false }, "gridPos": { "h": 5, "w": 12, "x": 12, "y": 1 }, "id": 6, "interval": null, "links": [], "mappingType": 1, "mappingTypes": [ { "name": "value to text", "value": 1 }, { "name": "range to text", "value": 2 } ], "maxDataPoints": 100, "nullPointMode": "connected", "nullText": null, "postfix": "", "postfixFontSize": "50%", "prefix": "OPEN: ", "prefixFontSize": "50%", "rangeMaps": [ { "from": "null", "text": "N/A", "to": "null" } ], "sparkline": { "fillColor": "#FFA6B0", "full": false, "lineColor": "#F2495C", "show": true }, "tableColumn": "", "targets": [ { "expr": "sum(resilience4j_circuitbreaker_state{state=~\"open|forced_open\"})", "format": "time_series", "intervalFactor": 1, "refId": "A" } ], "thresholds": "1,5", "timeFrom": null, "timeShift": null, "title": "Number of open CircuitBreaker", "type": "singlestat", "valueFontSize": "100%", "valueMaps": [ { "op": "=", "text": "N/A", "value": "null" } ], "valueName": "current" }, { "aliasColors": {}, "bars": false, "cacheTimeout": null, "dashLength": 10, "dashes": false, "datasource": "Prometheus", "decimals": null, "description": "", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 12, "x": 0, "y": 6 }, "hiddenSeries": false, "id": 4, "interval": "", "legend": { "alignAsTable": false, "avg": false, "current": true, "hideEmpty": false, "hideZero": false, "max": false, "min": false, "rightSide": true, "show": true, "sideWidth": null, "total": false, "values": true }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.3.7", "pointradius": 2, "points": false, "renderer": "flot", "repeat": null, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "resilience4j_circuitbreaker_state{instance=~\"$instance\"}", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ name }}: {{ state }}", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "CircuitBreaker States", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:968", "decimals": 0, "format": "short", "label": "Number", "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:969", "decimals": null, "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "cacheTimeout": null, "colorBackground": false, "colorValue": true, "colors": [ "#299c46", "#FF9830", "#d44a3a" ], "datasource": "Prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "format": "none", "gauge": { "maxValue": 100, "minValue": 0, "show": false, "thresholdLabels": false, "thresholdMarkers": true }, "gridPos": { "h": 7, "w": 12, "x": 12, "y": 6 }, "id": 21, "interval": null, "links": [], "mappingType": 1, "mappingTypes": [ { "name": "value to text", "value": 1 }, { "name": "range to text", "value": 2 } ], "maxDataPoints": 100, "nullPointMode": "connected", "nullText": null, "pluginVersion": "6.1.6", "postfix": "", "postfixFontSize": "50%", "prefix": "HALF_OPEN: ", "prefixFontSize": "50%", "rangeMaps": [ { "from": "null", "text": "N/A", "to": "null" } ], "sparkline": { "fillColor": "rgba(31, 118, 189, 0.18)", "full": false, "lineColor": "rgb(31, 120, 193)", "show": true }, "tableColumn": "", "targets": [ { "expr": "sum(resilience4j_circuitbreaker_state{state=\"half_open\"})", "format": "time_series", "instant": false, "intervalFactor": 1, "legendFormat": "", "refId": "A" } ], "thresholds": "0,1", "timeFrom": null, "timeShift": null, "title": "Number of half_open CircuitBreaker", "type": "singlestat", "valueFontSize": "100%", "valueMaps": [ { "op": "=", "text": "N/A", "value": "null" } ], "valueName": "current" }, { "collapsed": false, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 13 }, "id": 15, "panels": [], "repeat": "circuitbreaker_name", "scopedVars": { "circuitbreaker_name": { "selected": true, "text": "upstream", "value": "upstream" } }, "title": "CircuitBreaker", "type": "row" }, { "cacheTimeout": null, "datasource": "Prometheus", "description": "", "fieldConfig": { "defaults": { "custom": {}, "mappings": [ { "id": 0, "op": "=", "text": "N/A", "type": 1, "value": "null" }, { "id": 1, "op": "=", "text": "N/A", "type": 1, "value": "-1" } ], "max": 100, "min": 0, "nullValueMode": "connected", "thresholds": { "mode": "absolute", "steps": [ { "color": "#299c46", "value": null }, { "color": "rgba(237, 129, 40, 0.89)", "value": 40 }, { "color": "#d44a3a", "value": 50 } ] }, "unit": "percent" }, "overrides": [] }, "gridPos": { "h": 7, "w": 8, "x": 0, "y": 14 }, "id": 2, "interval": null, "links": [], "maxDataPoints": 100, "options": { "orientation": "horizontal", "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "showThresholdLabels": false, "showThresholdMarkers": true }, "pluginVersion": "7.3.7", "repeat": null, "repeatDirection": "h", "scopedVars": { "circuitbreaker_name": { "selected": true, "text": "upstream", "value": "upstream" } }, "targets": [ { "expr": "resilience4j_circuitbreaker_failure_rate", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, "legendFormat": "{{ name }}", "refId": "A" } ], "timeFrom": null, "timeShift": null, "title": "Failure Rate: $circuitbreaker_name", "type": "gauge" }, { "aliasColors": { "failed ": "red", "ignored ": "blue", "not_permitted ": "orange", "successful ": "green" }, "bars": false, "dashLength": 10, "dashes": false, "datasource": "Prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 16, "x": 8, "y": 14 }, "hiddenSeries": false, "id": 23, "interval": "", "legend": { "alignAsTable": true, "avg": true, "current": true, "max": true, "min": true, "rightSide": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.3.7", "pointradius": 2, "points": true, "renderer": "flot", "scopedVars": { "circuitbreaker_name": { "selected": true, "text": "upstream", "value": "upstream" } }, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(resilience4j_circuitbreaker_calls_seconds_count{instance=~\"$instance\",name=~\"$circuitbreaker_name\"}[2m])", "format": "time_series", "hide": false, "interval": "", "intervalFactor": 1, "legendFormat": "{{ kind }} ", "refId": "A" }, { "expr": "rate(resilience4j_circuitbreaker_calls_total{instance=~\"$instance\",name=~\"$circuitbreaker_name\"}[2m])", "format": "time_series", "interval": "", "intervalFactor": 1, "legendFormat": "{{ kind }} ", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Call rate: $circuitbreaker_name", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:1027", "format": "reqps", "label": "Calls/sec", "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:1028", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": { "failed": "red", "successful": "green" }, "bars": false, "dashLength": 10, "dashes": false, "datasource": "Prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 21 }, "hiddenSeries": false, "id": 11, "legend": { "alignAsTable": true, "avg": false, "current": true, "hideEmpty": false, "hideZero": false, "max": false, "min": false, "rightSide": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.3.7", "pointradius": 2, "points": false, "renderer": "flot", "repeat": null, "repeatDirection": "h", "scopedVars": { "circuitbreaker_name": { "selected": true, "text": "upstream", "value": "upstream" } }, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "resilience4j_circuitbreaker_buffered_calls{instance=~\"$instance\",name=~\"$circuitbreaker_name\"}", "format": "time_series", "intervalFactor": 1, "legendFormat": "{{ kind }}", "refId": "A" }, { "expr": "resilience4j_circuitbreaker_max_buffered_calls{instance=~\"$instance\",name=~\"$circuitbreaker_name\"}", "format": "time_series", "intervalFactor": 1, "legendFormat": "maximum", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Buffered calls: $circuitbreaker_name", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "decimals": 1, "format": "short", "label": "Number", "logBase": 1, "max": null, "min": null, "show": true }, { "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "aliasColors": { "failed": "red", "ignored": "blue", "successful": "green" }, "bars": false, "dashLength": 10, "dashes": false, "datasource": "Prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 29 }, "hiddenSeries": false, "id": 25, "legend": { "alignAsTable": true, "avg": true, "current": true, "hideEmpty": false, "hideZero": false, "max": true, "min": true, "rightSide": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.3.7", "pointradius": 2, "points": true, "renderer": "flot", "scopedVars": { "circuitbreaker_name": { "selected": true, "text": "upstream", "value": "upstream" } }, "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "increase(resilience4j_circuitbreaker_calls_seconds_sum{instance=~\"$instance\",name=~\"$circuitbreaker_name\"}[2m]) / increase(resilience4j_circuitbreaker_calls_seconds_count{instance=~\"$instance\",name=~\"$circuitbreaker_name\"}[2m])", "format": "time_series", "interval": "", "intervalFactor": 1, "legendFormat": "{{ kind }}", "refId": "A" }, { "expr": "sum(increase(resilience4j_circuitbreaker_calls_seconds_sum{instance=~\"$instance\",name=~\"$circuitbreaker_name\"}[2m])) / sum(increase(resilience4j_circuitbreaker_calls_seconds_count{instance=~\"$instance\",name=~\"$circuitbreaker_name\"}[2m]))", "format": "time_series", "interval": "", "intervalFactor": 1, "legendFormat": "total ", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Average call durations", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:715", "format": "s", "label": "Average duration", "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:716", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "collapsed": false, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 36 }, "id": 28, "panels": [], "repeat": "retry_name", "title": "Retry", "type": "row" }, { "aliasColors": { "failed_with_retry": "red", "failed_without_retry": "orange", "successful_with_retry": "yellow", "successful_without_retry": "green" }, "bars": false, "dashLength": 10, "dashes": false, "datasource": "Prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 9, "w": 24, "x": 0, "y": 37 }, "hiddenSeries": false, "id": 30, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": false, "min": false, "rightSide": true, "show": true, "total": true, "values": true }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.3.7", "pointradius": 2, "points": true, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "rate(resilience4j_retry_calls{application=~\"$application\",name=~\"$retry_name\",}[2m])", "format": "time_series", "interval": "", "intervalFactor": 1, "legendFormat": "{{ kind }}", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Rate retryable calls: $retry_name", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:774", "format": "short", "label": "Number of calls", "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:775", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } }, { "collapsed": false, "datasource": null, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 46 }, "id": 32, "panels": [], "repeat": "bulkhead_name", "title": "Bulkhead", "type": "row" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": "Prometheus", "fieldConfig": { "defaults": { "custom": {} }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 47 }, "hiddenSeries": false, "id": 34, "legend": { "alignAsTable": true, "avg": false, "current": true, "max": false, "min": false, "rightSide": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.3.7", "pointradius": 2, "points": true, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "resilience4j_bulkhead_available_concurrent_calls{application=~\"$application\",name=~\"$bulkhead_name\"}", "format": "time_series", "intervalFactor": 1, "legendFormat": "Available Calls", "refId": "A" }, { "expr": "resilience4j_bulkhead_max_allowed_concurrent_calls{application=~\"$application\",name=~\"$bulkhead_name\"}", "format": "time_series", "intervalFactor": 1, "legendFormat": "Max allowed Calls", "refId": "B" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "Bulkhead: $bulkhead_name", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:833", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:834", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "refresh": false, "schemaVersion": 26, "style": "dark", "tags": [], "templating": { "list": [ { "allValue": null, "current": { "isNone": true, "selected": false, "text": "None", "value": "" }, "datasource": "Prometheus", "definition": "label_values(application)", "error": null, "hide": 0, "includeAll": false, "label": "Application", "multi": false, "name": "application", "options": [], "query": "label_values(application)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "tags": [], "text": [ "mangadex-at-home:443" ], "value": [ "mangadex-at-home:443" ] }, "datasource": "Prometheus", "definition": "label_values(resilience4j_circuitbreaker_state, instance)", "error": null, "hide": 0, "includeAll": true, "label": "Instance", "multi": true, "name": "instance", "options": [ { "selected": false, "text": "All", "value": "$__all" }, { "selected": true, "text": "mangadex-at-home:443", "value": "mangadex-at-home:443" } ], "query": "label_values(resilience4j_circuitbreaker_state, instance)", "refresh": 0, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": [ "upstream" ], "value": [ "upstream" ] }, "datasource": "Prometheus", "definition": "label_values(resilience4j_circuitbreaker_state, name)", "error": null, "hide": 0, "includeAll": false, "label": "CircuitBreaker Name", "multi": true, "name": "circuitbreaker_name", "options": [], "query": "label_values(resilience4j_circuitbreaker_state, name)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 1, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": [ "All" ], "value": [ "$__all" ] }, "datasource": "Prometheus", "definition": "label_values(resilience4j_retry_calls, name)", "error": null, "hide": 0, "includeAll": true, "label": "Retry Name", "multi": true, "name": "retry_name", "options": [], "query": "label_values(resilience4j_retry_calls, name)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 1, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": [ "All" ], "value": [ "$__all" ] }, "datasource": "Prometheus", "definition": "label_values(resilience4j_bulkhead_available_concurrent_calls, name)", "error": null, "hide": 0, "includeAll": true, "label": "Bulkhead Name", "multi": true, "name": "bulkhead_name", "options": [], "query": "label_values(resilience4j_bulkhead_available_concurrent_calls, name)", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 1, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-5m", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ], "time_options": [ "5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d" ] }, "timezone": "", "title": "Resilience4j", "uid": "DshZ5zmWk", "version": 2 }