OtlpShipper.Transport (otlp_shipper v0.1.1)

Copy Markdown View Source

Bounded OTLP/HTTP export over a caller-owned Finch pool.

export/4 waits for one logical export; call it from a supervised batch worker, never from Logger or a telemetry event callback. Its total deadline covers pool checkout, connection, response, and retry waits. Redirects are not followed.

Returns :ok, {:ok, :partial, rejected_count}, or a tagged error. A response lost after acceptance can lead to duplicates. Partial acceptance is never retried. Response bodies are bounded and never included in diagnostics or error details.

Summary

Functions

Exports an encoded request, recording one outcome and any rejected/dropped records.

Types

result()

@type result() ::
  :ok
  | {:ok, :partial, non_neg_integer()}
  | {:error, atom()}
  | {:error, atom(), term()}

Functions

export(config, finch, body, count)

@spec export(OtlpShipper.Config.t(), atom(), binary(), non_neg_integer()) :: result()

Exports an encoded request, recording one outcome and any rejected/dropped records.