feat/enh: ENABLE_OTEL_TRACES granular otel support

This commit is contained in:
Timothy Jaeryang Baek 2025-08-20 23:03:12 +04:00
parent 19e82ace23
commit 919d65f36f
2 changed files with 24 additions and 21 deletions

View file

@ -695,6 +695,7 @@ AUDIT_EXCLUDED_PATHS = [path.lstrip("/") for path in AUDIT_EXCLUDED_PATHS]
#################################### ####################################
ENABLE_OTEL = os.environ.get("ENABLE_OTEL", "False").lower() == "true" ENABLE_OTEL = os.environ.get("ENABLE_OTEL", "False").lower() == "true"
ENABLE_OTEL_TRACES = os.environ.get("ENABLE_OTEL_TRACES", "False").lower() == "true"
ENABLE_OTEL_METRICS = os.environ.get("ENABLE_OTEL_METRICS", "False").lower() == "true" ENABLE_OTEL_METRICS = os.environ.get("ENABLE_OTEL_METRICS", "False").lower() == "true"
ENABLE_OTEL_LOGS = os.environ.get("ENABLE_OTEL_LOGS", "False").lower() == "true" ENABLE_OTEL_LOGS = os.environ.get("ENABLE_OTEL_LOGS", "False").lower() == "true"

View file

@ -17,6 +17,7 @@ from open_webui.env import (
OTEL_SERVICE_NAME, OTEL_SERVICE_NAME,
OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_ENDPOINT,
OTEL_EXPORTER_OTLP_INSECURE, OTEL_EXPORTER_OTLP_INSECURE,
ENABLE_OTEL_TRACES,
ENABLE_OTEL_METRICS, ENABLE_OTEL_METRICS,
OTEL_BASIC_AUTH_USERNAME, OTEL_BASIC_AUTH_USERNAME,
OTEL_BASIC_AUTH_PASSWORD, OTEL_BASIC_AUTH_PASSWORD,
@ -27,6 +28,7 @@ from open_webui.env import (
def setup(app: FastAPI, db_engine: Engine): def setup(app: FastAPI, db_engine: Engine):
# set up trace # set up trace
resource = Resource.create(attributes={SERVICE_NAME: OTEL_SERVICE_NAME}) resource = Resource.create(attributes={SERVICE_NAME: OTEL_SERVICE_NAME})
if ENABLE_OTEL_TRACES:
trace.set_tracer_provider(TracerProvider(resource=resource)) trace.set_tracer_provider(TracerProvider(resource=resource))
# Add basic auth header only if both username and password are not empty # Add basic auth header only if both username and password are not empty