mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-09 04:17:56 -04:00
48 lines
10 KiB
HTML
48 lines
10 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace (opentelemetry.Opentelemetry.Trace)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.4"/><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">opentelemetry</a> » <a href="../index.html">Opentelemetry</a> » Trace</nav><header class="odoc-preamble"><h1>Module <code><span>Opentelemetry.Trace</span></code></h1><p>Traces.</p><p>See <a href="https://opentelemetry.io/docs/reference/specification/overview/#tracing-signal">the spec</a></p></header><div class="odoc-content"><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="../Span/index.html#type-t">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_proto/Trace/index.html#type-span">Proto.Trace.span</a> list</span> <span class="arrow">-></span></span>
|
||
<a href="../../Opentelemetry_proto/Trace/index.html#type-resource_spans">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="../Scope/index.html#type-t">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="../Trace_id/index.html#type-t">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="../Span_id/index.html#type-t">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="../Scope/index.html#type-item_list">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="../Scope/index.html#type-t">Scope.t</a> <span class="arrow">-></span></span> <span><span>(<span>unit <span class="arrow">-></span></span> <a href="../Event/index.html#type-t">Event.t</a>)</span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><ul class="at-tags"><li class="deprecated"><span class="at-tag">deprecated</span> use Scope.add_event</li></ul></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="../Scope/index.html#type-t">Scope.t</a> <span class="arrow">-></span></span> <span><span>(<span>unit <span class="arrow">-></span></span> <span><a href="../index.html#type-key_value">key_value</a> list</span>)</span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><ul class="at-tags"><li class="deprecated"><span class="at-tag">deprecated</span> use Scope.add_attrs</li></ul></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="../index.html#type-value">value</a>)</span> list</span> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?kind</span>:<a href="../Span/index.html#type-kind">Span.kind</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?trace_id</span>:<a href="../Trace_id/index.html#type-t">Trace_id.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?parent</span>:<a href="../Span/index.html#type-id">Span.id</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?scope</span>:<a href="../Scope/index.html#type-t">Scope.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?links</span>:<span><a href="../Span_link/index.html#type-t">Span_link.t</a> list</span> <span class="arrow">-></span></span>
|
||
<span>string <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="../Scope/index.html#type-t">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 <a href="../Scope/index.html#val-with_ambient_scope"><code>Scope.with_ambient_scope</code></a> 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><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="../index.html#type-value">value</a>)</span> list</span> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?kind</span>:<a href="../Span/index.html#type-kind">Span.kind</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?trace_id</span>:<a href="../Trace_id/index.html#type-t">Trace_id.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?parent</span>:<a href="../Span/index.html#type-id">Span.id</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?scope</span>:<a href="../Scope/index.html#type-t">Scope.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?links</span>:<span><a href="../Span_link/index.html#type-t">Span_link.t</a> list</span> <span class="arrow">-></span></span>
|
||
<span>string <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="../Scope/index.html#type-t">Scope.t</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span>
|
||
<span class="type-var">'a</span></span></code></div></div></div></body></html>
|