From c599268f5776718245617131a1088d0be0dbe95e Mon Sep 17 00:00:00 2001 From: Yonghua Li <39643373+liyonghua0910@users.noreply.github.com> Date: Wed, 12 Nov 2025 17:11:51 +0800 Subject: [PATCH] [BugFix] fix work metrics not returned by metrics api (#4920) --- fastdeploy/__init__.py | 9 +++++++++ fastdeploy/entrypoints/openai/api_server.py | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/fastdeploy/__init__.py b/fastdeploy/__init__.py index 9c26737a1..98a8d9f8f 100644 --- a/fastdeploy/__init__.py +++ b/fastdeploy/__init__.py @@ -17,11 +17,20 @@ import os import subprocess import sys +import uuid # suppress warning log from paddlepaddle os.environ["GLOG_minloglevel"] = "2" # suppress log from aistudio os.environ["AISTUDIO_LOG"] = "critical" +# set prometheus dir +if os.getenv("PROMETHEUS_MULTIPROC_DIR", "") == "": + prom_dir = f"/tmp/fd_prom_{str(uuid.uuid4())}" + os.environ["PROMETHEUS_MULTIPROC_DIR"] = prom_dir + if os.path.exists(prom_dir): + os.rmdir(prom_dir) + os.mkdir(prom_dir) + import typing from paddleformers.utils.log import logger as pf_logger diff --git a/fastdeploy/entrypoints/openai/api_server.py b/fastdeploy/entrypoints/openai/api_server.py index 7ec1e10fd..73a6013c0 100644 --- a/fastdeploy/entrypoints/openai/api_server.py +++ b/fastdeploy/entrypoints/openai/api_server.py @@ -60,7 +60,6 @@ from fastdeploy.entrypoints.openai.utils import UVICORN_CONFIG, make_arg_parser from fastdeploy.envs import environment_variables from fastdeploy.metrics.metrics import ( EXCLUDE_LABELS, - cleanup_prometheus_files, get_filtered_metrics, main_process_metrics, ) @@ -586,8 +585,9 @@ def launch_metrics_server(): if not is_port_available(args.host, args.metrics_port): raise Exception(f"The parameter `metrics_port`:{args.metrics_port} is already in use.") - prom_dir = cleanup_prometheus_files(True) - os.environ["PROMETHEUS_MULTIPROC_DIR"] = prom_dir + # Move setting prometheus directory to fastdeploy/__init__.py + # prom_dir = cleanup_prometheus_files(True) + # os.environ["PROMETHEUS_MULTIPROC_DIR"] = prom_dir metrics_server_thread = threading.Thread(target=run_metrics_server, daemon=True) metrics_server_thread.start() time.sleep(1)