Skip to main content

OpenStack oslo.messaging instrumentation for OpenTelemetry

Project description

OpenTelemetry oslo.messaging Instrumentation

OpenStack oslo.messaging instrumentation for OpenTelemetry.

It patches two thin layers to produce end-to-end producer → consumer traces.

Producer — context injection. Transport._send and Transport._send_notification inject the current W3C trace context into the message's on-the-wire context dictionary:

  • This runs after the serializer, so it is serializer-agnostic — it works with any Serializer (including production's RequestContextSerializer, whose to_dict() would otherwise drop unknown keys).
  • It is a single chokepoint covering every send path: RPC calls, casts, fanout, replies, and notifications.
  • No producer span is created; the trace linkage rides on whatever span is already active in the caller (e.g. the WSGI request span).

Consumer — spans. The dispatchers open CONSUMER spans parented to the producer, extracting context from the incoming message:

  • RPCDispatcher.dispatch → a CONSUMER span oslo.messaging.rpc.process
  • NotificationDispatcher.dispatch → a CONSUMER span oslo.messaging.notification.process

The span is scoped to the dispatch call, so the remote context is never attached beyond message handling. Message payloads are never recorded as span attributes. The batch notification dispatcher is not instrumented.

Usage

from opentelemetry.instrumentation.oslo_messaging import (
    OsloMessagingInstrumentor,
)

OsloMessagingInstrumentor().instrument()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file opentelemetry_instrumentation_oslo_messaging-0.1.0.tar.gz.

File metadata

File hashes

Hashes for opentelemetry_instrumentation_oslo_messaging-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dec028658227aa89aeb3f042eb77ce25c79e4f872ac5531067faaba11a4e2842
MD5 d4cea9625d9a471e1157be59ace1e615
BLAKE2b-256 e5d16245773632d546ec6b396ac325952ac173d60aa5d2e50a44e08eabe2fcea

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentelemetry_instrumentation_oslo_messaging-0.1.0.tar.gz:

Publisher: publish-pypi.yml on daipham3213/opentelemetry-openstack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentelemetry_instrumentation_oslo_messaging-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for opentelemetry_instrumentation_oslo_messaging-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 126ffb45344c4bdbf4bbb77575ba4fde941ee498186bbfb970032027641d7541
MD5 fe9c00d6403588789d3e0c45df859e21
BLAKE2b-256 60ece54df9a48e57bb4a9de348576912d4b8e4920b60173db153d58d8453ea3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentelemetry_instrumentation_oslo_messaging-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on daipham3213/opentelemetry-openstack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page