fix(telemetry): move EE guard to gateway routing level

Prevents CE users from enqueueing EE-only events (all METRIC_LOG cases)
to non-existent enterprise_telemetry Celery queue.

- Add _should_drop_ee_only_event() check in emit() before routing
- Remove redundant check from _emit_trace()
- Single guard at gateway level protects both trace and metric/log paths
This commit is contained in:
GareArc 2026-02-05 22:58:40 -08:00
parent 4a9b74f86b
commit 8ded2d73f0
No known key found for this signature in database
1 changed files with 4 additions and 4 deletions

View File

@ -86,6 +86,10 @@ class TelemetryGateway:
logger.warning("Unknown telemetry case: %s, dropping event", case)
return
if _should_drop_ee_only_event(route):
logger.debug("Dropping EE-only event: case=%s (EE disabled)", case)
return
logger.debug(
"Gateway routing: case=%s, signal_type=%s, ce_eligible=%s",
case,
@ -109,10 +113,6 @@ class TelemetryGateway:
from core.ops.ops_trace_manager import TraceQueueManager as LocalTraceQueueManager
from core.ops.ops_trace_manager import TraceTask
if _should_drop_ee_only_event(route):
logger.debug("Dropping enterprise-only trace event: case=%s (EE disabled)", case)
return
trace_task_name = CASE_TO_TRACE_TASK.get(case)
if trace_task_name is None:
logger.warning("No TraceTaskName mapping for case: %s", case)