The multiplayer-opentelemetry module integrates OpenTelemetry with the Multiplayer platform to enable seamless trace collection and analysis. This library helps developers monitor, debug, and document application performance with detailed trace data. It supports flexible trace ID generation, sampling strategies.
To install the multiplayer-opentelemetry
module, use the following command:
pip install multiplayer-opentelemetry
from multiplayer.opentelemetry.exporter.http.trace_exporter import MultiplayerOTLPSpanExporter
from opentelemetry.sdk.trace.export import BatchSpanProcessor
processor = BatchSpanProcessor(MultiplayerOTLPSpanExporter(
url = '<opentelemetry-collector-url>', # url is optional and can be omitted - default is https://api.multiplayer.app/v1/traces
apiKey = "<multiplayer-otel-key>"
))
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
from multiplayer.opentelemetry.exporter.http.log_exporter import MultiplayerOTLPLogExporter
logProcessor = BatchLogRecordProcessor(MultiplayerOTLPLogExporter(
url = "<opentelemetry-collector-url>", # url is optional and can be omitted - default is https://api.multiplayer.app/v1/logs
apiKey = "<multiplayer-otel-key>"
))
from multiplayer.opentelemetry.exporter.grpc.trace_exporter import MultiplayerOTLPSpanExporter
from opentelemetry.sdk.trace.export import BatchSpanProcessor
processor = BatchSpanProcessor(MultiplayerOTLPSpanExporter(
url = '<opentelemetry-collector-url>', # url is optional and can be omitted - default is https://api.multiplayer.app/v1/traces
apiKey = "<multiplayer-otel-key>"
))
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
from multiplayer.opentelemetry.exporter.grpc.log_exporter import MultiplayerOTLPLogExporter
logProcessor = BatchLogRecordProcessor(MultiplayerOTLPLogExporter(
url = "<opentelemetry-collector-url>", # url is optional and can be omitted - default is https://api.multiplayer.app/v1/logs
apiKey = "<multiplayer-otel-key>"
))
from multiplayer.opentelemetry.trace.sampler import MultiplayerTraceIdRatioBasedSampler
sampler = MultiplayerTraceIdRatioBasedSampler(rate = 1/2)
from multiplayer.opentelemetry.trace.id_generator import MultiplayerRandomIdGenerator
id_generator = MultiplayerRandomIdGenerator(autoDocTracesRatio = 1/1000)