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

File metadata

File hashes

Hashes for opentelemetry_instrumentation_oslo_messaging-0.4.0.tar.gz
Algorithm Hash digest
SHA256 ff1a653f8560336bb61198ea279d5a7cf6a3e15a17be743655ee308bdec94881
MD5 657448f31b443f3d0c5f1dcbf0d6560a
BLAKE2b-256 fbd18e6cb52ae3a7c3f92bfc57d25e8ed8e60683cb160042ad6f7a4c2c8483f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentelemetry_instrumentation_oslo_messaging-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ce147ad7e765824282b0b6139cba43400e562500d6feecd6c6e192e7aa1393d
MD5 9f39c3a2ecbe6d766c44beffbd0d4ad8
BLAKE2b-256 6223ad9645a52557a6bd0e9a82a1447216f187fceb4531677eb412d8fa37a6ad

See more details on using hashes here.

Provenance

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