Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions spoolman/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from spoolman.api.v1.router import app as v1_app
from spoolman.client import SinglePageApplication
from spoolman.database import database
from spoolman.prometheus.metrics import registry
from spoolman.prometheus.metrics import BUILD_INFO, registry

# Define a console logger
console_handler = logging.StreamHandler()
Expand Down Expand Up @@ -156,13 +156,23 @@ async def startup() -> None:
# Don't add file logging until we have verified that the data directory is writable
add_file_logging()

version = app.version
commit = env.get_commit_hash() or ""
build_date = env.get_build_date()

logger.info(
"Starting Spoolman v%s (commit: %s) (built: %s)",
app.version,
env.get_commit_hash(),
env.get_build_date(),
version,
commit,
build_date,
)

BUILD_INFO.info({
"version": version,
"commit": commit,
"build_date": str(build_date) if build_date else "",
})

logger.info("Using data directory: %s", env.get_data_dir().resolve())
logger.info("Using logs directory: %s", env.get_logs_dir().resolve())
logger.info("Using backups directory: %s", env.get_backups_dir().resolve())
Expand Down
4 changes: 3 additions & 1 deletion spoolman/prometheus/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from collections.abc import Callable

import sqlalchemy
from prometheus_client import REGISTRY, Gauge, make_asgi_app
from prometheus_client import REGISTRY, Gauge, Info, make_asgi_app
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import contains_eager

Expand All @@ -30,6 +30,8 @@
FILAMENT_DIAMETER = Gauge(f"{PREFIX}_filament_diameter", "Diameter of filament", ["filament_id"])
FILAMENT_WEIGHT = Gauge(f"{PREFIX}_filament_weight", "Net weight of filament", ["filament_id"])

BUILD_INFO = Info(f"{PREFIX}_build", "Spoolman build information")

logger = logging.getLogger(__name__)


Expand Down
Loading