Surfaced by the Firefly platform observability E2E audit (2026-06-25, firefly-prod).
pyfly-based workloads all report OTLP resource service.name = **pyfly-app**, ignoring the standard OTEL_SERVICE_NAME env var that the platform injects.
Impact: three distinct deployments — core-flydocs, core-flydocs-worker, core-flydocs-bbox-worker — collapse into a single service_name=pyfly-app in traces.opentelemetry_traces, breaking per-service Perses filtering, cross-correlation, and the genai-overview dashboard (which filters service_name LIKE '%flydocs%' and therefore misses them entirely).
Evidence: SELECT service_name, COUNT(*) ... GROUP BY service_name shows pyfly-app with the summed volume of all three workloads; no per-workload identity.
Ask: honor the standard OTEL resource env vars — OTEL_SERVICE_NAME and OTEL_RESOURCE_ATTRIBUTES=service.name=... — for the OTLP resource service.name (or expose a first-class pyfly service-name config). The platform already injects OTEL_SERVICE_NAME per workload; honoring it gives each flydocs workload its own identity with no per-app config.
Surfaced by the Firefly platform observability E2E audit (2026-06-25, firefly-prod).
pyfly-based workloads all report OTLP resource
service.name = **pyfly-app**, ignoring the standardOTEL_SERVICE_NAMEenv var that the platform injects.Impact: three distinct deployments —
core-flydocs,core-flydocs-worker,core-flydocs-bbox-worker— collapse into a singleservice_name=pyfly-appintraces.opentelemetry_traces, breaking per-service Perses filtering, cross-correlation, and thegenai-overviewdashboard (which filtersservice_name LIKE '%flydocs%'and therefore misses them entirely).Evidence:
SELECT service_name, COUNT(*) ... GROUP BY service_nameshowspyfly-appwith the summed volume of all three workloads; no per-workload identity.Ask: honor the standard OTEL resource env vars —
OTEL_SERVICE_NAMEandOTEL_RESOURCE_ATTRIBUTES=service.name=...— for the OTLP resourceservice.name(or expose a first-class pyfly service-name config). The platform already injectsOTEL_SERVICE_NAMEper workload; honoring it gives each flydocs workload its own identity with no per-app config.