feat(ifc-importer): serve prometheus metrics (#5627)
This commit is contained in:
@@ -12,11 +12,6 @@ repos:
|
||||
- id: shellcheck-system
|
||||
name: shellcheck
|
||||
|
||||
- repo: https://github.com/syntaqx/git-hooks
|
||||
rev: 'v0.0.17'
|
||||
hooks:
|
||||
- id: circleci-config-validate
|
||||
|
||||
- repo: https://github.com/specklesystems/pre-commit
|
||||
rev: '0.2.0'
|
||||
hooks:
|
||||
|
||||
@@ -5,6 +5,7 @@ from http.server import BaseHTTPRequestHandler, HTTPServer
|
||||
from multiprocessing import Process
|
||||
|
||||
import structlog
|
||||
from prometheus_client import start_http_server
|
||||
from structlog_to_seq import CelfProcessor
|
||||
|
||||
from ifc_importer.job_processor import job_processor
|
||||
@@ -52,6 +53,7 @@ async def main():
|
||||
httpd = HTTPServer(("0.0.0.0", 9080), HealthcheckHTTPRequestHandler)
|
||||
healthcheck_server_process = Process(target=httpd.serve_forever, daemon=True)
|
||||
healthcheck_server_process.start()
|
||||
start_http_server(9093)
|
||||
|
||||
# we do not need any sort of signal handling logic,
|
||||
# cause if the context of the job transaction exits,
|
||||
|
||||
@@ -13,6 +13,7 @@ dependencies = [
|
||||
"structlog-to-seq>=21.0.0",
|
||||
"specklepy[speckleifc]>=3.0.7",
|
||||
"colorful>=0.5.7",
|
||||
"prometheus-client>=0.23.1",
|
||||
]
|
||||
|
||||
[dependency-groups]
|
||||
|
||||
Generated
+11
@@ -230,6 +230,7 @@ source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "asyncpg" },
|
||||
{ name = "colorful" },
|
||||
{ name = "prometheus-client" },
|
||||
{ name = "pydantic" },
|
||||
{ name = "python-dotenv" },
|
||||
{ name = "specklepy", extra = ["speckleifc"] },
|
||||
@@ -249,6 +250,7 @@ dev = [
|
||||
requires-dist = [
|
||||
{ name = "asyncpg", specifier = ">=0.30.0" },
|
||||
{ name = "colorful", specifier = ">=0.5.7" },
|
||||
{ name = "prometheus-client", specifier = ">=0.23.1" },
|
||||
{ name = "pydantic", specifier = ">=2.11.7" },
|
||||
{ name = "python-dotenv", specifier = ">=1.0.0" },
|
||||
{ name = "specklepy", extras = ["speckleifc"], specifier = ">=3.0.7" },
|
||||
@@ -414,6 +416,15 @@ wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/c1/9e/1652778bce745a67b5fe05adde60ed362d38eb17d919a540e813d30f6874/numpy-2.3.2-cp314-cp314t-win_arm64.whl", hash = "sha256:092aeb3449833ea9c0bf0089d70c29ae480685dd2377ec9cdbbb620257f84631", size = 10544226, upload-time = "2025-07-24T20:56:34.509Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "prometheus-client"
|
||||
version = "0.23.1"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/23/53/3edb5d68ecf6b38fcbcc1ad28391117d2a322d9a1a3eff04bfdb184d8c3b/prometheus_client-0.23.1.tar.gz", hash = "sha256:6ae8f9081eaaaf153a2e959d2e6c4f4fb57b12ef76c8c7980202f1e57b48b2ce", size = 80481, upload-time = "2025-09-18T20:47:25.043Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/b8/db/14bafcb4af2139e046d03fd00dea7873e48eafe18b7d2797e73d6681f210/prometheus_client-0.23.1-py3-none-any.whl", hash = "sha256:dd1913e6e76b59cfe44e7a4b83e01afc9873c1bdfd2ed8739f1e76aeca115f99", size = 61145, upload-time = "2025-09-18T20:47:23.875Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "propcache"
|
||||
version = "0.3.2"
|
||||
|
||||
Reference in New Issue
Block a user