Skip to main content

Module telemetry

Module telemetry 

Source
Expand description

Rust port of the Java Telemetry service (org.platformlambda.core.services.Telemetry) — the built-in distributed.tracing function, registered by the lifecycle’s essential-services phase (the Java EssentialServiceLoader).

When a traced function finishes, its route worker sends the performance-metrics dataset here: { trace: { id, span_id, parent_span_id, service, path, from, origin, start, exec_time, success, status, exception? }, annotations: {...} }. By default the dataset is logged (the real-time telemetry stream); two reserved extension routes forward it elsewhere:

  • distributed.trace.forwarder — register a function here (e.g. an OpenTelemetry OTLP exporter) and every dataset is forwarded to it;
  • transaction.journal.recorder — receives request/response journals when journaling is enabled (payloads may contain PII/PHI/PCI — handle per your organization’s security policy).

Reserved for system use — do not call this route from application code.

Structs§

Telemetry
The built-in telemetry sink. Holds a handle to its own platform so it can forward datasets to the optional extension routes.

Constants§

DISTRIBUTED_TRACE_FORWARDER
DISTRIBUTED_TRACING
TRANSACTION_JOURNAL_RECORDER
ZERO_TRACING_FILTER
Routes that must never appear as a traced service — the telemetry plumbing itself and the RPC reply listener (Java ZERO_TRACING_FILTER; exact names only, no prefix matching).