mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-05-06 01:15:11 -04:00
33 lines
21 KiB
HTML
33 lines
21 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Http_config (opentelemetry-client.Opentelemetry_client.Http_config)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 3.1.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../../index.html">Index</a> » <a href="../../index.html">opentelemetry-client</a> » <a href="../index.html">Opentelemetry_client</a> » Http_config</nav><header class="odoc-preamble"><h1>Module <code><span>Opentelemetry_client.Http_config</span></code></h1><ul class="at-tags"><li class="deprecated"><span class="at-tag">deprecated</span> <p>Use <a href="../Exporter_config/index.html"><code>Exporter_config</code></a> instead</p></li></ul></header><div class="odoc-content"><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <span class="keyword">module</span> <span class="keyword">type</span> <span class="keyword">of</span> <a href="../Exporter_config/index.html">Exporter_config</a></span></code></summary><div class="odoc-spec"><div class="spec type anchored" id="type-protocol"><a href="#type-protocol" class="anchor"></a><code><span><span class="keyword">type</span> protocol</span><span> = </span></code><ol><li id="type-protocol.Http_protobuf" class="def variant constructor anchored"><a href="#type-protocol.Http_protobuf" class="anchor"></a><code><span>| </span><span><span class="constructor">Http_protobuf</span></span></code></li><li id="type-protocol.Http_json" class="def variant constructor anchored"><a href="#type-protocol.Http_json" class="anchor"></a><code><span>| </span><span><span class="constructor">Http_json</span></span></code></li></ol></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-log_level"><a href="#type-log_level" class="anchor"></a><code><span><span class="keyword">type</span> log_level</span><span> = <span><a href="../../../opentelemetry/Opentelemetry/Self_debug/index.html#type-level">Opentelemetry.Self_debug.level</a> option</span></span></code></div><div class="spec-doc"><p><code>None</code> disables internal diagnostic logging; <code>Some level</code> enables it at that level and above. Maps to <code>OTEL_LOG_LEVEL</code> env var.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-rest"><a href="#type-rest" class="anchor"></a><code><span><span class="keyword">type</span> rest</span></code></div><div class="spec-doc"><p>opaque type to force using <a href="#type-make"><code>make</code></a> while allowing record updates</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = </span><span>{</span></code><ol><li id="type-t.debug" class="def record field anchored"><a href="#type-t.debug" class="anchor"></a><code><span>debug : bool;</span></code><div class="def-doc"><span class="comment-delim">(*</span><ul class="at-tags"><li class="deprecated"><span class="at-tag">deprecated</span> <p>Use <a href="#type-t.log_level"><code>log_level</code></a> instead. Debug the client itself?</p></li></ul><span class="comment-delim">*)</span></div></li><li id="type-t.log_level" class="def record field anchored"><a href="#type-t.log_level" class="anchor"></a><code><span>log_level : <a href="#type-log_level">log_level</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Log level for internal diagnostics. Read from OTEL_LOG_LEVEL or falls back to OTEL_OCAML_DEBUG for compatibility.</p><span class="comment-delim">*)</span></div></li><li id="type-t.sdk_disabled" class="def record field anchored"><a href="#type-t.sdk_disabled" class="anchor"></a><code><span>sdk_disabled : bool;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>If true, the SDK is completely disabled and no-ops. Read from OTEL_SDK_DISABLED. Default false.</p><span class="comment-delim">*)</span></div></li><li id="type-t.url_traces" class="def record field anchored"><a href="#type-t.url_traces" class="anchor"></a><code><span>url_traces : string;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Url to send traces/spans</p><span class="comment-delim">*)</span></div></li><li id="type-t.url_metrics" class="def record field anchored"><a href="#type-t.url_metrics" class="anchor"></a><code><span>url_metrics : string;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Url to send metrics</p><span class="comment-delim">*)</span></div></li><li id="type-t.url_logs" class="def record field anchored"><a href="#type-t.url_logs" class="anchor"></a><code><span>url_logs : string;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Url to send logs</p><span class="comment-delim">*)</span></div></li><li id="type-t.headers" class="def record field anchored"><a href="#type-t.headers" class="anchor"></a><code><span>headers : <span><span>(string * string)</span> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Global API headers sent to all endpoints. Default is none or "OTEL_EXPORTER_OTLP_HEADERS" if set. Signal-specific headers can override these.</p><span class="comment-delim">*)</span></div></li><li id="type-t.headers_traces" class="def record field anchored"><a href="#type-t.headers_traces" class="anchor"></a><code><span>headers_traces : <span><span>(string * string)</span> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Headers for traces endpoint. Merges OTEL_EXPORTER_OTLP_HEADERS with OTEL_EXPORTER_OTLP_TRACES_HEADERS (signal-specific takes precedence).</p><span class="comment-delim">*)</span></div></li><li id="type-t.headers_metrics" class="def record field anchored"><a href="#type-t.headers_metrics" class="anchor"></a><code><span>headers_metrics : <span><span>(string * string)</span> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Headers for metrics endpoint. Merges OTEL_EXPORTER_OTLP_HEADERS with OTEL_EXPORTER_OTLP_METRICS_HEADERS (signal-specific takes precedence).</p><span class="comment-delim">*)</span></div></li><li id="type-t.headers_logs" class="def record field anchored"><a href="#type-t.headers_logs" class="anchor"></a><code><span>headers_logs : <span><span>(string * string)</span> list</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Headers for logs endpoint. Merges OTEL_EXPORTER_OTLP_HEADERS with OTEL_EXPORTER_OTLP_LOGS_HEADERS (signal-specific takes precedence).</p><span class="comment-delim">*)</span></div></li><li id="type-t.protocol" class="def record field anchored"><a href="#type-t.protocol" class="anchor"></a><code><span>protocol : <a href="#type-protocol">protocol</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Wire protocol to use. Read from OTEL_EXPORTER_OTLP_PROTOCOL. Default Http_protobuf.</p><span class="comment-delim">*)</span></div></li><li id="type-t.timeout_ms" class="def record field anchored"><a href="#type-t.timeout_ms" class="anchor"></a><code><span>timeout_ms : int;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>General timeout in milliseconds for exporter operations. Read from OTEL_EXPORTER_OTLP_TIMEOUT. Default 10_000.</p><span class="comment-delim">*)</span></div></li><li id="type-t.timeout_traces_ms" class="def record field anchored"><a href="#type-t.timeout_traces_ms" class="anchor"></a><code><span>timeout_traces_ms : int;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Timeout for trace exports. Read from OTEL_EXPORTER_OTLP_TRACES_TIMEOUT, falls back to timeout_ms.</p><span class="comment-delim">*)</span></div></li><li id="type-t.timeout_metrics_ms" class="def record field anchored"><a href="#type-t.timeout_metrics_ms" class="anchor"></a><code><span>timeout_metrics_ms : int;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Timeout for metric exports. Read from OTEL_EXPORTER_OTLP_METRICS_TIMEOUT, falls back to timeout_ms.</p><span class="comment-delim">*)</span></div></li><li id="type-t.timeout_logs_ms" class="def record field anchored"><a href="#type-t.timeout_logs_ms" class="anchor"></a><code><span>timeout_logs_ms : int;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Timeout for log exports. Read from OTEL_EXPORTER_OTLP_LOGS_TIMEOUT, falls back to timeout_ms.</p><span class="comment-delim">*)</span></div></li><li id="type-t.traces" class="def record field anchored"><a href="#type-t.traces" class="anchor"></a><code><span>traces : <a href="../../../opentelemetry/Opentelemetry/Provider_config/index.html#type-t">Opentelemetry.Provider_config.t</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Per-provider batching config for traces. Default: batch=400, timeout=2s. The batch size is read from OTEL_BSP_MAX_EXPORT_BATCH_SIZE if set.</p><span class="comment-delim">*)</span></div></li><li id="type-t.metrics" class="def record field anchored"><a href="#type-t.metrics" class="anchor"></a><code><span>metrics : <a href="../../../opentelemetry/Opentelemetry/Provider_config/index.html#type-t">Opentelemetry.Provider_config.t</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Per-provider batching config for metrics. Default: batch=200, timeout=2s. The batch size is read from OTEL_METRIC_EXPORT_INTERVAL if set.</p><span class="comment-delim">*)</span></div></li><li id="type-t.logs" class="def record field anchored"><a href="#type-t.logs" class="anchor"></a><code><span>logs : <a href="../../../opentelemetry/Opentelemetry/Provider_config/index.html#type-t">Opentelemetry.Provider_config.t</a>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Per-provider batching config for logs. Default: batch=400, timeout=2s.</p><span class="comment-delim">*)</span></div></li><li id="type-t.self_trace" class="def record field anchored"><a href="#type-t.self_trace" class="anchor"></a><code><span>self_trace : bool;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>If true, the OTEL library will perform some self-instrumentation. Default <code>false</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.7</li></ul><span class="comment-delim">*)</span></div></li><li id="type-t.self_metrics" class="def record field anchored"><a href="#type-t.self_metrics" class="anchor"></a><code><span>self_metrics : bool;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>If true, the OTEL library will regularly emit metrics about itself. Default <code>false</code>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.90</li></ul><span class="comment-delim">*)</span></div></li><li id="type-t.http_concurrency_level" class="def record field anchored"><a href="#type-t.http_concurrency_level" class="anchor"></a><code><span>http_concurrency_level : <span>int option</span>;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>How many HTTP requests can be done simultaneously (at most)? This can be used to represent the size of a pool of workers where each worker gets a batch to send, send it, and repeats.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.90</li></ul><span class="comment-delim">*)</span></div></li><li id="type-t.retry_max_attempts" class="def record field anchored"><a href="#type-t.retry_max_attempts" class="anchor"></a><code><span>retry_max_attempts : int;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Maximum number of retry attempts for failed exports. 0 means no retry, 1 means one retry after initial failure. Default 3.</p><span class="comment-delim">*)</span></div></li><li id="type-t.retry_initial_delay_ms" class="def record field anchored"><a href="#type-t.retry_initial_delay_ms" class="anchor"></a><code><span>retry_initial_delay_ms : float;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Initial delay in milliseconds before first retry. Default 100ms.</p><span class="comment-delim">*)</span></div></li><li id="type-t.retry_max_delay_ms" class="def record field anchored"><a href="#type-t.retry_max_delay_ms" class="anchor"></a><code><span>retry_max_delay_ms : float;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Maximum delay in milliseconds between retries. Default 5000ms.</p><span class="comment-delim">*)</span></div></li><li id="type-t.retry_backoff_multiplier" class="def record field anchored"><a href="#type-t.retry_backoff_multiplier" class="anchor"></a><code><span>retry_backoff_multiplier : float;</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Multiplier for exponential backoff. Default 2.0.</p><span class="comment-delim">*)</span></div></li><li id="type-t._rest" class="def record field anchored"><a href="#type-t._rest" class="anchor"></a><code><span>_rest : <a href="#type-rest">rest</a>;</span></code></li></ol><code><span>}</span></code></div><div class="spec-doc"><p>Configuration.</p><p>To build one, use <a href="#type-make"><code>make</code></a> below. This might be extended with more fields in the future.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-default_url"><a href="#val-default_url" class="anchor"></a><code><span><span class="keyword">val</span> default_url : string</span></code></div><div class="spec-doc"><p>The default base URL for the config.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span><a href="../../../ocaml/Stdlib/Format/index.html#type-formatter">Stdlib.Format.formatter</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-make"><a href="#type-make" class="anchor"></a><code><span><span class="keyword">type</span> <span>'k make</span></span><span> =
|
||
<span><span class="optlabel">?debug</span>:bool <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?log_level</span>:<a href="#type-log_level">log_level</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?sdk_disabled</span>:bool <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?url</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?url_traces</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?url_metrics</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?url_logs</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?batch_traces</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?batch_metrics</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?batch_logs</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?batch_timeout_ms</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?traces</span>:<a href="../../../opentelemetry/Opentelemetry/Provider_config/index.html#type-t">Opentelemetry.Provider_config.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?metrics</span>:<a href="../../../opentelemetry/Opentelemetry/Provider_config/index.html#type-t">Opentelemetry.Provider_config.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?logs</span>:<a href="../../../opentelemetry/Opentelemetry/Provider_config/index.html#type-t">Opentelemetry.Provider_config.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?headers</span>:<span><span>(string * string)</span> list</span> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?headers_traces</span>:<span><span>(string * string)</span> list</span> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?headers_metrics</span>:<span><span>(string * string)</span> list</span> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?headers_logs</span>:<span><span>(string * string)</span> list</span> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?protocol</span>:<a href="#type-protocol">protocol</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?timeout_ms</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?timeout_traces_ms</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?timeout_metrics_ms</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?timeout_logs_ms</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?self_trace</span>:bool <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?self_metrics</span>:bool <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?http_concurrency_level</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?retry_max_attempts</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?retry_initial_delay_ms</span>:float <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?retry_max_delay_ms</span>:float <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?retry_backoff_multiplier</span>:float <span class="arrow">-></span></span>
|
||
<span class="type-var">'k</span></span></code></div><div class="spec-doc"><p>A function that gathers all the values needed to construct a <a href="#type-t"><code>t</code></a>, and produces a <code>'k</code>. <code>'k</code> is typically a continuation used to construct a configuration that includes a <a href="#type-t"><code>t</code></a>.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">url</span> <p>base url used to construct per-signal urls. Per-signal url options take precedence over this base url. If not provided, this defaults to "OTEL_EXPORTER_OTLP_ENDPOINT" if set, or if not <a href="#val-default_url"><code>default_url</code></a>.</p></li></ul><p>Example of constructed per-signal urls with the base url http://localhost:4318</p><ul><li>Traces: http://localhost:4318/v1/traces</li><li>Metrics: http://localhost:4318/v1/metrics</li><li>Logs: http://localhost:4318/v1/logs</li></ul><p>Use per-signal url options if different urls are needed for each signal type.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">url_traces</span> <p>url to send traces, or "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT" if set. The url is used as-is without any modification.</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">url_metrics</span> <p>url to send metrics, or "OTEL_EXPORTER_OTLP_METRICS_ENDPOINT" if set. The url is used as-is without any modification.</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">url_logs</span> <p>url to send logs, or "OTEL_EXPORTER_OTLP_LOGS_ENDPOINT" if set. The url is used as-is without any modification.</p></li></ul></div></div><div class="odoc-spec"><div class="spec module-type anchored" id="module-type-ENV"><a href="#module-type-ENV" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-ENV/index.html">ENV</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Construct, inspect, and update <a href="#type-t"><code>t</code></a> configurations, drawing defaults from the environment</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Env"><a href="#module-Env" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Env/index.html">Env</a></span><span> () : <a href="module-type-ENV/index.html">ENV</a></span></code></div><div class="spec-doc"><p>A generative functor that produces a state-space that can read configuration values from the environment, provide stateful configuration setting and accessing operations, and a way to make a new <a href="#type-t"><code>t</code></a> configuration record</p></div></div></details></div></div></body></html>
|