Repository navigation
feat(llm-routing): add demo metrics and Grafana dashboard - #4
Closed
priyaselvaganesan wants to merge 10 commits into
Closed
priyaselvaganesan wants to merge 10 commits into
priyaselvaganesan wants to merge 10 commits into
Conversation
Deploys OpenTelemetry Collector Contrib 0.160.0, VictoriaMetrics 1.153.0 and Grafana OSS 13.2.3 as external runtime images. Adds PyYAML 6.0.3 for chart tests and records licenses in the recipe NOTICE. Grafana AGPL-3.0 requires downstream license review. Signed-off-by: priyaselvaganesan <pselvaganesa@nvidia.com>
Signed-off-by: priyaselvaganesan <pselvaganesa@nvidia.com>
Signed-off-by: priyaselvaganesan <pselvaganesa@nvidia.com>
…nnels Signed-off-by: priyaselvaganesan <pselvaganesa@nvidia.com>
Signed-off-by: priyaselvaganesan <pselvaganesa@nvidia.com>
Signed-off-by: priyaselvaganesan <pselvaganesa@nvidia.com>
Signed-off-by: priyaselvaganesan <pselvaganesa@nvidia.com>
Signed-off-by: priyaselvaganesan <pselvaganesa@nvidia.com>
Signed-off-by: priyaselvaganesan <pselvaganesa@nvidia.com>
Signed-off-by: priyaselvaganesan <pselvaganesa@nvidia.com>
This was referenced Oct 6, 2026
Collaborator
Author
|
Superseded by NVIDIA#2325, targeting feat/inference-in-a-box. Please continue review there. The source branch is retained. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR
Makes routing-stack health and per-model request metrics visible through a local collector, VictoriaMetrics and a provisioned Grafana dashboard.
Additional Details
New configurations enable monitoring during stack installation. Existing routing stacks can use
attach-monitoring, which discovers routing resources independently of model deployments, GPU placement and recipe source pins. Monitoring attachments retain serving configuration and reject deployment commands.Traffic verification discovers served model IDs or uses
--modelormonitoring.model. It sends authenticated streaming and nonstreaming chat requests and checks nine per-model metric increases. Model labels retain their actual values.The dashboard defaults to All models, discovered from gateway/router labels. Its 17 core panels are runtime-independent. Three llama.cpp panels require an explicit compatible exporter target. Other exporters expose raw metrics and scrape health. Traffic checks require chat completions, streaming and token usage.
For the Reviewer
Review
monitoring.py,monitoring_setup.py, the chart and dashboard. Default requests total 300 millicores and 896 MiB, with a separate 5 GiB metrics PVC.Follow the installation, verification and dashboard commands.
Collector Contrib 0.160.0 and VictoriaMetrics 1.153.0 use Apache-2.0. Grafana OSS 13.2.3 uses AGPL-3.0, outside the repository allowlist, and requires downstream license review. PyYAML 6.0.3 is an MIT-licensed test dependency. NOTICE records these artifacts.
This PR targets the branch from #3 so its diff contains only observability work. Retarget it after that deployment recipe merges.
For QA
Passed:
python3 -m unittest discover -s tests -v: 263 tests, including alternate-model fixtures, multiple discovered models, label escaping, generic attachment and deployment guards.Final live traffic/metric-delta and All-model dashboard checks require restored VPN access. The cluster currently serves one model. Multiple-model behavior is covered by fixtures.
Issues
NO-REF
Checklist