dify/api/enterprise/telemetry
GareArc 1b3a21e6f8
feat(telemetry): unify token metric label structure with Pydantic enforcement
- Add TokenMetricLabels BaseModel to enforce consistent label structure
- All dify.token.* metrics now use identical 6-label structure:
  * tenant_id, app_id, operation_type, model_provider, model_name, node_type
- Pydantic validation ensures runtime enforcement (extra='forbid', frozen=True)
- Enables filtering by operation_type to avoid double-counting:
  * workflow: aggregated workflow-level tokens
  * node_execution: individual node-level tokens
  * message: direct message tokens
  * rule_generate/code_generate: prompt generation tokens

Previously, inconsistent label cardinality made aggregation impossible:
- WORKFLOW: 3 labels
- NODE_EXECUTION: 6 labels
- MESSAGE: 5 labels
- PROMPT_GENERATION: 5 labels

Now all use the same 6-label structure for consistent querying.
2026-02-06 03:10:20 -08:00
..
entities feat(telemetry): unify token metric label structure with Pydantic enforcement 2026-02-06 03:10:20 -08:00
__init__.py feat(telemetry): add enterprise OTEL telemetry with gateway, traces, metrics, and logs 2026-02-05 23:10:30 -08:00
contracts.py feat(telemetry): add enterprise OTEL telemetry with gateway, traces, metrics, and logs 2026-02-05 23:10:30 -08:00
draft_trace.py feat(telemetry): add enterprise OTEL telemetry with gateway, traces, metrics, and logs 2026-02-05 23:10:30 -08:00
enterprise_trace.py feat(telemetry): unify token metric label structure with Pydantic enforcement 2026-02-06 03:10:20 -08:00
event_handlers.py feat(telemetry): add enterprise OTEL telemetry with gateway, traces, metrics, and logs 2026-02-05 23:10:30 -08:00
exporter.py feat: add dedicated app event counters and convert event names to StrEnum 2026-02-06 02:38:19 -08:00
gateway.py feat(telemetry): add enterprise OTEL telemetry with gateway, traces, metrics, and logs 2026-02-05 23:10:30 -08:00
id_generator.py feat(telemetry): add enterprise OTEL telemetry with gateway, traces, metrics, and logs 2026-02-05 23:10:30 -08:00
metric_handler.py feat: add dedicated app event counters and convert event names to StrEnum 2026-02-06 02:38:19 -08:00
telemetry_log.py feat: add dedicated app event counters and convert event names to StrEnum 2026-02-06 02:38:19 -08:00