mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-09 12:23:32 -04:00
54 lines
11 KiB
HTML
54 lines
11 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace (opentelemetry-lwt.Opentelemetry_lwt.Trace)</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-lwt</a> » <a href="../index.html">Opentelemetry_lwt</a> » Trace</nav><header class="odoc-preamble"><h1>Module <code><span>Opentelemetry_lwt.Trace</span></code></h1></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> <span class="keyword">struct</span> <span class="keyword">include</span> <a href="../../../opentelemetry/Opentelemetry/Trace/index.html">Opentelemetry.Trace</a> <span class="keyword">end</span></span></code></summary><div class="odoc-spec"><div class="spec type anchored" id="type-span"><a href="#type-span" class="anchor"></a><code><span><span class="keyword">type</span> span</span><span> = <a href="../../../opentelemetry/Opentelemetry/Span/index.html#type-t">Opentelemetry.Span.t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-make_resource_spans"><a href="#val-make_resource_spans" class="anchor"></a><code><span><span class="keyword">val</span> make_resource_spans :
|
||
<span><span class="optlabel">?service_name</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?attrs</span>:
|
||
<span><span>(string
|
||
* <span>[< <span>`Bool of bool</span>
|
||
<span><span>| `Float</span> of float</span>
|
||
<span><span>| `Int</span> of int</span>
|
||
<span>| `None</span>
|
||
<span><span>| `String</span> of string</span> ]</span>)</span>
|
||
list</span> <span class="arrow">-></span></span>
|
||
<span><span><a href="../../../opentelemetry/Opentelemetry_proto/Trace/index.html#type-span">Opentelemetry.Proto.Trace.span</a> list</span> <span class="arrow">-></span></span>
|
||
<a href="../../../opentelemetry/Opentelemetry_proto/Trace/index.html#type-resource_spans">Opentelemetry.Proto.Trace.resource_spans</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-emit"><a href="#val-emit" class="anchor"></a><code><span><span class="keyword">val</span> emit :
|
||
<span><span class="optlabel">?service_name</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?attrs</span>:
|
||
<span><span>(string
|
||
* <span>[< <span>`Bool of bool</span>
|
||
<span><span>| `Float</span> of float</span>
|
||
<span><span>| `Int</span> of int</span>
|
||
<span>| `None</span>
|
||
<span><span>| `String</span> of string</span> ]</span>)</span>
|
||
list</span> <span class="arrow">-></span></span>
|
||
<span><span><a href="#type-span">span</a> list</span> <span class="arrow">-></span></span>
|
||
unit</span></code></div><div class="spec-doc"><p>Sync emitter.</p><p>This instructs the collector to forward the spans to some backend at a later point.</p><p><b>NOTE</b> be careful not to call this inside a Gc alarm, as it can cause deadlocks.</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-scope"><a href="#type-scope" class="anchor"></a><code><span><span class="keyword">type</span> scope</span><span> = <a href="../../../opentelemetry/Opentelemetry/Scope/index.html#type-t">Opentelemetry.Scope.t</a></span><span> = </span><span>{</span></code><ol><li id="type-scope.trace_id" class="def record field anchored"><a href="#type-scope.trace_id" class="anchor"></a><code><span>trace_id : <a href="../../../opentelemetry/Opentelemetry/Trace_id/index.html#type-t">Opentelemetry.Trace_id.t</a>;</span></code></li><li id="type-scope.span_id" class="def record field anchored"><a href="#type-scope.span_id" class="anchor"></a><code><span>span_id : <a href="../../../opentelemetry/Opentelemetry/Span_id/index.html#type-t">Opentelemetry.Span_id.t</a>;</span></code></li><li id="type-scope.items" class="def record field anchored"><a href="#type-scope.items" class="anchor"></a><code><span><span class="keyword">mutable</span> items : <a href="../../../opentelemetry/Opentelemetry/Scope/index.html#type-item_list">Opentelemetry.Scope.item_list</a>;</span></code></li></ol><code><span>}</span></code></div><div class="spec-doc"><ul class="at-tags"><li class="deprecated"><span class="at-tag">deprecated</span> use Scope.t</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_event"><a href="#val-add_event" class="anchor"></a><code><span><span class="keyword">val</span> add_event :
|
||
<span><a href="../../../opentelemetry/Opentelemetry/Scope/index.html#type-t">Opentelemetry.Scope.t</a> <span class="arrow">-></span></span>
|
||
<span><span>(<span>unit <span class="arrow">-></span></span> <a href="../../../opentelemetry/Opentelemetry/Event/index.html#type-t">Opentelemetry.Event.t</a>)</span> <span class="arrow">-></span></span>
|
||
unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_attrs"><a href="#val-add_attrs" class="anchor"></a><code><span><span class="keyword">val</span> add_attrs :
|
||
<span><a href="../../../opentelemetry/Opentelemetry/Scope/index.html#type-t">Opentelemetry.Scope.t</a> <span class="arrow">-></span></span>
|
||
<span><span>(<span>unit <span class="arrow">-></span></span> <span><a href="../../../opentelemetry/Opentelemetry/index.html#type-key_value">Opentelemetry.key_value</a> list</span>)</span> <span class="arrow">-></span></span>
|
||
unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-with_'"><a href="#val-with_'" class="anchor"></a><code><span><span class="keyword">val</span> with_' :
|
||
<span><span class="optlabel">?force_new_trace_id</span>:bool <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?trace_state</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?service_name</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?attrs</span>:<span><span>(string * <a href="../../../opentelemetry/Opentelemetry/index.html#type-value">Opentelemetry.value</a>)</span> list</span> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?kind</span>:<a href="../../../opentelemetry/Opentelemetry/Span/index.html#type-kind">Opentelemetry.Span.kind</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?trace_id</span>:<a href="../../../opentelemetry/Opentelemetry/Trace_id/index.html#type-t">Opentelemetry.Trace_id.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?parent</span>:<a href="../../../opentelemetry/Opentelemetry/Span/index.html#type-id">Opentelemetry.Span.id</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?scope</span>:<a href="../../../opentelemetry/Opentelemetry/Scope/index.html#type-t">Opentelemetry.Scope.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?links</span>:<span><a href="../../../opentelemetry/Opentelemetry/Span_link/index.html#type-t">Opentelemetry.Span_link.t</a> list</span> <span class="arrow">-></span></span>
|
||
<span>string <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="../../../opentelemetry/Opentelemetry/Scope/index.html#type-t">Opentelemetry.Scope.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span>
|
||
<span>(<span>unit <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> * <span>(<span><span><span>(unit, exn * <a href="../../../ocaml/Stdlib/Printexc/index.html#type-raw_backtrace">Stdlib.Printexc.raw_backtrace</a>)</span> <a href="../../../ocaml/Stdlib/index.html#type-result">result</a></span> <span class="arrow">-></span></span> unit)</span></span></code></div></div><p>Sync span guard.</p><p>Notably, this includes <em>implicit</em> scope-tracking: if called without a <code>~scope</code> argument (or <code>~parent</code>/<code>~trace_id</code>), it will check in the <code>Ambient_context</code> for a surrounding environment, and use that as the scope. Similarly, it uses <code>Scope.with_ambient_scope</code> to <em>set</em> a new scope in the ambient context, so that any logically-nested calls to <a href="#val-with_"><code>with_</code></a> will use this span as their parent.</p><p><b>NOTE</b> be careful not to call this inside a Gc alarm, as it can cause deadlocks.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">force_new_trace_id</span> <p>if true (default false), the span will not use a ambient scope, the <code>~scope</code> argument, nor <code>~trace_id</code>, but will instead always create fresh identifiers for this span</p></li></ul></details></div><div class="odoc-spec"><div class="spec value anchored" id="val-with_"><a href="#val-with_" class="anchor"></a><code><span><span class="keyword">val</span> with_ :
|
||
<span><span class="optlabel">?force_new_trace_id</span>:bool <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?trace_state</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?service_name</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?attrs</span>:<span><span>(string * <a href="../../../opentelemetry/Opentelemetry/index.html#type-value">Opentelemetry.value</a>)</span> list</span> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?kind</span>:<a href="../../../opentelemetry/Opentelemetry/Span/index.html#type-kind">Opentelemetry.Span.kind</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?trace_id</span>:<a href="../../../opentelemetry/Opentelemetry/Trace_id/index.html#type-t">Opentelemetry.Trace_id.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?parent</span>:<a href="../../../opentelemetry/Opentelemetry/Span/index.html#type-id">Opentelemetry.Span.id</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?scope</span>:<a href="../../../opentelemetry/Opentelemetry/Scope/index.html#type-t">Opentelemetry.Scope.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?links</span>:<span><a href="../../../opentelemetry/Opentelemetry/Span_link/index.html#type-t">Opentelemetry.Span_link.t</a> list</span> <span class="arrow">-></span></span>
|
||
<span>string <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="../../../opentelemetry/Opentelemetry/Scope/index.html#type-t">Opentelemetry.Scope.t</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="../../../lwt/Lwt/index.html#type-t">Lwt.t</a></span>)</span> <span class="arrow">-></span></span>
|
||
<span><span class="type-var">'a</span> <a href="../../../lwt/Lwt/index.html#type-t">Lwt.t</a></span></span></code></div><div class="spec-doc"><p>Sync span guard</p></div></div></div></body></html>
|