This commit is contained in:
c-cube 2025-05-27 14:07:49 +00:00
parent 80f6a2a262
commit 1f25574438
10 changed files with 69 additions and 21 deletions

View file

@ -1,9 +1,21 @@
# 0.10 (wip)
# 0.10
- breaking: manual spans now take a `explicit_span_ctx` as parent, that
can potentially be transmitted across processes/machines. It also
is intended to be more compatible with OTEL.
- depopt on unix for TEF timestamps
- breaking `trace.subscriber`: timestamps are `int64`ns now, not floats
- breaking `trace`: pass a `string` trace_id in manual spans, which helps
for backends such as opentelemetry. It's also useful for extensions.
- refactor `trace-fuchsia`: full revamp of the library, modularized, using subscriber API
- refactor `trace-tef`: split into exporter,writer,subscriber, using subscriber API
- feat: add `trace.event`, useful for background threads
- feat `trace.subscriber`: add `Span_tbl`, and a depopt on picos_aux
- feat `trace.subscriber`: tee a whole array at once
- feat tef-tldrs: use EMIT_TEF_AT_EXIT
- feat `trace.subscriber`: depopt on unix for timestamps
- refactor `trace-tef`: depopt on unix for TEF timestamps
# 0.9.1

View file

@ -1,9 +1,21 @@
# 0.10 (wip)
# 0.10
- breaking: manual spans now take a `explicit_span_ctx` as parent, that
can potentially be transmitted across processes/machines. It also
is intended to be more compatible with OTEL.
- depopt on unix for TEF timestamps
- breaking `trace.subscriber`: timestamps are `int64`ns now, not floats
- breaking `trace`: pass a `string` trace_id in manual spans, which helps
for backends such as opentelemetry. It's also useful for extensions.
- refactor `trace-fuchsia`: full revamp of the library, modularized, using subscriber API
- refactor `trace-tef`: split into exporter,writer,subscriber, using subscriber API
- feat: add `trace.event`, useful for background threads
- feat `trace.subscriber`: add `Span_tbl`, and a depopt on picos_aux
- feat `trace.subscriber`: tee a whole array at once
- feat tef-tldrs: use EMIT_TEF_AT_EXIT
- feat `trace.subscriber`: depopt on unix for timestamps
- refactor `trace-tef`: depopt on unix for TEF timestamps
# 0.9.1

View file

@ -1,9 +1,21 @@
# 0.10 (wip)
# 0.10
- breaking: manual spans now take a `explicit_span_ctx` as parent, that
can potentially be transmitted across processes/machines. It also
is intended to be more compatible with OTEL.
- depopt on unix for TEF timestamps
- breaking `trace.subscriber`: timestamps are `int64`ns now, not floats
- breaking `trace`: pass a `string` trace_id in manual spans, which helps
for backends such as opentelemetry. It's also useful for extensions.
- refactor `trace-fuchsia`: full revamp of the library, modularized, using subscriber API
- refactor `trace-tef`: split into exporter,writer,subscriber, using subscriber API
- feat: add `trace.event`, useful for background threads
- feat `trace.subscriber`: add `Span_tbl`, and a depopt on picos_aux
- feat `trace.subscriber`: tee a whole array at once
- feat tef-tldrs: use EMIT_TEF_AT_EXIT
- feat `trace.subscriber`: depopt on unix for timestamps
- refactor `trace-tef`: depopt on unix for TEF timestamps
# 0.9.1

File diff suppressed because one or more lines are too long

View file

@ -41,7 +41,7 @@
<span>| `None</span> ]</span>)</span>
list</span> <span class="arrow">&#45;&gt;</span></span>
<span>string <span class="arrow">&#45;&gt;</span></span>
<span class="xref-unresolved">Trace_core__.Types.explicit_span</span></span></code></div><div class="spec-doc"><p>Enter an explicit span. Surrounding scope, if any, is provided by <code>parent</code>, and this function can store as much metadata as it wants in the hmap in the <a href="../../index.html#type-explicit_span"><code>explicit_span</code></a>'s <code>meta</code> field.</p><p><b>NOTE</b> the <code>parent</code> argument is now an <a href="../../index.html#type-explicit_span_ctx"><code>explicit_span_ctx</code></a> and not an <a href="../../index.html#type-explicit_span"><code>explicit_span</code></a> since NEXT_RELEASE.</p><p>This means that the collector doesn't need to implement contextual storage mapping <a href="../../index.html#type-explicit_span.span"><code>span</code></a> to scopes, metadata, etc. on its side; everything can be transmitted in the <a href="../../index.html#type-explicit_span"><code>explicit_span</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-exit_manual_span"><a href="#val-exit_manual_span" class="anchor"></a><code><span><span class="keyword">val</span> exit_manual_span : <span><span class="xref-unresolved">Trace_core__.Types.explicit_span</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Exit an explicit span.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_data_to_span"><a href="#val-add_data_to_span" class="anchor"></a><code><span><span class="keyword">val</span> add_data_to_span :
<span class="xref-unresolved">Trace_core__.Types.explicit_span</span></span></code></div><div class="spec-doc"><p>Enter an explicit span. Surrounding scope, if any, is provided by <code>parent</code>, and this function can store as much metadata as it wants in the hmap in the <a href="../../index.html#type-explicit_span"><code>explicit_span</code></a>'s <code>meta</code> field.</p><p><b>NOTE</b> the <code>parent</code> argument is now an <a href="../../index.html#type-explicit_span_ctx"><code>explicit_span_ctx</code></a> and not an <a href="../../index.html#type-explicit_span"><code>explicit_span</code></a> since 0.10.</p><p>This means that the collector doesn't need to implement contextual storage mapping <a href="../../index.html#type-explicit_span.span"><code>span</code></a> to scopes, metadata, etc. on its side; everything can be transmitted in the <a href="../../index.html#type-explicit_span"><code>explicit_span</code></a>.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-exit_manual_span"><a href="#val-exit_manual_span" class="anchor"></a><code><span><span class="keyword">val</span> exit_manual_span : <span><span class="xref-unresolved">Trace_core__.Types.explicit_span</span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p>Exit an explicit span.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.3</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add_data_to_span"><a href="#val-add_data_to_span" class="anchor"></a><code><span><span class="keyword">val</span> add_data_to_span :
<span>int64 <span class="arrow">&#45;&gt;</span></span>
<span><span><span>(string
* <span>[ <span>`Int of int</span>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,3 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Subscriber (trace.Trace_event.Subscriber)</title><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; <a href="../index.html">Trace_event</a> &#x00BB; Subscriber</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_event.Subscriber</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-event_consumer"><a href="#type-event_consumer" class="anchor"></a><code><span><span class="keyword">type</span> event_consumer</span><span> = </span><span>{</span></code><ol><li id="type-event_consumer.on_event" class="def record field anchored"><a href="#type-event_consumer.on_event" class="anchor"></a><code><span>on_event : <span><a href="../Event/index.html#type-t">Event.t</a> <span class="arrow">&#45;&gt;</span></span> unit;</span></code></li></ol><code><span>}</span></code></div><div class="spec-doc"><p>Callback for events</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Callbacks"><a href="#module-Callbacks" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Callbacks/index.html">Callbacks</a></span><span> :
<a href="../../Trace_subscriber/Callbacks/module-type-S/index.html">Trace_event.Event.Sub.Callbacks.S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../Trace_subscriber/Callbacks/module-type-S/index.html#type-st">st</a> = <a href="#type-event_consumer">event_consumer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-subscriber"><a href="#val-subscriber" class="anchor"></a><code><span><span class="keyword">val</span> subscriber : <span><a href="#type-event_consumer">event_consumer</a> <span class="arrow">&#45;&gt;</span></span> <a href="../../Trace_subscriber/index.html#type-t">Trace_event.Event.Sub.t</a></span></code></div></div></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Subscriber (trace.Trace_event.Subscriber)</title><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; <a href="../index.html">Trace_event</a> &#x00BB; Subscriber</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_event.Subscriber</span></code></h1><p>Subscriber that emits events</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-event_consumer"><a href="#type-event_consumer" class="anchor"></a><code><span><span class="keyword">type</span> event_consumer</span><span> = </span><span>{</span></code><ol><li id="type-event_consumer.on_event" class="def record field anchored"><a href="#type-event_consumer.on_event" class="anchor"></a><code><span>on_event : <span><a href="../Event/index.html#type-t">Event.t</a> <span class="arrow">&#45;&gt;</span></span> unit;</span></code></li></ol><code><span>}</span></code></div><div class="spec-doc"><p>Callback for events.</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Callbacks"><a href="#module-Callbacks" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Callbacks/index.html">Callbacks</a></span><span> :
<a href="../../Trace_subscriber/Callbacks/module-type-S/index.html">Trace_event.Event.Sub.Callbacks.S</a> <span class="keyword">with</span> <span><span class="keyword">type</span> <a href="../../Trace_subscriber/Callbacks/module-type-S/index.html#type-st">st</a> = <a href="#type-event_consumer">event_consumer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-subscriber"><a href="#val-subscriber" class="anchor"></a><code><span><span class="keyword">val</span> subscriber : <span><a href="#type-event_consumer">event_consumer</a> <span class="arrow">&#45;&gt;</span></span> <a href="../../Trace_subscriber/index.html#type-t">Trace_event.Event.Sub.t</a></span></code></div><div class="spec-doc"><p>A subscriber that turns calls into events that are passed to the <a href="#type-event_consumer"><code>event_consumer</code></a></p></div></div></div></body></html>

View file

@ -1,2 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_event (trace.Trace_event)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; Trace_event</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_event</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module anchored" id="module-Event"><a href="#module-Event" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Event/index.html">Event</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Subscriber"><a href="#module-Subscriber" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Subscriber/index.html">Subscriber</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div></div></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Trace_event (trace.Trace_event)</title><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.2"/><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">trace</a> &#x00BB; Trace_event</nav><header class="odoc-preamble"><h1>Module <code><span>Trace_event</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module anchored" id="module-Event"><a href="#module-Event" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Event/index.html">Event</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Events.</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Subscriber"><a href="#module-Subscriber" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Subscriber/index.html">Subscriber</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Subscriber that emits events</p></div></div></div></body></html>

View file

@ -1,9 +1,21 @@
# 0.10 (wip)
# 0.10
- breaking: manual spans now take a `explicit_span_ctx` as parent, that
can potentially be transmitted across processes/machines. It also
is intended to be more compatible with OTEL.
- depopt on unix for TEF timestamps
- breaking `trace.subscriber`: timestamps are `int64`ns now, not floats
- breaking `trace`: pass a `string` trace_id in manual spans, which helps
for backends such as opentelemetry. It's also useful for extensions.
- refactor `trace-fuchsia`: full revamp of the library, modularized, using subscriber API
- refactor `trace-tef`: split into exporter,writer,subscriber, using subscriber API
- feat: add `trace.event`, useful for background threads
- feat `trace.subscriber`: add `Span_tbl`, and a depopt on picos_aux
- feat `trace.subscriber`: tee a whole array at once
- feat tef-tldrs: use EMIT_TEF_AT_EXIT
- feat `trace.subscriber`: depopt on unix for timestamps
- refactor `trace-tef`: depopt on unix for TEF timestamps
# 0.9.1