nexus-actors/observability-serialization

Nexus serialization observability — tracing decorator for message serializers.

Maintainers

Package info

github.com/nexus-actors/observability-serialization

pkg:composer/nexus-actors/observability-serialization

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0 2026-07-21 18:21 UTC

This package is auto-updated.

Last update: 2026-07-22 20:36:22 UTC


README

Tracing decorator for nexus-actors/serialization message serializers.

Part of the nexus-actors/nexus monorepo — read-only subtree split.

Installation

composer require nexus-actors/observability-serialization

Usage

Wrap any MessageSerializer with TracingMessageSerializer to get automatic spans, metrics, and optional failure logging:

use Monadial\Nexus\Observability\Serialization\TracingMessageSerializer;

$serializer = new TracingMessageSerializer(
    inner: new PhpNativeSerializer(),
    observability: $observability,
    logger: $logger,     // optional — PSR-3 LoggerInterface
);

What gets instrumented

Signal Name Unit Notes
Span serialization.serialize / serialization.deserialize SpanKind::Internal; attrs: nexus.message.type, nexus.serializer
Counter nexus.serialization.operations {operation} Incremented on success; attrs: op + type + serializer
Histogram nexus.serialization.bytes By Payload size; attr: op
Histogram nexus.serialization.duration ms Wall time per call; attr: op
Counter nexus.serialization.failures {operation} Incremented on error; same attrs

When observability->isEnabled() is false and no logger is wired, the call passes straight through to the inner serializer with zero telemetry overhead.