zerodds-observability-otlp 1.0.0-rc.1

OTLP/HTTP/JSON-Exporter fuer ZeroDDS-Telemetrie (zerodds-observability-otlp-1.0): /v1/traces + /v1/metrics + /v1/logs ohne prost/tonic/hyper.
Documentation
  • Coverage
  • 100%
    22 out of 22 items documented0 out of 8 items with examples
  • Size
  • Source code size: 30.07 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 525.11 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 8s Average build duration of successful builds.
  • all releases: 8s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • zero-objects/zero-dds
    2 1 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • SandraK82

zerodds-observability-otlp

License: Apache-2.0 docs.rs

OTLP/HTTP/JSON-Exporter fuer ZeroDDS — buffered Span/Histogram/Event-Push an einen OpenTelemetry-Collector ohne prost/tonic/hyper-Dep. Safety classification: STANDARD.

Spec-Mapping

Spec Abschnitt
ZeroDDS-Observability-OTLP 1.0 §1 (Architektur), §2.1-§2.3 (Endpoints), §3 (Konfiguration), §4 (Lifecycle), §5 (Bridge zu monitor::Registry)
OpenTelemetry Protocol 1.4 OTLP/HTTP/JSON Encoding

Was ist drin

  • OtlpExporter — Buffered Span/Histogram/Event-Sammler mit flush()-getriggertem Batch-POST.
  • OtlpConfig — Host/Port/Service-Name/Service-Version/Timeout (Defaults: 127.0.0.1:4318).
  • Drei Endpoints: /v1/traces, /v1/metrics, /v1/logs als JSON.
  • ExportError — Io / HttpStatus / Poisoned.

Schichten-Position

Layer 4 — Core Services. Companion zu zerodds-monitor (Prometheus-Pfad).

Quickstart

use zerodds_observability_otlp::{OtlpConfig, OtlpExporter};
use zerodds_foundation::tracing::{Histogram, Span, SpanKind, SpanStatus, SpanContext, TraceId, SpanId};

let exp = OtlpExporter::new(OtlpConfig::default());

// Hot-Path: Spans/Histogramme akkumulieren
let span = Span {
    context: SpanContext::new_root(TraceId([1; 16]), SpanId([2; 8])),
    name: "dds.publish".into(),
    kind: SpanKind::Client,
    start_unix_ns: 0,
    end_unix_ns: 1_000,
    status: SpanStatus::Ok,
    status_description: None,
    attributes: vec![],
};
exp.add_span(span);
exp.add_histogram(Histogram::new("dds.write.latency"));

// Periodisch (z.B. alle 5s)
let _ = exp.flush();

Stabilitaet

1.0.0-rc.1. Wire-Format an OTel-Spec v1.4 angelehnt — Aenderung durch upstream-OTel ist Major-Bump.

Tests

cargo test -p zerodds-observability-otlp

Lizenz

Apache-2.0.

Siehe auch