in smallpond/session.py [0:0]
def _start_grafana(self) -> Optional[subprocess.Popen]:
"""
Start grafana server if it exists.
"""
homepath = self._platform.grafana_homepath()
if homepath is None:
logger.warning("grafana is not found")
return None
os.makedirs(f"{self._runtime_ctx.log_root}/grafana", exist_ok=True)
proc = subprocess.Popen(
[
shutil.which("grafana"),
"server",
"--config",
"/tmp/ray/session_latest/metrics/grafana/grafana.ini",
"-homepath",
homepath,
"web",
],
stdout=open(f"{self._runtime_ctx.log_root}/grafana/grafana.log", "w"),
env={
"GF_SERVER_HTTP_PORT": "8122", # redirect to an available port
"GF_SERVER_ROOT_URL": os.environ.get("RAY_GRAFANA_IFRAME_HOST") or "http://localhost:8122",
"GF_PATHS_DATA": f"{self._runtime_ctx.log_root}/grafana/data",
},
)
logger.info(f"started grafana at http://localhost:8122")
return proc