Add optional OpenTelemetry integration via kaya-otel
CI / Build and push docker image (push) Successful in 1m31s

Adds an OTEL_ENABLED opt-in that assembles kaya-otel's OTelMixin into
the app, exporting HTTP/WebSocket traces and request metrics to an
OTLP/HTTP collector. Configured through OTEL_SERVICE_NAME,
OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_HEADERS and
OTEL_EXCLUDED_PATHS (defaults to the /api/health probe endpoint).

kaya-otel is an optional 'otel' extra imported lazily, so default
installs and the test suite do not need the OpenTelemetry packages.
The kaya dependencies are bumped to 0.0.4, which kaya-otel requires.
This commit is contained in:
2026-09-19 10:09:31 +08:00
parent 93d041b004
commit af480bb9b7
9 changed files with 216 additions and 8 deletions
+7 -7
View File
@@ -50,7 +50,7 @@ idna==3.19
# httpx
iso8601==2.1.0
# via tortoise-orm
kaya-core==0.0.3
kaya-core==0.0.4
# via
# kaya-cors
# kaya-oidc
@@ -58,20 +58,20 @@ kaya-core==0.0.3
# kaya-rsgi
# kaya-session
# tavolo (pyproject.toml)
kaya-cors==0.0.3
kaya-cors==0.0.4
# via tavolo (pyproject.toml)
kaya-oidc==0.0.3
kaya-oidc==0.0.4
# via tavolo (pyproject.toml)
kaya-openapi==0.0.3
kaya-openapi==0.0.4
# via tavolo (pyproject.toml)
kaya-rsgi==0.0.3
kaya-rsgi==0.0.4
# via tavolo (pyproject.toml)
kaya-session==0.0.3
kaya-session==0.0.4
# via
# kaya-oidc
# kaya-session-redis
# tavolo (pyproject.toml)
kaya-session-redis==0.0.3
kaya-session-redis==0.0.4
# via tavolo (pyproject.toml)
pwo==0.1.2
# via