Registry /
observability / opentelemetry-instrumentation-remoulade
Install & Compatibility
Where this runs
tested against v0.65b0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 28.9MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 4.5s · import 0.000s · 30MB
28MB installed
● package 28MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
RemouladeInstrumentor
✓ from opentelemetry.instrumentation.remoulade import RemouladeInstrumentor
✗ from opentelemetry.instrumentation.remoulade import RemouladeInstrumentor
This quickstart demonstrates how to initialize the OpenTelemetry SDK with a console exporter and then apply the `RemouladeInstrumentor` to automatically trace Remoulade operations. It includes a simple Remoulade actor example to show tracing in action.
import os
from opentelemetry import trace
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessor
from opentelemetry.instrumentation.remoulade import RemouladeInstrumentor
# Assuming 'remoulade' and a broker like 'remoulade.brokers.rabbitmq' are installed
try:
from remoulade.brokers.rabbitmq import RabbitmqBroker
import remoulade
except ImportError:
print("Please install 'remoulade' and a broker, e.g., 'pip install remoulade remoulade-rabbitmq'")
exit()
# Configure OpenTelemetry Tracer
resource = Resource.create({"service.name": "remoulade-app"})
provider = TracerProvider(resource=resource)
processor = SimpleSpanProcessor(ConsoleSpanExporter())
provider.add_span_processor(processor)
trace.set_tracer_provider(provider)
# Instrument Remoulade
RemouladeInstrumentor().instrument()
# Remoulade application example
broker = RabbitmqBroker()
remoulade.set_broker(broker)
@remoulade.actor
def multiply(x, y):
print(f"Multiplying {x} * {y}")
return x * y
broker.declare_actor(multiply)
print("Sending Remoulade task...")
result = multiply.send(43, 51)
print(f"Task sent, check console for traces. Result (if synchronous): {result}")
# In a real async app, you'd typically wait for the result or use a consumer.
# For this quickstart, we just show the instrumentation setup and task dispatch.
Debug
Known issues
gotchaThis library, as part of the `opentelemetry-python-contrib` project, is currently in a beta development stage. While functional, it may introduce breaking changes in future releases before reaching a stable 1.0 version.fixMonitor the `opentelemetry-python-contrib` changelog for updates. Pin your dependency versions to mitigate unexpected changes.
affects: 0.x.x (all beta versions)
gotchaThe `RemouladeInstrumentor` must be explicitly called with `.instrument()` to enable tracing. Automatic instrumentation via `opentelemetry-bootstrap` or environment variables may not always cover all specific use cases or might require specific configurations.fixEnsure `RemouladeInstrumentor().instrument()` is called early in your application's lifecycle, preferably before any Remoulade operations are performed.
affects: All versions
gotchaThis instrumentation requires the `remoulade` library to be installed in your environment. It is a peer dependency and not automatically installed with `opentelemetry-instrumentation-remoulade`.fixInstall `remoulade` alongside this instrumentation (e.g., `pip install remoulade opentelemetry-instrumentation-remoulade`).
affects: All versions
Upgrade
Version history
0.65b0latest on PyPI · released Jul 16, 2026
Audit
Dependencies
remouladerequiredThe library instruments 'remoulade' and requires it to be present in the environment to function. This is a peer dependency.
opentelemetry-apirequiredCore OpenTelemetry API required by all instrumentations.
opentelemetry-sdkrequiredCore OpenTelemetry SDK for span and tracer management (often implicitly installed with exporters).