rustqueue 0.2.0

Background jobs without infrastructure — embeddable job queue with zero external dependencies
Documentation
{
  "__inputs": [
    {
      "name": "DS_PROMETHEUS",
      "label": "Prometheus",
      "description": "",
      "type": "datasource",
      "pluginId": "prometheus",
      "pluginName": "Prometheus"
    }
  ],
  "annotations": { "list": [] },
  "editable": true,
  "fiscalYearStartMonth": 0,
  "graphTooltip": 1,
  "id": null,
  "links": [],
  "panels": [
    {
      "title": "Jobs Pushed / sec",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 8, "x": 0, "y": 0 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rate(rustqueue_jobs_pushed_total[1m])",
          "legendFormat": "pushed/s"
        }
      ]
    },
    {
      "title": "Jobs Pulled / sec",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 8, "x": 8, "y": 0 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rate(rustqueue_jobs_pulled_total[1m])",
          "legendFormat": "pulled/s"
        }
      ]
    },
    {
      "title": "Jobs Completed / sec",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 8, "x": 16, "y": 0 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rate(rustqueue_jobs_completed_total[1m])",
          "legendFormat": "completed/s"
        }
      ]
    },
    {
      "title": "Queue Depth (Waiting)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rustqueue_queue_waiting_jobs",
          "legendFormat": "{{ queue }}"
        }
      ]
    },
    {
      "title": "Queue Depth (Active)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rustqueue_queue_active_jobs",
          "legendFormat": "{{ queue }}"
        }
      ]
    },
    {
      "title": "Queue Depth (Delayed)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 16 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rustqueue_queue_delayed_jobs",
          "legendFormat": "{{ queue }}"
        }
      ]
    },
    {
      "title": "Queue Depth (DLQ)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 16 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rustqueue_queue_dlq_jobs",
          "legendFormat": "{{ queue }}"
        }
      ]
    },
    {
      "title": "Push Latency (p50 / p95 / p99)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 8, "x": 0, "y": 24 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "histogram_quantile(0.50, rate(rustqueue_push_duration_seconds_bucket[5m]))",
          "legendFormat": "p50"
        },
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "histogram_quantile(0.95, rate(rustqueue_push_duration_seconds_bucket[5m]))",
          "legendFormat": "p95"
        },
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "histogram_quantile(0.99, rate(rustqueue_push_duration_seconds_bucket[5m]))",
          "legendFormat": "p99"
        }
      ],
      "fieldConfig": { "defaults": { "unit": "s" } }
    },
    {
      "title": "Pull Latency (p50 / p95 / p99)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 8, "x": 8, "y": 24 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "histogram_quantile(0.50, rate(rustqueue_pull_duration_seconds_bucket[5m]))",
          "legendFormat": "p50"
        },
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "histogram_quantile(0.95, rate(rustqueue_pull_duration_seconds_bucket[5m]))",
          "legendFormat": "p95"
        },
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "histogram_quantile(0.99, rate(rustqueue_pull_duration_seconds_bucket[5m]))",
          "legendFormat": "p99"
        }
      ],
      "fieldConfig": { "defaults": { "unit": "s" } }
    },
    {
      "title": "Ack Latency (p50 / p95 / p99)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 8, "x": 16, "y": 24 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "histogram_quantile(0.50, rate(rustqueue_ack_duration_seconds_bucket[5m]))",
          "legendFormat": "p50"
        },
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "histogram_quantile(0.95, rate(rustqueue_ack_duration_seconds_bucket[5m]))",
          "legendFormat": "p95"
        },
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "histogram_quantile(0.99, rate(rustqueue_ack_duration_seconds_bucket[5m]))",
          "legendFormat": "p99"
        }
      ],
      "fieldConfig": { "defaults": { "unit": "s" } }
    },
    {
      "title": "HTTP Requests / sec by Status",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 32 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "sum(rate(rustqueue_http_requests_total[1m])) by (status_class)",
          "legendFormat": "{{ status_class }}"
        }
      ]
    },
    {
      "title": "HTTP Request Latency (p95)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 32 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "histogram_quantile(0.95, sum(rate(rustqueue_http_request_duration_seconds_bucket[5m])) by (le, method))",
          "legendFormat": "{{ method }}"
        }
      ],
      "fieldConfig": { "defaults": { "unit": "s" } }
    },
    {
      "title": "Failure Rate",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 40 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rate(rustqueue_jobs_failed_total[1m])",
          "legendFormat": "failures/s"
        }
      ]
    },
    {
      "title": "Schedules Fired / sec",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 40 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rate(rustqueue_schedules_fired_total[1m])",
          "legendFormat": "schedules/s"
        }
      ]
    },
    {
      "title": "WebSocket Clients",
      "type": "stat",
      "gridPos": { "h": 4, "w": 6, "x": 0, "y": 48 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rustqueue_websocket_clients_connected",
          "legendFormat": "clients"
        }
      ]
    },
    {
      "title": "Scheduler Tick Duration",
      "type": "stat",
      "gridPos": { "h": 4, "w": 6, "x": 6, "y": 48 },
      "targets": [
        {
          "datasource": { "type": "prometheus", "uid": "${DS_PROMETHEUS}" },
          "expr": "rustqueue_scheduler_tick_duration_seconds",
          "legendFormat": "tick"
        }
      ],
      "fieldConfig": { "defaults": { "unit": "s" } }
    }
  ],
  "schemaVersion": 39,
  "tags": ["rustqueue"],
  "templating": { "list": [] },
  "time": { "from": "now-1h", "to": "now" },
  "timepicker": {},
  "timezone": "",
  "title": "RustQueue Overview",
  "uid": "rustqueue-overview",
  "version": 1
}