Sovite.Core.Tracing (sovite v0.6.0)

Copy Markdown View Source

The OpenTelemetry traces of the MTA, sent with tracing.enabled to the OTLP/HTTP collector at tracing.endpoint (Sovite.Tracing).

Each SMTP session is a trace: an smtp.session server span, with a span for each command (smtp MAIL, smtp RCPT, ...) and the TLS handshake, and the events message accepted (with its queue_id and message_id) and message authenticated. Milter and policy server requests made during the session are spans in it too.

Each queued message is a trace of its own, with a delivery client span for each delivery attempt. Its trace ID is derived from the queue ID, so every attempt, hours or days apart, lands in the same trace; the queue_id attribute of message accepted links it to the session.

Summary

Functions

The Sovite.Tracing child spec for the [tracing] config section. name is the process name, hostname the host.name resource attribute.

Functions

child_spec(tracing, name, hostname)

@spec child_spec(map(), atom(), String.t()) :: Supervisor.child_spec()

The Sovite.Tracing child spec for the [tracing] config section. name is the process name, hostname the host.name resource attribute.