dify/api/enterprise/telemetry
GareArc adadf1ec5f
refactor(telemetry): migrate to type-safe enum-based event routing with centralized enterprise filtering
Changes:
- Change TelemetryEvent.name from str to TraceTaskName enum for type safety
- Remove hardcoded trace_task_name_map from facade (no mapping needed)
- Add centralized enterprise-only filter in TelemetryFacade.emit()
- Rename is_telemetry_enabled() to is_enterprise_telemetry_enabled()
- Update all 11 call sites to pass TraceTaskName enum values
- Remove redundant enterprise guard from draft_trace.py
- Add unit tests for TelemetryFacade.emit() routing (6 tests)
- Add unit tests for TraceQueueManager telemetry guard (5 tests)
- Fix test fixture scoping issue for full test suite compatibility
- Fix tenant_id handling in agent tool callback handler

Benefits:
- 100% type-safe: basedpyright catches errors at compile time
- No string literals: eliminates entire class of typo bugs
- Single point of control: centralized filtering in facade
- All guards removed except facade
- Zero regressions: 4887 tests passing

Verification:
- make lint: PASS
- make type-check: PASS (0 errors, 0 warnings)
- pytest: 4887 passed, 8 skipped
2026-02-05 20:15:12 -08:00
..
entities feat(telemetry): add prompt generation telemetry to Enterprise OTEL 2026-02-05 20:14:49 -08:00
__init__.py feat(enterprise): Add OTEL telemetry with slim traces, metrics, and structured logs 2026-02-05 20:12:28 -08:00
draft_trace.py refactor(telemetry): migrate to type-safe enum-based event routing with centralized enterprise filtering 2026-02-05 20:15:12 -08:00
enterprise_trace.py refactor(telemetry): introduce TelemetryFacade to centralize event emission 2026-02-05 20:15:11 -08:00
event_handlers.py feat(enterprise): Add OTEL telemetry with slim traces, metrics, and structured logs 2026-02-05 20:12:28 -08:00
exporter.py feat(telemetry): add prompt generation telemetry to Enterprise OTEL 2026-02-05 20:14:49 -08:00
id_generator.py feat(enterprise): Add OTEL telemetry with slim traces, metrics, and structured logs 2026-02-05 20:12:28 -08:00
telemetry_log.py refactor(telemetry): introduce TelemetryFacade to centralize event emission 2026-02-05 20:15:11 -08:00