Multiplayer OpenTelemetry Python API
Project description
multiplayer-opentelemetry
Introduction
The multiplayer-otlp-go module integrates OpenTelemetry with the Multiplayer platform to enable seamless trace collection and analysis. This exporter helps developers monitor, debug, and document application performance with detailed trace data. It supports flexible trace ID generation, sampling strategies.
Installation
To install the multiplayer-opentelemetry module, use the following command:
pip install multiplayer-opentelemetry
Multiplayer Http Trace Exporter
from multiplayer.opentelemetry.exporter.http.trace_exporter import MultiplayerOTLPSpanExporter
from opentelemetry.sdk.resources import SERVICE_NAME, SERVICE_VERSION, DEPLOYMENT_ENVIRONMENT, Resource
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.sdk.trace import TracerProvider
resource = Resource(attributes={
SERVICE_NAME: "<service-name>",
SERVICE_VERSION: "<service-version>",
DEPLOYMENT_ENVIRONMENT: "<environement-name>"
})
traceProvider = TracerProvider(
resource = resource,
sampler = sampler,
id_generator = id_generator
)
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>"
)) # apiKey is optional
traceProvider.add_span_processor(processor)
Multiplayer Http Log Exporter
from opentelemetry.sdk.resources import SERVICE_NAME, SERVICE_VERSION, DEPLOYMENT_ENVIRONMENT, Resource
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
from opentelemetry._logs import set_logger_provider
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
from multiplayer.opentelemetry.exporter.http.log_exporter import MultiplayerOTLPLogExporter
resource = Resource(attributes={
SERVICE_NAME: "<service-name>",
SERVICE_VERSION: "<service-version>",
DEPLOYMENT_ENVIRONMENT: "<environement-name>"
})
traceProvider = TracerProvider(
resource = resource,
)
logger_provider = LoggerProvider(
resource = Resource.create(
{
"service.name": "<service-name>"
}
),
)
set_logger_provider(logger_provider)
exporter = MultiplayerOTLPLogExporter(
url: "<opentelemetry-collector-url>", # url is optional and can be omitted - default is https://api.multiplayer.app/v1/logs
apiKey = "<multiplayer-otel-key>"
)
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
handler = LoggingHandler(level=logging.NOTSET, logger_provider=logger_provider)
Multiplayer Grpc Trace Exporter
from multiplayer.opentelemetry.exporter.grpc.trace_exporter import MultiplayerOTLPSpanExporter
from opentelemetry.sdk.resources import SERVICE_NAME, SERVICE_VERSION, DEPLOYMENT_ENVIRONMENT, Resource
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.sdk.trace import TracerProvider
resource = Resource(attributes={
SERVICE_NAME: "<service-name>",
SERVICE_VERSION: "<service-version>",
DEPLOYMENT_ENVIRONMENT: "<environement-name>"
})
traceProvider = TracerProvider(
resource = resource,
sampler = sampler,
id_generator = id_generator
)
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>"
)) # apiKey is optional
traceProvider.add_span_processor(processor)
Multiplayer Grpc Log Exporter
from opentelemetry.sdk.resources import SERVICE_NAME, SERVICE_VERSION, DEPLOYMENT_ENVIRONMENT, Resource
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
from opentelemetry._logs import set_logger_provider
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
from multiplayer.opentelemetry.exporter.grpc.log_exporter import MultiplayerOTLPLogExporter
resource = Resource(attributes={
SERVICE_NAME: "<service-name>",
SERVICE_VERSION: "<service-version>",
DEPLOYMENT_ENVIRONMENT: "<environement-name>"
})
traceProvider = TracerProvider(
resource = resource,
)
logger_provider = LoggerProvider(
resource = Resource.create(
{
"service.name": "<service_name>"
}
),
)
set_logger_provider(logger_provider)
exporter = MultiplayerOTLPLogExporter(
url: "<opentelemetry-collector-url>", # url is optional and can be omitted - default is https://api.multiplayer.app/v1/logs
apiKey = "<multiplayer-otel-key>"
)
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
handler = LoggingHandler(level=logging.NOTSET, logger_provider=logger_provider)
Multiplayer trace Id generator
from multiplayer.opentelemetry.trace.sampler import MultiplayerTraceIdRatioBasedSampler
sampler = MultiplayerTraceIdRatioBasedSampler(rate = 1/2)
Multiplayer trace id ratio based sampler
from multiplayer.opentelemetry.trace.id_generator import MultiplayerRandomIdGenerator
id_generator = MultiplayerRandomIdGenerator(autoDocTracesRatio = 1/1000)
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file multiplayer_opentelemetry-0.0.6.tar.gz.
File metadata
- Download URL: multiplayer_opentelemetry-0.0.6.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38adaa159ba0b1611f05b06f49bc7cf8f9e06ac2fb047a05c9f467910786d2b7
|
|
| MD5 |
db42abd891d5f37cbefba1b44e78583c
|
|
| BLAKE2b-256 |
4ce7cf93477a1b4f5bb5dcd36a30bbb980c906b0843cb5fff3d81a18c407eb48
|
File details
Details for the file multiplayer_opentelemetry-0.0.6-py3-none-any.whl.
File metadata
- Download URL: multiplayer_opentelemetry-0.0.6-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
895d902c057a817add315ca8a5c2e89de412ca5e404d43dd3502103216529827
|
|
| MD5 |
2f82ac1ba3a229a6f864809fc45a6b84
|
|
| BLAKE2b-256 |
cb11e50432e08794e77d764ccb0829d40541875f10ec22f6ea470bf45fd1e7f0
|