{ "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "grafana", "uid": "-- Grafana --" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, "links": [], "panels": [ { "fieldConfig": { "defaults": {}, "overrides": [] }, "gridPos": { "h": 5, "w": 24, "x": 0, "y": 0 }, "id": 1, "options": { "code": { "language": "plaintext", "showLineNumbers": false, "showMiniMap": false }, "content": "

SQLPage Observability

Open http://localhost and interact with the app. New requests will appear here automatically.

This dashboard shows traces, logs, and application metrics exported by SQLPage. Trace waterfalls link to PostgreSQL logs via trace IDs. Metrics include HTTP durations, DB query latencies, and connection pool states.

", "mode": "html" }, "pluginVersion": "12.4.1", "title": "Overview", "type": "text" }, { "datasource": { "type": "prometheus", "uid": "prometheus" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 4, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "showValues": false, "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }, "unit": "s" }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 0, "y": 5 }, "id": 10, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "hideZeros": false, "mode": "single", "sort": "none" } }, "pluginVersion": "12.4.1", "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, "expr": "histogram_quantile(0.95, sum(rate(http_server_request_duration_seconds_bucket[5m])) by (le, http_route))", "legendFormat": "HTTP P95 {{http_route}}", "refId": "A" }, { "datasource": { "type": "prometheus", "uid": "prometheus" }, "expr": "histogram_quantile(0.95, sum(rate(db_client_operation_duration_seconds_bucket[5m])) by (le, db_operation_name))", "legendFormat": "DB P95 {{db_operation_name}}", "refId": "B" } ], "title": "Request & Query Latency (P95)", "type": "timeseries" }, { "datasource": { "type": "prometheus", "uid": "prometheus" }, "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", "barAlignment": 0, "barWidthFactor": 0.6, "drawStyle": "line", "fillOpacity": 10, "gradientMode": "none", "hideFrom": { "legend": false, "tooltip": false, "viz": false }, "insertNulls": false, "lineInterpolation": "linear", "lineWidth": 2, "pointSize": 4, "scaleDistribution": { "type": "linear" }, "showPoints": "never", "showValues": false, "spanNulls": false, "stacking": { "group": "A", "mode": "none" }, "thresholdsStyle": { "mode": "off" } }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 8, "w": 12, "x": 12, "y": 5 }, "id": 11, "options": { "legend": { "calcs": [], "displayMode": "list", "placement": "bottom", "showLegend": true }, "tooltip": { "hideZeros": false, "mode": "single", "sort": "none" } }, "pluginVersion": "12.4.1", "targets": [ { "datasource": { "type": "prometheus", "uid": "prometheus" }, "expr": "sum(db_client_connection_count) by (db_client_connection_state)", "legendFormat": "{{db_client_connection_state}}", "refId": "A" } ], "title": "SQLPage DB Connection Pool", "type": "timeseries" }, { "datasource": { "type": "tempo", "uid": "tempo" }, "fieldConfig": { "defaults": { "custom": { "align": "auto", "cellOptions": { "type": "auto" }, "footer": { "reducers": [] }, "inspect": false }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": 0 }, { "color": "red", "value": 80 } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "traceID" }, "properties": [ { "id": "custom.hideFrom.viz", "value": true } ] }, { "matcher": { "id": "byName", "options": "traceName" }, "properties": [ { "id": "custom.cellOptions", "value": { "type": "data-links" } }, { "id": "links", "value": [ { "targetBlank": false, "title": "${__value.text}", "url": "/a/grafana-exploretraces-app/explore?traceId=${__data.fields.traceID}" } ] } ] }, { "matcher": { "id": "byName", "options": "traceDuration" }, "properties": [ { "id": "custom.width", "value": 120 } ] }, { "matcher": { "id": "byName", "options": "Service" }, "properties": [ { "id": "custom.width", "value": 58 } ] }, { "matcher": { "id": "byName", "options": "Start time" }, "properties": [ { "id": "custom.width", "value": 204 } ] } ] }, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 13 }, "id": 2, "options": { "cellHeight": "sm", "frameIndex": 0, "showHeader": true, "sortBy": [ { "desc": true, "displayName": "Start time" } ] }, "pluginVersion": "12.4.1", "targets": [ { "datasource": { "type": "tempo", "uid": "tempo" }, "filters": [ { "id": "57ff7584", "operator": "=", "scope": "span" } ], "limit": 50, "metricsQueryType": "range", "query": "{resource.service.name != nil}", "queryType": "traceqlSearch", "refId": "A", "serviceMapUseNativeHistograms": false, "tableType": "traces" } ], "timeFrom": "1h", "title": "Trace List", "transformations": [ { "id": "organize", "options": { "excludeByName": { "nested": true }, "indexByName": { "startTime": 1, "traceDuration": 4, "traceID": 0, "traceName": 3, "traceService": 2 }, "renameByName": { "startTime": "Start time", "traceDuration": "Duration", "traceID": "Trace", "traceName": "Route", "traceService": "Service" } } } ], "type": "table" }, { "datasource": { "type": "loki", "uid": "loki" }, "fieldConfig": { "defaults": {}, "overrides": [] }, "gridPos": { "h": 10, "w": 12, "x": 0, "y": 21 }, "id": 3, "options": { "dedupStrategy": "none", "enableInfiniteScrolling": false, "enableLogDetails": true, "prettifyLogMessage": false, "showCommonLabels": false, "showControls": false, "showLabels": true, "showTime": true, "sortOrder": "Descending", "unwrappedColumns": false, "wrapLogMessage": true }, "pluginVersion": "12.4.1", "targets": [ { "datasource": { "type": "loki", "uid": "loki" }, "direction": "backward", "editorMode": "builder", "expr": "{service_name=\"sqlpage\"}", "queryType": "range", "refId": "A" } ], "timeFrom": "1h", "title": "SQLPage Logs", "type": "logs" }, { "datasource": { "type": "loki", "uid": "loki" }, "fieldConfig": { "defaults": {}, "overrides": [] }, "gridPos": { "h": 10, "w": 12, "x": 12, "y": 21 }, "id": 6, "options": { "dedupStrategy": "none", "enableInfiniteScrolling": false, "enableLogDetails": true, "prettifyLogMessage": false, "showCommonLabels": false, "showControls": false, "showLabels": true, "showTime": true, "sortOrder": "Descending", "unwrappedColumns": false, "wrapLogMessage": true }, "pluginVersion": "12.4.1", "targets": [ { "datasource": { "type": "loki", "uid": "loki" }, "direction": "backward", "editorMode": "builder", "expr": "{service_name=\"postgresql\"}", "queryType": "range", "refId": "A" } ], "timeFrom": "1h", "title": "PostgreSQL Logs", "type": "logs" } ], "preload": false, "refresh": "5s", "schemaVersion": 42, "tags": ["sqlpage", "tracing", "logs", "metrics"], "templating": { "list": [] }, "time": { "from": "now-1h", "to": "now" }, "timepicker": {}, "timezone": "browser", "title": "SQLPage Observability Home", "uid": "sqlpage-tracing-home", "version": 1, "weekStart": "" }