Skip to content

otlploggrpc: document concrete exporter concurrency guarantees #9135

Closed

Description

@pellared

The public OTLP/gRPC logs exporter does not document the concurrency characteristics required of implementations, although its methods are synchronized correctly.

Found while completing #9104 under stabilization parent #9102. Reviewed implementation: 6b3ec1621285c44b321ba65b972f453213461fc6; specification: 1d77cd02d8a2f4ac7d056b3d771126f807e28cba.

The Stable Logs SDK LogRecordExporter documentation requirement is a MUST. Current Exporter/type constructor docs, method docs, README and doc.go do not state the concurrency contract. The implementation assertion is unexported and does not appear in package API docs. Documentation on sdk/log.Exporter describes the shared interface, not the concrete public exporter; #8549's SDK/interface audit does not cover this gap.

Document that Export must not be called concurrently with another Export on the same instance, and that ForceFlush and Shutdown are safe concurrently with themselves, each other, and Export. Document repeated-shutdown behavior consistently with the existing implementation. No new synchronization implementation is needed for this issue.

Validation: inspect rendered package docs and run package documentation/verification checks appropriate to the eventual documentation patch. Existing tests plus deterministic in-flight transport and repeated Shutdown/ForceFlush probes passed under -race for 100 repetitions. No production changes were made by the audit.

An existing-issue search found #8549 and the analogous closed metrics documentation issue #4248, but no existing focused logs-exporter documentation issue. This follows up the concrete documentation gap without reopening completed SDK/provider/processor/buffered-wrapper coverage.

Activity

  1. self-assigned this
    on Oct 8, 2026
  2. added a commit that references this issue on Oct 26, 2026
    a2698f2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:logsPart of OpenTelemetry logsdocumentationProvides helpful informationpkg:exporter:otlpRelated to the OTLP exporter package

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions