Skip to content

Commit 9ee3d55

Browse files
committed
Fix collector config loading
1 parent 63066a8 commit 9ee3d55

4 files changed

Lines changed: 40 additions & 14 deletions

File tree

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
1-
from pathlib import Path
1+
from importlib import resources
22

33
import yaml
44

55

66
def load_c_collectors_config() -> list[str]:
77
"""Return the ordered list of C collector names from collectors.yaml."""
8-
path = Path(__file__).parent / "collectors.yaml"
9-
with path.open() as f:
10-
return yaml.safe_load(f)["collectors"]
8+
try:
9+
config_text = (
10+
resources.files(__package__)
11+
.joinpath("collectors.yaml")
12+
.read_text(encoding="utf-8")
13+
)
14+
except AttributeError:
15+
config_text = resources.read_text(
16+
__package__,
17+
"collectors.yaml",
18+
encoding="utf-8",
19+
)
20+
return yaml.safe_load(config_text)["collectors"]

jumper_extension/config/collectors/python/__init__.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
1-
from pathlib import Path
1+
from importlib import resources
22

33
import yaml
44

55

66
def _read_collectors_config() -> dict:
7-
config_path = Path(__file__).parent / "collectors.yaml"
8-
with open(config_path) as f:
9-
return yaml.safe_load(f)
7+
try:
8+
config_text = (
9+
resources.files(__package__)
10+
.joinpath("collectors.yaml")
11+
.read_text(encoding="utf-8")
12+
)
13+
except AttributeError:
14+
config_text = resources.read_text(
15+
__package__,
16+
"collectors.yaml",
17+
encoding="utf-8",
18+
)
19+
return yaml.safe_load(config_text)
1020

1121

1222
# Loaded once at import time — not affected by test patches on builtins.open.

jumper_extension/monitor/pipeline.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,15 @@ def _build_main(
4343
deferred.append((collector_cfg, handler_cfg, inject_keys))
4444
continue
4545
injected = {k: getattr(self._monitor, k) for k in inject_keys}
46-
backend = instantiate(collector_cfg, **injected)
47-
meta = backend.setup() or {}
46+
collector_backend = instantiate(collector_cfg, **injected)
47+
meta = collector_backend.setup() or {}
4848
if "num_gpus" in meta:
4949
num_gpus = meta["num_gpus"]
5050
gpu_memory = meta.get("gpu_memory", 0.0)
5151
gpu_name = meta.get("gpu_name", "")
52-
self._monitor._pipeline.append((backend, instantiate(handler_cfg)))
52+
self._monitor._pipeline.append(
53+
(collector_backend, instantiate(handler_cfg))
54+
)
5355

5456
self._monitor.node_info = NodeInfo(
5557
node="local",
@@ -69,6 +71,8 @@ def _build_deferred(
6971
):
7072
for collector_cfg, handler_cfg, inject_keys in deferred:
7173
injected = {k: getattr(self._monitor, k) for k in inject_keys}
72-
backend = instantiate(collector_cfg, **injected)
73-
backend.setup()
74-
self._monitor._pipeline.append((backend, instantiate(handler_cfg)))
74+
collector_backend = instantiate(collector_cfg, **injected)
75+
collector_backend.setup()
76+
self._monitor._pipeline.append(
77+
(collector_backend, instantiate(handler_cfg))
78+
)

pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ include = ["jumper_extension*"]
5353

5454
[tool.setuptools.package-data]
5555
"jumper_extension.config" = ["*.yaml"]
56+
"jumper_extension.config.collectors.c" = ["*.yaml"]
57+
"jumper_extension.config.collectors.python" = ["*.yaml"]
5658
"jumper_extension.templates.report" = ["*.html", "*.css"]
5759
"jumper_extension.templates.ai_review" = ["*.html", "*.css"]
5860
"jumper_extension.templates.visualizer.plotly" = ["**/*"]

0 commit comments

Comments
 (0)