Summary
nemo_curator/metrics/xenna_grafana_dashboard.json exists in the git tree but is not included in the published wheel, so launch_grafana's dashboard copy silently skips and wheel users never get the Xenna dashboard in Grafana.
Reproduction (nemo-curator 1.2.0)
$ pip install nemo-curator
$ ls .venv/lib/python3.12/site-packages/nemo_curator/metrics/
__init__.py constants.py start_prometheus_grafana.py utils.py
The json (and the module README) are absent. In nemo_curator/metrics/utils.py the copy is guarded:
xenna_dashboard_src = os.path.join(os.path.dirname(__file__), "xenna_grafana_dashboard.json")
...
if os.path.isfile(xenna_dashboard_src) and not os.path.isfile(xenna_dashboard_dst):
shutil.copy(xenna_dashboard_src, xenna_dashboard_dst)
so the missing file skips silently: start_prometheus_grafana provisions the four auto-generated Ray dashboards but never the Xenna one.
Expected
The Xenna dashboard json ships in the wheel (package data), so monitoring set up per the metrics README includes the Xenna dashboard.
Suggested fix
Include nemo_curator/metrics/*.json as package data in the build configuration; optionally log a warning instead of skipping silently when the source json is missing.
Summary
nemo_curator/metrics/xenna_grafana_dashboard.jsonexists in the git tree but is not included in the published wheel, solaunch_grafana's dashboard copy silently skips and wheel users never get the Xenna dashboard in Grafana.Reproduction (nemo-curator 1.2.0)
The json (and the module README) are absent. In
nemo_curator/metrics/utils.pythe copy is guarded:so the missing file skips silently:
start_prometheus_grafanaprovisions the four auto-generated Ray dashboards but never the Xenna one.Expected
The Xenna dashboard json ships in the wheel (package data), so monitoring set up per the metrics README includes the Xenna dashboard.
Suggested fix
Include
nemo_curator/metrics/*.jsonas package data in the build configuration; optionally log a warning instead of skipping silently when the source json is missing.