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.10.1.tar.gz.

File metadata

File hashes

Hashes for opentelemetry_instrumentation_oslo_messaging-0.10.1.tar.gz
Algorithm Hash digest
SHA256 b820e42e89d96534df46412c9b799c51a7faa6eccbcb4d4baf11a44238356540
MD5 18ec24353a805e6b7247c4aa71a5a4e1
BLAKE2b-256 d73be994987b15d2fe51f6ec6b8e3454ce1c708b4c71ef8bc330e558e52f36a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentelemetry_instrumentation_oslo_messaging-0.10.1.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.10.1-py3-none-any.whl.

File metadata

File hashes

Hashes for opentelemetry_instrumentation_oslo_messaging-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b398a7f140c6388e8d3297e4fd4f09b68abe76d822264a48077424d8d5f77c69
MD5 bc9cb78520573123eeee36afc7d07229
BLAKE2b-256 9e7c6d728c945cea48d8bc444441d98f97e2bdb4f0a531adac721f53f5a145ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentelemetry_instrumentation_oslo_messaging-0.10.1-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