feat: add OpenTelemetry distributed tracing across all DECNET services
Gated by DECNET_DEVELOPER_TRACING env var (default off, zero overhead). When enabled, traces flow through FastAPI routes, background workers (collector, ingester, profiler, sniffer, prober), engine/mutator operations, and all DB calls via TracedRepository proxy. Includes Jaeger docker-compose for local dev and 18 unit tests.
This commit is contained in:
@@ -22,8 +22,12 @@ def get_repository(**kwargs: Any) -> BaseRepository:
|
||||
|
||||
if db_type == "sqlite":
|
||||
from decnet.web.db.sqlite.repository import SQLiteRepository
|
||||
return SQLiteRepository(**kwargs)
|
||||
if db_type == "mysql":
|
||||
repo = SQLiteRepository(**kwargs)
|
||||
elif db_type == "mysql":
|
||||
from decnet.web.db.mysql.repository import MySQLRepository
|
||||
return MySQLRepository(**kwargs)
|
||||
raise ValueError(f"Unsupported database type: {db_type}")
|
||||
repo = MySQLRepository(**kwargs)
|
||||
else:
|
||||
raise ValueError(f"Unsupported database type: {db_type}")
|
||||
|
||||
from decnet.telemetry import wrap_repository
|
||||
return wrap_repository(repo)
|
||||
|
||||
Reference in New Issue
Block a user