dify/api/core
GareArc bf422dfd13
feat(telemetry): add enterprise OTEL telemetry with gateway, traces, metrics, and logs
Enterprise-only observability layer that emits OpenTelemetry traces, metrics,
and logs for workflow executions, LLM calls, message processing, and node runs.

Key components:
- core/telemetry: CE-safe gateway and event facade (no-ops when EE disabled)
- enterprise/telemetry: full trace/metric/log pipeline with OTLP exporter
- extensions/ext_enterprise_telemetry: Flask extension for lifecycle management
- tasks/enterprise_telemetry_task: Celery task for async metric dispatch

Wiring changes:
- app_factory: register ext_enterprise_telemetry extension
- ext_celery: conditionally import enterprise_telemetry_task
- configs/enterprise: add EnterpriseTelemetryConfig with OTLP settings
- ops_trace_manager: add enterprise telemetry hooks with lazy imports
- trace_entity: add new trace types (WorkflowNode, PromptGeneration, DraftNode)
- ext_otel: improve gRPC TLS auto-detection and optional auth headers

All enterprise imports are guarded behind ENTERPRISE_ENABLED +
ENTERPRISE_TELEMETRY_ENABLED feature flags with graceful fallbacks.
2026-03-24 00:24:20 -07:00
..
agent refactor(api): Query API to select function_1 (#33565) 2026-03-17 23:29:16 +09:00
app refactor: use EnumText for WorkflowAppLog.created_from and WorkflowArchiveLog columns (#33954) 2026-03-24 02:44:46 +09:00
base refactor(api): move model_runtime into dify_graph (#32858) 2026-03-02 20:15:32 +08:00
callback_handler refactor: use EnumText for dataset and replace string literals 4 (#33606) 2026-03-18 09:18:08 +09:00
datasource refactor: use EnumText(StorageType) for UploadFile.storage_type (#33728) 2026-03-19 15:15:32 +09:00
db fix(db): parameterize sessionmaker with Session (#30612) 2026-01-06 15:23:50 +08:00
entities refactor: EnumText for preferred_provider_type MessageChain, Banner (#33696) 2026-03-19 03:53:04 +09:00
errors
extension
external_data_tool
helper refactor(api): move model_runtime into dify_graph (#32858) 2026-03-02 20:15:32 +08:00
llm_generator test: add test for core extension, external_data_tool and llm generator (#32468) 2026-03-12 11:44:38 +08:00
logging feat(refactoring): Support Structured Logging (JSON) (#30170) 2026-01-04 11:46:46 +08:00
mcp chore: compatiable resource_metadata return without scheme (#33506) 2026-03-16 15:44:48 +08:00
memory refactor(api): move model_runtime into dify_graph (#32858) 2026-03-02 20:15:32 +08:00
moderation refactor(api): move model_runtime into dify_graph (#32858) 2026-03-02 20:15:32 +08:00
ops feat(telemetry): add enterprise OTEL telemetry with gateway, traces, metrics, and logs 2026-03-24 00:24:20 -07:00
plugin refactor(api): move workflow knowledge nodes and trigger nodes (#33445) 2026-03-15 15:24:59 +08:00
prompt refactor(api): move model_runtime into dify_graph (#32858) 2026-03-02 20:15:32 +08:00
rag refactor: use EnumText for TidbAuthBinding.status and MessageFile.type (#33975) 2026-03-24 05:38:29 +09:00
repositories refactor(api): move workflow knowledge nodes and trigger nodes (#33445) 2026-03-15 15:24:59 +08:00
schemas refactor(typing): Fixup typing A2 - workflow engine & nodes (#31723) 2026-01-31 18:00:56 +09:00
telemetry feat(telemetry): add enterprise OTEL telemetry with gateway, traces, metrics, and logs 2026-03-24 00:24:20 -07:00
tools refactor: use EnumText for Conversation/Message invoke_from and from_source (#33901) 2026-03-23 16:03:35 +09:00
trigger fix(api): add `trigger_info` to WorkflowNodeExecutionMetadataKey (#33753) 2026-03-19 17:56:49 +08:00
workflow fix(api): add `trigger_info` to WorkflowNodeExecutionMetadataKey (#33753) 2026-03-19 17:56:49 +08:00
__init__.py
hosting_configuration.py refactor(api): move model_runtime into dify_graph (#32858) 2026-03-02 20:15:32 +08:00
indexing_runner.py refactor: use EnumText for dataset and replace string literals 4 (#33606) 2026-03-18 09:18:08 +09:00
model_manager.py refactor(api): move model_runtime into dify_graph (#32858) 2026-03-02 20:15:32 +08:00
provider_manager.py refactor: use EnumText for TenantCreditPool.pool_type (#33959) 2026-03-24 02:51:10 +09:00