Skip to content

Perses Dashboards ​

Thalamus ships a set of Perses dashboards in examples/perses-dashboards:

DashboardPurpose
thalamus-slo.jsonUser-facing latency SLOs (TTFT, TPOT, E2E, ITL), queue depth, endpoints
thalamus-usage.jsonToken volume and request parameters
thalamus-gpu.jsonGPU utilization, memory, and health via DCGM (only with GPU operator installed)
thalamus-vllm.jsonEngine-level debugging: scheduling, prefill/decode, KV cache
thalamus-llmd.jsonRouter (EPP) debugging: queueing, prefix routing, payload sizes

The SLO dashboard in Perses

The SLO dashboard: user-facing latency per model (TTFT, TPOT, E2E, ITL), queue depth, and endpoint availability.

Prerequisites ​

Enable metric scraping ​

The thalamus chart creates ServiceMonitor/PodMonitor resources for the operator, the vLLM engine, and the endpoint picker, and the bundled agentgateway chart creates monitors for the gateway controller and its proxies. Enable both with values passed to the thalamus release:

Make sure release field matches the namespace where you have deployed Prometheus. In this guide, the Prometheus package is deployed as monitoring release.

yaml
# my-cluster.yaml (values for the thalamus release)
monitoring:
  enabled: true
  additionalLabels:
    release: monitoring
agentgateway:
  monitoring:
    enabled: true
    serviceMonitor:
      extraLabels:
        release: monitoring
bash
helm upgrade --install thalamus oci://ghcr.io/cobaltcore-dev/charts/thalamus \
  --namespace thalamus --wait --reuse-values \
  --version 0.0.0-main \
  -f my-cluster.yaml

Load the dashboards ​

You can add all the dashboards manually:

  1. Run kubectl port-forward -n <perses-namespace> svc/perses 9090:8080 depending on your Perses installation and go to localhost:9090 or the respective port.
  2. Create the project named thalamus.
  3. For each dashboard in examples/perses-dashboards, click "Add dashboard", specity name, click "Edit JSON" button with "{}" symbol, copy and paste the full dashboard code.
  4. Save.

Alternatively, use percli CLI to apply the project and dashboards to your Perses instance automatically:

bash
percli login http://localhost:9090
percli apply -f examples/perses-dashboards/project.json
for d in examples/perses-dashboards/thalamus-*.json; do
  percli apply -f "$d"
done

Then add a Prometheus datasource to the thalamus project (Data Sources tab) and open the project in the Perses UI.

  • Type name and scrape interval (recommended 15s)
  • Select "Proxy" in HTTP Settings and write the respective in-cluster Prometheus service address, depending on your installation (for the upstream Prometheus chat with default installation into monitoring namespace it is http://monitoring-kube-prometheus-prometheus.monitoring.svc.cluster.local:9090)