发布

  • [OPIK-6145] [FE] feat: lazy load attachments in traces and spans tables (#6645)

    frostbyte_neo 发布于 2026-05-11 08:20:49 +00:00

    Pass strip_attachments=true on the FE list calls so the BE skips its
    per-row reinjection step (downloading attachment bytes from object
    storage and inlining them into each trace's input/output JSON). The
    table only renders text via PrettyCell, so the inlined bytes were
    fetched, transferred, and discarded.

    Touches every place that sends a trace/span list with truncate=true:

    • Tables: TracesSpansTab v1+v2, TraceLogsSidebar v2,
      TraceQueueItemsTab v1+v2, SMEFlowContext queue items v1+v2.
    • Filter autocompletes that don't read input/output bytes:
      ErrorTypeAutocomplete v1+v2, TagsAutocomplete v2,
      TracesOrSpansPathsAutocomplete v1+v2 (paths come from JSON keys,
      unchanged by stripping).
    • Existence checks: ConnectAgentStep, useAutoCompleteAgentOnboarding,
      AgentConfigurationDetailView (only read total).

    Export refetches and Thread/SME data viewers intentionally untouched -
    they need full content with attachments.

    Measured impact (100 HDFC-shaped traces x image+PDF, page_size=100,
    local docker stack with MinIO): 3.4s/85MB -> 0.10s/0.13MB.

    下载附件