diff --git a/aurweb/routers/html.py b/aurweb/routers/html.py
index 4cee5f99..525fb626 100644
--- a/aurweb/routers/html.py
+++ b/aurweb/routers/html.py
@@ -209,9 +209,7 @@ async def index(request: Request):
@router.get("/metrics")
async def metrics(request: Request):
registry = CollectorRegistry()
- if os.environ.get("FASTAPI_BACKEND", "") == "gunicorn": # pragma: no cover
- # This case only ever happens in production, when we are running
- # gunicorn. We don't test with gunicorn, so we don't cover this path.
+ if os.environ.get("PROMETHEUS_MULTIPROC_DIR", None): # pragma: no cover
multiprocess.MultiProcessCollector(registry)
data = generate_latest(registry)
headers = {
diff --git a/docker-compose.yml b/docker-compose.yml
index 5dffe5d3..225e5b9b 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -241,6 +241,7 @@ services:
environment:
- AUR_CONFIG=conf/config
- TEST_RECURSION_LIMIT=${TEST_RECURSION_LIMIT}
+ - PROMETHEUS_MULTIPROC_DIR=/tmp_prometheus
entrypoint: /docker/test-mysql-entrypoint.sh
command: /docker/scripts/run-pytests.sh clean
stdin_open: true
@@ -267,6 +268,7 @@ services:
environment:
- AUR_CONFIG=conf/config.sqlite
- TEST_RECURSION_LIMIT=${TEST_RECURSION_LIMIT}
+ - PROMETHEUS_MULTIPROC_DIR=/tmp_prometheus
entrypoint: /docker/test-sqlite-entrypoint.sh
command: setup-sqlite.sh run-pytests.sh clean
stdin_open: true
@@ -289,6 +291,7 @@ services:
environment:
- AUR_CONFIG=conf/config
- TEST_RECURSION_LIMIT=${TEST_RECURSION_LIMIT}
+ - PROMETHEUS_MULTIPROC_DIR=/tmp_prometheus
entrypoint: /docker/tests-entrypoint.sh
command: setup-sqlite.sh run-tests.sh
stdin_open: true
diff --git a/docker/scripts/run-pytests.sh b/docker/scripts/run-pytests.sh
index d992bf06..ee546fb7 100755
--- a/docker/scripts/run-pytests.sh
+++ b/docker/scripts/run-pytests.sh
@@ -22,6 +22,9 @@ while [ $# -ne 0 ]; do
esac
done
+rm -rf $PROMETHEUS_MULTIPROC_DIR
+mkdir -p $PROMETHEUS_MULTIPROC_DIR
+
# Initialize the new database; ignore errors.
python -m aurweb.initdb 2>/dev/null || \
(echo "Error: aurweb.initdb failed; already initialized?" && /bin/true)