Skip to content

Request-artifact telemetry: fixed 5 s export acknowledgement fails slow-but-healthy writes and leaves abandoned writes running #3866

Description

@acoliver

Background

PR #3852 (#854) added request-artifact telemetry. When conversation logging is on, each request and response chunk is emitted as a log record with an export receipt, and the send waits for the file exporter to confirm the write (AcknowledgedLogExporter.receipt, packages/telemetry/src/telemetry/artifact-exporter.ts). If the write fails, that send fails, so a logged turn cannot silently lose its transcript.

The receipt has a fixed 5,000 ms timeout. When it fires:

  • the send fails with ExportAcknowledgementMissingError;
  • the export is marked finished as FAILED, so root flush/close stop waiting for it (commit c4d9428);
  • the root does not report that error again at flush or close (commit aab7e4f).

Problems

  1. Slow is treated as dead. The timeout does not depend on chunk size or disk speed. A large transcript chunk on a slow or network filesystem that takes more than 5 s to write fails the user's turn even though the write would succeed.
  2. Abandoned writes keep running. The underlying export is not cancelled, so the write can still finish in the background, and its late result is ignored.

Proposal

  • Make the deadline proportional to the chunk size, or configurable, or both. Or replace it with progress-based liveness: fail only when the exporter makes no progress for N seconds.
  • Pass an abort signal to the underlying exporter so an abandoned write is actually stopped, and its scratch cleaned up.

Acceptance

  • A test with an exporter that writes slowly but steadily for longer than 5 s succeeds.
  • A test with an exporter that stalls fails within the liveness bound, and the stalled write is aborted.
  • The existing artifact-exporter-abandoned, source-telemetry-correlated and turn-request-artifact-sink tests stay green.

Follow-up from #854 / PR #3852.

Activity

  1. added
    ObservabilityIssues related to quotas being able to observe model or provider responses or behavior.
    on Oct 13, 2026
  2. github-actions commented on Oct 13, 2026

    @github-actions
    Contributor

    LLxprt Issue Planner — infrastructure failure

    The autonomous planner failed with exit code 1. Please inspect the workflow logs (Run planner agent section) and re-run once resolved.

  3. added theissue type on Oct 13, 2026
  4. added this to the 0.12.0 milestone on Oct 13, 2026
  5. added
    telemetryLocal telemetry, session statistics, metrics, and telemetry export behavior
    on Oct 13, 2026
  6. added a commit that references this issue on Oct 13, 2026
    f8ba63a
  7. moved this from Todo to In Progress in LLxprt Roadmapon Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ObservabilityIssues related to quotas being able to observe model or provider responses or behavior.telemetryLocal telemetry, session statistics, metrics, and telemetry export behavior

    Type

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions