Multiplayer Session Recorder
Project description
Session Recorder python
============================================================================
Introduction
The multiplayer-session-recorder 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.
Installation
To install the multiplayer-session-recorder module, use the following command:
pip install multiplayer-session-recorder
Session Recorder Initialization
from multiplayer.session_recorder import session_recorder
session_recorder.init({
apiKey: "{YOUR_API_KEY}",
traceIdGenerator: idGenerator,
resourceAttributes: {
serviceName: "{YOUR_APPLICATION_NAME}",
version: "{YOUR_APPLICATION_VERSION}",
environment: "{YOUR_APPLICATION_ENVIRONMENT}",
}
})
Example Usage
from multiplayer.session_recorder import session_recorder, SessionType
// Session recorder trace id generator which is used during opentelemetry initialization
from .opentelemetry import id_generator
session_recorder.init({
apiKey: "{YOUR_API_KEY}",
traceIdGenerator: id_generator,
resourceAttributes: {
serviceName: "{YOUR_APPLICATION_NAME}",
version: "{YOUR_APPLICATION_VERSION}",
environment: "{YOUR_APPLICATION_ENVIRONMENT}",
}
})
# ...
session_recorder.start(
SessionType.PLAIN,
{
name: "This is test session",
sessionAttributes: {
accountId: "687e2c0d3ec8ef6053e9dc97",
accountName: "Acme Corporation"
}
}
)
# do something here
session_recorder.stop()
Session Recorder trace Id generator
from multiplayer.session_recorder import SessionRecorderTraceIdRatioBasedSampler
sampler = SessionRecorderTraceIdRatioBasedSampler(rate = 1/2)
Session Recorder trace id ratio based sampler
from multiplayer.session_recorder import SessionRecorderRandomIdGenerator
id_generator = SessionRecorderRandomIdGenerator(autoDocTracesRatio = 1/1000)
Django http payload recorder middleware
from multiplayer.session_recorder import DjangoOtelHttpPayloadRecorderMiddleware
DjangoOtelHttpPayloadRecorderMiddleware({
"captureBody": True,
"captureHeaders": True,
"maxPayloadSizeBytes": 10000,
"isMaskBodyEnabled": True,
"maskBodyFieldsList": ["password", "token"],
"isMaskHeadersEnabled": True,
"maskHeadersList": ["authorization"],
})
Flask http payload recorder middleware
from flask import Flask
from multiplayer.session_recorder import FlaskOtelHttpPayloadRecorderMiddleware
app = Flask(__name__)
# Add middleware BEFORE request handlers run
@app.before_request
def before_request():
FlaskOtelHttpPayloadRecorderMiddleware.capture_request_body(
maxPayloadSizeBytes=10000,
captureBody=True,
captureHeaders=True,
isMaskBodyEnabled=True,
maskBodyFieldsList=["password", "secret"],
isMaskHeadersEnabled=True,
maskHeadersList=["authorization"],
)
# Add middleware AFTER request finishes
@app.after_request
def after_request(response):
FlaskOtelHttpPayloadRecorderMiddleware.capture_response_body(
response,
maxPayloadSizeBytes=10000,
captureBody=True,
captureHeaders=True,
isMaskBodyEnabled=True,
maskBodyFieldsList=["token"],
isMaskHeadersEnabled=True,
maskHeadersList=["set-cookie"],
)
return response
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_session_recorder-0.1.0.tar.gz.
File metadata
- Download URL: multiplayer_session_recorder-0.1.0.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42f5f62a430fb5baf630dd877e65943c1ad547e25a0f2260610aaaedcb2f291b
|
|
| MD5 |
6a75e380f2b1352c0b5cb7d19f0363ce
|
|
| BLAKE2b-256 |
585f6655da0ffe82252e64cb52a103fb2d8205a0fc15fb2e5877e3805c6aceed
|
File details
Details for the file multiplayer_session_recorder-0.1.0-py3-none-any.whl.
File metadata
- Download URL: multiplayer_session_recorder-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.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 |
08bb9a8639db7d626b9cc16f5b0b7aa5a1bb6d4dfb061231db000507c999127e
|
|
| MD5 |
c815c3d5916b573f2a65bea9452a7b03
|
|
| BLAKE2b-256 |
b06c1d8d1d8bc0d633c7ca25a0514a27dc0e5163ebc68c74ac6b26d50e13c268
|