{ "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "grafana", "uid": "-- Grafana --" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "target": { "limit": 100, "matchAny": false, "tags": [], "type": "dashboard" }, "type": "dashboard" } ] }, "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, "id": 2, "links": [], "panels": [ { "fieldConfig": { "defaults": {}, "overrides": [] }, "gridPos": { "h": 3, "w": 24, "x": 0, "y": 0 }, "id": 21, "options": { "code": { "language": "plaintext", "showLineNumbers": false, "showMiniMap": false }, "content": "This dashboard shows RED metrics for the selected service, as generated by the spanmetrics connector in the OpenTelemetry Collector.\nIf the selected service emits logs, the logs will also be displayed.\nCustom metrics generated by some services are also displayed. \n
\nChart panels may require 5 minutes after the Demo is started before rendering data.", "mode": "html" }, "pluginVersion": "11.5.2", "title": "", "type": "text" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 3 }, "id": 14, "panels": [], "title": "Spanmetrics (RED metrics)", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "reqps" }, "overrides": [] }, "gridPos": { "h": 8, "w": 8, "x": 0, "y": 4 }, "id": 12, "interval": "2m", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "hideZeros": false, "mode": "multi", "sort": "desc" } }, "pluginVersion": "11.5.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "editorMode": "code", "expr": "sum by (span_name) (rate(traces_span_metrics_duration_milliseconds_count{service_name=\"${service}\"}[$__rate_interval]))", "legendFormat": "{{ span_name }}", "range": true, "refId": "A" } ], "title": "Requests Rate by Span Name", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 8, "w": 8, "x": 8, "y": 4 }, "id": 10, "interval": "2m", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "hideZeros": false, "mode": "multi", "sort": "desc" } }, "pluginVersion": "11.5.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "editorMode": "code", "expr": "sum by (span_name) (rate(traces_span_metrics_calls_total{status_code=\"STATUS_CODE_ERROR\", service_name=\"${service}\"}[$__rate_interval]))", "interval": "", "legendFormat": "{{ span_name }}", "range": true, "refId": "A" } ], "title": "Error Rate by Span Name", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "dtdurationms" }, "overrides": [] }, "gridPos": { "h": 8, "w": 8, "x": 16, "y": 4 }, "id": 2, "interval": "2m", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "hideZeros": false, "mode": "multi", "sort": "desc" } }, "pluginVersion": "11.5.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "editorMode": "code", "exemplar": false, "expr": "histogram_quantile(0.50, sum(rate(traces_span_metrics_duration_milliseconds_bucket{service_name=\"${service}\"}[$__rate_interval])) by (le, span_name))", "legendFormat": "{{span_name}}", "range": true, "refId": "A" } ], "title": "Average Duration by Span Name", "type": "timeseries" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 12 }, "id": 19, "panels": [], "title": "Application Log Records", "type": "row" }, { "datasource": { "type": "grafana-opensearch-datasource", "uid": "webstore-logs" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "left", "cellOptions": { "type": "auto" }, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "count()" }, "properties": [ { "id": "custom.width", "value": 90 } ] } ] }, "gridPos": { "h": 8, "w": 4, "x": 0, "y": 13 }, "id": 20, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true }, "pluginVersion": "11.5.2", "targets": [ { "alias": "", "bucketAggs": [ { "field": "severity.text.keyword", "id": "3", "settings": { "min_doc_count": "1", "order": "desc", "orderBy": "_count", "size": "0" }, "type": "terms" } ], "datasource": { "type": "grafana-opensearch-datasource", "uid": "webstore-logs" }, "format": "table", "metrics": [ { "id": "1", "type": "count" } ], "query": "search source=otel-logs-*\n| where resource.service.name=\"${service}\"\n| stats count() by severity.text", "queryType": "PPL", "refId": "A", "timeField": "observedTimestamp" } ], "title": "Log Records by Severity", "transformations": [ { "id": "organize", "options": { "excludeByName": {}, "includeByName": {}, "indexByName": {}, "renameByName": { "Count": "", "severity.text.keyword": "Severity" } } } ], "type": "table" }, { "datasource": { "type": "grafana-opensearch-datasource", "uid": "webstore-logs" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "cellOptions": { "type": "auto", "wrapText": false }, "filterable": true, "inspect": true }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "observedTimestamp" }, "properties": [] }, { "matcher": { "id": "byName", "options": "body" }, "properties": [ { "id": "custom.width", "value": 386 } ] }, { "matcher": { "id": "byName", "options": "severity.text" }, "properties": [ { "id": "custom.width", "value": 127 } ] } ] }, "gridPos": { "h": 8, "w": 20, "x": 4, "y": 13 }, "id": 17, "options": { "cellHeight": "sm", "footer": { "countRows": false, "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "11.5.2", "targets": [ { "alias": "", "bucketAggs": [], "datasource": { "type": "grafana-opensearch-datasource", "uid": "webstore-logs" }, "format": "table", "hide": false, "metrics": [ { "id": "1", "settings": { "order": "desc", "size": "100", "useTimeRange": true }, "type": "raw_data" } ], "query": "search source=otel-logs-*\n| where resource.service.name=\"${service}\"\n| sort - observedTimestamp \n| head 100", "queryType": "PPL", "refId": "A", "timeField": "observedTimestamp" } ], "title": "Log Records (100 recent entries)", "transformations": [ { "id": "organize", "options": { "excludeByName": { "@timestamp": true }, "includeByName": {}, "indexByName": { "@timestamp": 1, "attributes.data_stream.dataset": 4, "attributes.data_stream.namespace": 5, "attributes.data_stream.type": 6, "attributes.productId": 7, "attributes.quantity": 8, "attributes.userId": 9, "body": 3, "instrumentationScope.name": 10, "observedTimestamp": 0, "resource.container.id": 11, "resource.docker.cli.cobra.command_path": 12, "resource.host.name": 13, "resource.service.name": 14, "resource.telemetry.sdk.language": 15, "resource.telemetry.sdk.name": 16, "resource.telemetry.sdk.version": 17, "severity.number": 18, "severity.text": 2, "spanId": 19, "traceId": 20 }, "renameByName": {} } } ], "type": "table" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 21 }, "id": 18, "panels": [], "title": "Application Metrics", "type": "row" }, { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "percent" }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 22 }, "id": 6, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "hideZeros": false, "mode": "multi", "sort": "desc" } }, "pluginVersion": "11.5.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "editorMode": "code", "expr": "rate(process_runtime_cpython_cpu_time_seconds_total{type=~\"system\"}[$__rate_interval])*100", "hide": false, "interval": "2m", "legendFormat": "{{job}} ({{type}})", "range": true, "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "editorMode": "code", "expr": "rate(process_runtime_cpython_cpu_time_seconds_total{type=~\"user\"}[$__rate_interval])*100", "hide": false, "interval": "2m", "legendFormat": "{{job}} ({{type}})", "range": true, "refId": "B" } ], "title": "Python services (CPU%)", "transformations": [ { "id": "renameByRegex", "options": { "regex": "opentelemetry-demo/(.*)", "renamePattern": "$1" } } ], "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "bytes" }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 22 }, "id": 8, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "hideZeros": false, "mode": "multi", "sort": "desc" } }, "pluginVersion": "11.5.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "editorMode": "code", "expr": "process_runtime_cpython_memory_bytes{type=\"rss\"}", "legendFormat": "{{job}}", "range": true, "refId": "A" } ], "title": "Python services (Memory)", "transformations": [ { "id": "renameByRegex", "options": { "regex": "opentelemetry-demo/(.*)", "renamePattern": "$1" } } ], "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 30 }, "id": 4, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": false }, "tooltip": { "hideZeros": false, "mode": "multi", "sort": "desc" } }, "pluginVersion": "11.5.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "editorMode": "code", "expr": "rate(app_recommendations_counter_total{recommendation_type=\"catalog\"}[$__rate_interval])", "interval": "2m", "legendFormat": "recommendations", "range": true, "refId": "A" } ], "title": "Recommendations Rate", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 0, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 1, "pointSize": 5, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] } }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 30 }, "id": 16, "interval": "2m", "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "hideZeros": false, "mode": "multi", "sort": "desc" } }, "pluginVersion": "11.5.2", "targets": [ { "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "editorMode": "code", "expr": "rate(otel_trace_span_processor_spans{job=\"quote\"}[2m])*120", "interval": "2m", "legendFormat": "{{state}}", "range": true, "refId": "A" } ], "title": "Quote Service batch span processor", "type": "timeseries" }, { "collapsed": false, "gridPos": { "h": 1, "w": 24, "x": 0, "y": 38 }, "id": 23, "panels": [], "title": "Service Dependency", "type": "row" }, { "datasource": { "type": "jaeger", "uid": "webstore-traces" }, "fieldConfig": { "defaults": {}, "overrides": [] }, "gridPos": { "h": 18, "w": 24, "x": 0, "y": 39 }, "id": 22, "options": { "edges": { "mainStatUnit": "requests" }, "nodes": { "arcs": [], "mainStatUnit": "" }, "zoomMode": "cooperative" }, "pluginVersion": "11.5.2", "targets": [ { "datasource": { "type": "jaeger", "uid": "webstore-traces" }, "queryType": "dependencyGraph", "refId": "A" } ], "title": "Service Dependency", "type": "nodeGraph" } ], "preload": false, "refresh": "", "schemaVersion": 40, "tags": [], "templating": { "list": [ { "current": { "text": "frontend", "value": "frontend" }, "datasource": { "type": "prometheus", "uid": "webstore-metrics" }, "definition": "traces_span_metrics_duration_milliseconds_bucket", "includeAll": false, "label": "Service", "name": "service", "options": [], "query": { "query": "traces_span_metrics_duration_milliseconds_bucket", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 1, "regex": "/.*service.name=\\\"([^\\\"]+)\\\".*/", "sort": 1, "type": "query" } ] }, "time": { "from": "now-15m", "to": "now" }, "timepicker": {}, "timezone": "", "title": "Demo Dashboard", "uid": "W2gX2zHVk", "version": 2, "weekStart": "" }