mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-01 11:47:46 +02:00
feat(metrics): add bambuddy_build_info metric
Publish a gauge with version, python_version, platform, and architecture labels at the top of the Prometheus metrics endpoint.
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
"""Prometheus metrics endpoint for external monitoring."""
|
||||
|
||||
import platform
|
||||
|
||||
from fastapi import APIRouter, Depends, Header, HTTPException, Response
|
||||
from sqlalchemy import func, select
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from backend.app.core.config import APP_VERSION
|
||||
from backend.app.core.database import get_db
|
||||
from backend.app.models.archive import PrintArchive
|
||||
from backend.app.models.print_queue import PrintQueueItem
|
||||
@@ -77,6 +80,20 @@ async def get_metrics(
|
||||
|
||||
lines: list[str] = []
|
||||
|
||||
# =========================================================================
|
||||
# Build info
|
||||
# =========================================================================
|
||||
|
||||
lines.append("# HELP bambuddy_build_info Build and version information")
|
||||
lines.append("# TYPE bambuddy_build_info gauge")
|
||||
build_labels = format_labels(
|
||||
version=APP_VERSION,
|
||||
python_version=platform.python_version(),
|
||||
platform=platform.system(),
|
||||
architecture=platform.machine(),
|
||||
)
|
||||
lines.append(f"bambuddy_build_info{build_labels} 1")
|
||||
|
||||
# =========================================================================
|
||||
# Printer metrics
|
||||
# =========================================================================
|
||||
|
||||
Reference in New Issue
Block a user