Module Opentelemetry_client_ocurl.Config

Configuration for the ocurl backend

type t = private {
  1. debug : bool;
  2. url_traces : string;
    (*

    Url to send traces

    *)
  3. url_metrics : string;
    (*

    Url to send metrics

    *)
  4. url_logs : string;
    (*

    Url to send logs

    *)
  5. headers : (string * string) list;
    (*

    API headers sent to the endpoint. Default is none or "OTEL_EXPORTER_OTLP_HEADERS" if set.

    *)
  6. batch_timeout_ms : int;
    (*

    Number of milliseconds after which we will emit a batch, even incomplete. Note that the batch might take longer than that, because this is only checked when a new event occurs or when a tick is emitted. Default 2_000.

    *)
  7. bg_threads : int;
    (*

    Are there background threads, and how many? Default 4. This will be adjusted to be at least 1 and at most 32.

    *)
  8. ticker_thread : bool;
    (*

    If true, start a thread that regularly checks if signals should be sent to the collector. Default true

    *)
  9. ticker_interval_ms : int;
    (*

    Interval for ticker thread, in milliseconds. This is only useful if ticker_thread is true. This will be clamped between 2 ms and some longer interval (maximum 60s currently). Default 500.

    • since 0.7
    *)
  10. self_trace : bool;
    (*

    If true, the OTEL library will also emit its own spans. Default false.

    • since 0.7
    *)
}

Configuration.

To build one, use make below. This might be extended with more fields in the future.

val make : ?debug:bool -> ?url:string -> ?url_traces:string -> ?url_metrics:string -> ?url_logs:string -> ?headers:(string * string) list -> ?batch_timeout_ms:int -> ?bg_threads:int -> ?ticker_thread:bool -> ?ticker_interval_ms:int -> ?self_trace:bool -> unit -> t

Make a configuration.

  • parameter url

    base url used to construct per-signal urls. Per-signal url options take precedence over this base url. Default is "http://localhost:4318", or "OTEL_EXPORTER_OTLP_ENDPOINT" if set.

    Example of constructed per-signal urls with the base url http://localhost:4318

    • Traces: http://localhost:4318/v1/traces
    • Metrics: http://localhost:4318/v1/metrics
    • Logs: http://localhost:4318/v1/logs

    Use per-signal url options if different urls are needed for each signal type.

  • parameter url_traces

    url to send traces, or "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT" if set. The url is used as-is without any modification.

  • parameter url_metrics

    url to send metrics, or "OTEL_EXPORTER_OTLP_METRICS_ENDPOINT" if set. The url is used as-is without any modification.

  • parameter url_logs

    url to send logs, or "OTEL_EXPORTER_OTLP_LOGS_ENDPOINT" if set. The url is used as-is without any modification.

val pp : Stdlib.Format.formatter -> t -> unit