{ "dashboard": { "uid": "narrowit-unified", "title": "Narrowit Unified", "tags": [ "narrowit", "unified" ], "timezone": "browser", "schemaVersion": 39, "version": 1, "refresh": "30s", "time": { "from": "now-24h", "to": "now" }, "fiscalYearStartMonth": 0, "liveNow": false, "style": "dark", "editable": true, "graphTooltip": 1, "panels": [ { "type": "row", "title": "Overview", "gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 }, "id": 1, "collapsed": false, "panels": [] }, { "type": "stat", "title": "Total Properties Loaded", "gridPos": { "h": 4, "w": 4, "x": 0, "y": 1 }, "id": 2, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "none", "justifyMode": "auto" }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "data_properties_loaded{job=\"narrowit\"}", "legendFormat": "", "refId": "A" } ] }, { "type": "stat", "title": "Total Postcodes Loaded", "gridPos": { "h": 4, "w": 4, "x": 4, "y": 1 }, "id": 3, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "none", "justifyMode": "auto" }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "data_postcodes_loaded{job=\"narrowit\"}", "legendFormat": "", "refId": "A" } ] }, { "type": "stat", "title": "Total POIs Loaded", "gridPos": { "h": 4, "w": 4, "x": 8, "y": 1 }, "id": 4, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "none", "justifyMode": "auto" }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "data_pois_loaded{job=\"narrowit\"}", "legendFormat": "", "refId": "A" } ] }, { "type": "stat", "title": "Registered Users", "gridPos": { "h": 4, "w": 4, "x": 12, "y": 1 }, "id": 5, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "none", "justifyMode": "auto" }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "pocketbase_users_total{job=\"narrowit\"}", "legendFormat": "", "refId": "A" } ] }, { "type": "stat", "title": "Saved Searches", "gridPos": { "h": 4, "w": 4, "x": 16, "y": 1 }, "id": 6, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "none", "justifyMode": "auto" }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "pocketbase_saved_searches_total{job=\"narrowit\"}", "legendFormat": "", "refId": "A" } ] }, { "type": "stat", "title": "Saved Properties", "gridPos": { "h": 4, "w": 4, "x": 20, "y": 1 }, "id": 7, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "none", "justifyMode": "auto" }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "pocketbase_saved_properties_total{job=\"narrowit\"}", "legendFormat": "", "refId": "A" } ] }, { "type": "row", "title": "HTTP Request Metrics", "gridPos": { "h": 1, "w": 24, "x": 0, "y": 5 }, "id": 10, "collapsed": false, "panels": [] }, { "type": "timeseries", "title": "Request Rate by Endpoint", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 6 }, "id": 11, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "reqps", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 10, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "sum by (path) (rate(http_requests_total{job=\"narrowit\", path=~\"/api/.*\", path!~\"/api/tiles.*\"}[5m]))", "legendFormat": "{{path}}", "refId": "A" } ] }, { "type": "timeseries", "title": "Error Rate by Endpoint", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 6 }, "id": 12, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "reqps", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 10, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 0.1 } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "sum by (path, status) (rate(http_requests_total{job=\"narrowit\", status!~\"200|304\", path=~\"/api/.*\", path!~\"/api/tiles.*\"}[5m]))", "legendFormat": "{{path}}", "refId": "A" } ] }, { "type": "timeseries", "title": "P50 Latency by Endpoint", "gridPos": { "h": 8, "w": 8, "x": 0, "y": 14 }, "id": 13, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "s", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 10, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.50, sum by (path, le) (rate(http_request_duration_seconds_bucket{job=\"narrowit\", path=~\"/api/.*\", path!~\"/api/tiles.*\"}[5m])))", "legendFormat": "{{path}}", "refId": "A" } ] }, { "type": "timeseries", "title": "P95 Latency by Endpoint", "gridPos": { "h": 8, "w": 8, "x": 8, "y": 14 }, "id": 14, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "s", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 10, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.95, sum by (path, le) (rate(http_request_duration_seconds_bucket{job=\"narrowit\", path=~\"/api/.*\", path!~\"/api/tiles.*\"}[5m])))", "legendFormat": "{{path}}", "refId": "A" } ] }, { "type": "timeseries", "title": "P99 Latency by Endpoint", "gridPos": { "h": 8, "w": 8, "x": 16, "y": 14 }, "id": 15, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "s", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 10, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.99, sum by (path, le) (rate(http_request_duration_seconds_bucket{job=\"narrowit\", path=~\"/api/.*\", path!~\"/api/tiles.*\"}[5m])))", "legendFormat": "{{path}}", "refId": "A" } ] }, { "type": "row", "title": "Hexagon & Postcode Endpoints", "gridPos": { "h": 1, "w": 24, "x": 0, "y": 22 }, "id": 20, "collapsed": false, "panels": [] }, { "type": "timeseries", "title": "Hexagon Latency (p50 / p95 / p99)", "gridPos": { "h": 8, "w": 6, "x": 0, "y": 23 }, "id": 21, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "s", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 5, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [ { "matcher": { "id": "byName", "options": "p50" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "green" } } ] }, { "matcher": { "id": "byName", "options": "p95" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "yellow" } } ] }, { "matcher": { "id": "byName", "options": "p99" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "red" } } ] } ] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.50, sum by (le) (rate(http_request_duration_seconds_bucket{job=\"narrowit\", path=\"/api/hexagons\"}[5m])))", "legendFormat": "p50", "refId": "A" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket{job=\"narrowit\", path=\"/api/hexagons\"}[5m])))", "legendFormat": "p95", "refId": "B" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.99, sum by (le) (rate(http_request_duration_seconds_bucket{job=\"narrowit\", path=\"/api/hexagons\"}[5m])))", "legendFormat": "p99", "refId": "C" } ] }, { "type": "timeseries", "title": "Postcode Latency (p50 / p95 / p99)", "gridPos": { "h": 8, "w": 6, "x": 6, "y": 23 }, "id": 22, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "s", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 5, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [ { "matcher": { "id": "byName", "options": "p50" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "green" } } ] }, { "matcher": { "id": "byName", "options": "p95" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "yellow" } } ] }, { "matcher": { "id": "byName", "options": "p99" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "red" } } ] } ] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.50, sum by (le) (rate(http_request_duration_seconds_bucket{job=\"narrowit\", path=\"/api/postcodes\"}[5m])))", "legendFormat": "p50", "refId": "A" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket{job=\"narrowit\", path=\"/api/postcodes\"}[5m])))", "legendFormat": "p95", "refId": "B" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.99, sum by (le) (rate(http_request_duration_seconds_bucket{job=\"narrowit\", path=\"/api/postcodes\"}[5m])))", "legendFormat": "p99", "refId": "C" } ] }, { "type": "timeseries", "title": "Hexagon Response Size (p50 / p95 / p99)", "gridPos": { "h": 8, "w": 6, "x": 12, "y": 23 }, "id": 23, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 5, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [ { "matcher": { "id": "byName", "options": "p50" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "light-blue" } } ] }, { "matcher": { "id": "byName", "options": "p95" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "blue" } } ] }, { "matcher": { "id": "byName", "options": "p99" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "dark-blue" } } ] } ] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.50, sum by (le) (rate(hexagons_response_count_bucket{job=\"narrowit\"}[5m])))", "legendFormat": "p50", "refId": "A" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.95, sum by (le) (rate(hexagons_response_count_bucket{job=\"narrowit\"}[5m])))", "legendFormat": "p95", "refId": "B" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.99, sum by (le) (rate(hexagons_response_count_bucket{job=\"narrowit\"}[5m])))", "legendFormat": "p99", "refId": "C" } ] }, { "type": "timeseries", "title": "Postcode Response Size (p50 / p95 / p99)", "gridPos": { "h": 8, "w": 6, "x": 18, "y": 23 }, "id": 24, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 5, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [ { "matcher": { "id": "byName", "options": "p50" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "light-purple" } } ] }, { "matcher": { "id": "byName", "options": "p95" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "purple" } } ] }, { "matcher": { "id": "byName", "options": "p99" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "dark-purple" } } ] } ] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.50, sum by (le) (rate(postcodes_response_count_bucket{job=\"narrowit\"}[5m])))", "legendFormat": "p50", "refId": "A" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.95, sum by (le) (rate(postcodes_response_count_bucket{job=\"narrowit\"}[5m])))", "legendFormat": "p95", "refId": "B" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.99, sum by (le) (rate(postcodes_response_count_bucket{job=\"narrowit\"}[5m])))", "legendFormat": "p99", "refId": "C" } ] }, { "type": "row", "title": "LLM & AI", "gridPos": { "h": 1, "w": 24, "x": 0, "y": 31 }, "id": 30, "collapsed": false, "panels": [] }, { "type": "timeseries", "title": "AI Tokens Consumed Over Time", "gridPos": { "h": 8, "w": 8, "x": 0, "y": 32 }, "id": 31, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "tps", "color": { "mode": "fixed" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 15, "gradientMode": "scheme", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "axisLabel": "tokens/s", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } }, "thresholds": { "mode": "absolute", "steps": [ { "color": "super-light-purple", "value": null } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "single", "sort": "none" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "rate(ai_tokens_total{job=\"narrowit\"}[5m])", "legendFormat": "tokens/s", "refId": "A" } ] }, { "type": "stat", "title": "AI Tokens Total", "gridPos": { "h": 4, "w": 4, "x": 8, "y": 32 }, "id": 32, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "purple", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "area", "justifyMode": "auto" }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "ai_tokens_total{job=\"narrowit\"}", "legendFormat": "", "refId": "A" } ] }, { "type": "stat", "title": "AI Requests Total by Status", "gridPos": { "h": 4, "w": 4, "x": 8, "y": 36 }, "id": 34, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "area", "justifyMode": "auto" }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "ai_requests_total{job=\"narrowit\"}", "legendFormat": "{{status}}", "refId": "A" } ] }, { "type": "timeseries", "title": "AI Requests Rate by Status", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 32 }, "id": 33, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "reqps", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "bars", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 80, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "normal", "group": "A" } } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "sum" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "rate(ai_requests_total{job=\"narrowit\"}[5m])", "legendFormat": "{{status}}", "refId": "A" } ] }, { "type": "row", "title": "Users & Engagement", "gridPos": { "h": 1, "w": 24, "x": 0, "y": 40 }, "id": 40, "collapsed": false, "panels": [] }, { "type": "timeseries", "title": "Users Over Time", "gridPos": { "h": 8, "w": 8, "x": 0, "y": 41 }, "id": 41, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "fixed" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 15, "gradientMode": "scheme", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } }, "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": null } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "single", "sort": "none" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "pocketbase_users_total{job=\"narrowit\"}", "legendFormat": "Users", "refId": "A" } ] }, { "type": "timeseries", "title": "Saved Searches Over Time", "gridPos": { "h": 8, "w": 8, "x": 8, "y": 41 }, "id": 42, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "fixed" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 15, "gradientMode": "scheme", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } }, "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "single", "sort": "none" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "pocketbase_saved_searches_total{job=\"narrowit\"}", "legendFormat": "Saved Searches", "refId": "A" } ] }, { "type": "timeseries", "title": "Saved Properties Over Time", "gridPos": { "h": 8, "w": 8, "x": 16, "y": 41 }, "id": 43, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "fixed" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 15, "gradientMode": "scheme", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } }, "thresholds": { "mode": "absolute", "steps": [ { "color": "orange", "value": null } ] } }, "overrides": [] }, "options": { "tooltip": { "mode": "single", "sort": "none" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "pocketbase_saved_properties_total{job=\"narrowit\"}", "legendFormat": "Saved Properties", "refId": "A" } ] }, { "type": "timeseries", "title": "Session Duration per User", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 49 }, "id": 90, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "s", "color": { "mode": "palette-classic" }, "custom": { "lineWidth": 2, "fillOpacity": 10, "spanNulls": 120000 } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "max" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "user_session_seconds{job=\"narrowit\"}", "legendFormat": "{{user}} ({{browser}})", "refId": "A" } ] }, { "type": "timeseries", "title": "Active Filters per User", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 49 }, "id": 91, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "palette-classic" }, "custom": { "lineWidth": 2, "fillOpacity": 10, "spanNulls": 120000, "drawStyle": "bars", "barAlignment": 0, "barWidthFactor": 0.5 }, "decimals": 0 }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull", "mean" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "user_active_filters{job=\"narrowit\"}", "legendFormat": "{{user}} ({{browser}})", "refId": "A" } ] }, { "type": "row", "title": "Invites", "gridPos": { "h": 1, "w": 24, "x": 0, "y": 57 }, "id": 92, "collapsed": false, "panels": [] }, { "type": "stat", "title": "Invites by Type", "gridPos": { "h": 4, "w": 8, "x": 0, "y": 58 }, "id": 93, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "thresholds" }, "thresholds": { "mode": "absolute", "steps": [ { "color": "blue", "value": null } ] } }, "overrides": [ { "matcher": { "id": "byName", "options": "admin" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "purple" } } ] }, { "matcher": { "id": "byName", "options": "referral" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "orange" } } ] }, { "matcher": { "id": "byName", "options": "redeemed" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "green" } } ] } ] }, "options": { "reduceOptions": { "calcs": [ "lastNotNull" ], "fields": "", "values": false }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "none", "justifyMode": "auto" }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "invites_total{job=\"narrowit\"}", "legendFormat": "{{type}}", "refId": "A" } ] }, { "type": "timeseries", "title": "Invites Over Time", "gridPos": { "h": 8, "w": 8, "x": 8, "y": 58 }, "id": 94, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineWidth": 2, "fillOpacity": 10, "spanNulls": false, "showPoints": "never" } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "lastNotNull" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "invites_total{job=\"narrowit\", type=\"admin\"}", "legendFormat": "Admin", "refId": "A" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "invites_total{job=\"narrowit\", type=\"referral\"}", "legendFormat": "Referral", "refId": "B" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "invites_total{job=\"narrowit\", type=\"redeemed\"}", "legendFormat": "Redeemed", "refId": "C" } ] }, { "type": "timeseries", "title": "Screenshot / OG Generation Time", "gridPos": { "h": 8, "w": 8, "x": 16, "y": 58 }, "id": 95, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "s", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineWidth": 2, "fillOpacity": 10, "showPoints": "auto", "spanNulls": false } }, "overrides": [ { "matcher": { "id": "byName", "options": "og p50" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "green" } } ] }, { "matcher": { "id": "byName", "options": "og p95" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "yellow" } } ] }, { "matcher": { "id": "byName", "options": "og p99" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "red" } } ] }, { "matcher": { "id": "byName", "options": "export p50" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "light-blue" } } ] }, { "matcher": { "id": "byName", "options": "export p95" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "blue" } } ] } ] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.50, sum by (kind, le) (rate(screenshot_duration_seconds_bucket{job=\"narrowit\"}[5m])))", "legendFormat": "{{kind}} p50", "refId": "A" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.95, sum by (kind, le) (rate(screenshot_duration_seconds_bucket{job=\"narrowit\"}[5m])))", "legendFormat": "{{kind}} p95", "refId": "B" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "histogram_quantile(0.99, sum by (kind, le) (rate(screenshot_duration_seconds_bucket{job=\"narrowit\"}[5m])))", "legendFormat": "{{kind}} p99", "refId": "C" } ] }, { "type": "row", "title": "Entrypoints & Referrers", "gridPos": { "h": 1, "w": 24, "x": 0, "y": 66 }, "id": 96, "collapsed": false, "panels": [] }, { "type": "timeseries", "title": "Entrypoints by Page", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 67 }, "id": 97, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "bars", "fillOpacity": 80, "stacking": { "mode": "normal", "group": "A" }, "showPoints": "never", "spanNulls": false } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "sum" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "sum by (path) (increase(entrypoint_total{job=\"narrowit\"}[1h]))", "legendFormat": "{{path}}", "refId": "A" } ] }, { "type": "timeseries", "title": "Entrypoints by Referrer", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 67 }, "id": 98, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "bars", "fillOpacity": 80, "stacking": { "mode": "normal", "group": "A" }, "showPoints": "never", "spanNulls": false } }, "overrides": [] }, "options": { "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "sum" ] }, "tooltip": { "mode": "multi", "sort": "desc" } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "sum by (referrer) (increase(entrypoint_total{job=\"narrowit\"}[1h]))", "legendFormat": "{{referrer}}", "refId": "A" } ] }, { "type": "table", "title": "Top Entrypoints (path + referrer)", "gridPos": { "h": 8, "w": 24, "x": 0, "y": 75 }, "id": 99, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "short" }, "overrides": [] }, "options": { "showHeader": true, "sortBy": [ { "displayName": "Value", "desc": true } ] }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "sort_desc(sum by (path, referrer) (increase(entrypoint_total{job=\"narrowit\"}[$__range])))", "legendFormat": "{{path}} \u2190 {{referrer}}", "refId": "A", "instant": true, "format": "table" } ], "transformations": [ { "id": "organize", "options": { "excludeByName": { "Time": true } } } ] }, { "type": "row", "title": "Docker Container Metrics", "gridPos": { "h": 1, "w": 24, "x": 0, "y": 107 }, "id": 80, "collapsed": false, "panels": [] }, { "type": "timeseries", "title": "Container CPU Usage %", "gridPos": { "h": 8, "w": 12, "x": 0, "y": 108 }, "id": 81, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "percent", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 10, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "rate(container_cpu_usage_seconds_total{name=~\".*narrowit.*|.*pocketbase.*|.*screenshot.*\", container_label_com_docker_swarm_service_name!=\"\"}[5m]) * 100", "legendFormat": "{{container_label_com_docker_swarm_service_name}}", "refId": "A" } ] }, { "type": "timeseries", "title": "Container Memory Usage", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 108 }, "id": 82, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "bytes", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 10, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "container_memory_usage_bytes{name=~\".*narrowit.*|.*pocketbase.*|.*screenshot.*\", container_label_com_docker_swarm_service_name!=\"\"}", "legendFormat": "{{container_label_com_docker_swarm_service_name}}", "refId": "A" } ] }, { "type": "timeseries", "title": "Container Network RX", "gridPos": { "h": 8, "w": 8, "x": 0, "y": 116 }, "id": 83, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "Bps", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 10, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "rate(container_network_receive_bytes_total{name=~\".*narrowit.*|.*pocketbase.*|.*screenshot.*\", container_label_com_docker_swarm_service_name!=\"\"}[5m])", "legendFormat": "{{container_label_com_docker_swarm_service_name}}", "refId": "A" } ] }, { "type": "timeseries", "title": "Container Network TX", "gridPos": { "h": 8, "w": 8, "x": 8, "y": 116 }, "id": 84, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "Bps", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 1, "fillOpacity": 10, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "rate(container_network_transmit_bytes_total{name=~\".*narrowit.*|.*pocketbase.*|.*screenshot.*\", container_label_com_docker_swarm_service_name!=\"\"}[5m])", "legendFormat": "{{container_label_com_docker_swarm_service_name}}", "refId": "A" } ] }, { "type": "timeseries", "title": "Server Process Memory", "gridPos": { "h": 8, "w": 8, "x": 16, "y": 116 }, "id": 85, "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "fieldConfig": { "defaults": { "unit": "bytes", "color": { "mode": "palette-classic" }, "custom": { "drawStyle": "line", "lineInterpolation": "smooth", "lineWidth": 2, "fillOpacity": 10, "gradientMode": "none", "showPoints": "never", "spanNulls": false, "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", "scaleDistribution": { "type": "linear" }, "stacking": { "mode": "none", "group": "A" } } }, "overrides": [ { "matcher": { "id": "byName", "options": "RSS" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "green" } } ] }, { "matcher": { "id": "byName", "options": "Virtual" }, "properties": [ { "id": "color", "value": { "mode": "fixed", "fixedColor": "blue" } } ] } ] }, "options": { "tooltip": { "mode": "multi", "sort": "desc" }, "legend": { "displayMode": "table", "placement": "bottom", "calcs": [ "mean", "max" ] } }, "targets": [ { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "process_resident_memory_bytes{job=\"narrowit\"}", "legendFormat": "RSS", "refId": "A" }, { "datasource": { "uid": "afdbsid0flfcwa", "type": "prometheus" }, "expr": "process_virtual_memory_bytes{job=\"narrowit\"}", "legendFormat": "Virtual", "refId": "B" } ] } ], "templating": { "list": [] }, "annotations": { "list": [] }, "links": [] }, "overwrite": true }