RCABench - A comprehensive root cause analysis benchmarking platform for microservices
Project description
RCABench SDK
A Python SDK for interacting with RCABench services.
Installation
From PyPI
pip install rcabench
From Source
# Clone the repository
git clone https://github.com/your-username/rcabench.git
cd rcabench/sdk/python
# Install the package
pip install -e .
Building the Package
To build the package for distribution:
# Install build dependencies
pip install build
# Build the package
python -m build
# This will create distribution files in the dist/ directory
Usage
from rcabench import RCABenchSDK
# Initialize the SDK
sdk = RCABenchSDK("http://localhost:8082")
# Get available algorithms
algorithms = sdk.algorithm.list()
print(algorithms)
# Submit an injection task
injection_payload = [{
"duration": 1,
"faultType": 5,
"injectNamespace": "ts",
"injectPod": "ts-preserve-service",
"spec": {"CPULoad": 1, "CPUWorker": 3},
"benchmark": "clickhouse",
}]
response = sdk.injection.execute(injection_payload)
print(response)
# Run an algorithm
algorithm_payload = [{
"benchmark": "clickhouse",
"algorithm": "e-diagnose",
"dataset": "dataset-name",
}]
response = sdk.algorithm.execute(algorithm_payload)
print(response)
API Reference
The SDK provides the following main components:
RCABenchSDK: The main entry point for the SDKalgorithm: For interacting with algorithm endpointsevaluation: For interacting with evaluation endpointsinjection: For interacting with injection endpoints
For detailed API documentation, please refer to the code docstrings.
Requirements
- Python 3.8 or higher
requestsandaiohttplibraries
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
rcabench-1.2.0.tar.gz
(98.1 kB
view details)
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
rcabench-1.2.0-py3-none-any.whl
(433.4 kB
view details)
File details
Details for the file rcabench-1.2.0.tar.gz.
File metadata
- Download URL: rcabench-1.2.0.tar.gz
- Upload date:
- Size: 98.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
469497c902cab46a226ac099d72e01502fa80acf738939dd71012855ef635d9a
|
|
| MD5 |
9eb8202c10c01d35a8a0c629d4817707
|
|
| BLAKE2b-256 |
a2efeb0eb6bd1790ee103a8566acc6f852050d9f71d4645ec74a252c170e5a61
|
File details
Details for the file rcabench-1.2.0-py3-none-any.whl.
File metadata
- Download URL: rcabench-1.2.0-py3-none-any.whl
- Upload date:
- Size: 433.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e715fef73ec9fdd539d48344517ba603e4731b1c86e005a2f63d6b4044138cf4
|
|
| MD5 |
29c60eac02e65a4e959c861d01761d4c
|
|
| BLAKE2b-256 |
a1628db3da2a1e0d07abcf54e32ec9812e4e850ef4dc753948dbbedfe7fca943
|