Integrated high performance Open Telemetry collector
Project description
pyrotel
Python module for the Rotel integrated high performance Open Telemetry collector.
Usage
Add the rotel Python module to your project's dependencies and put the following file in your
project's root directory.
__rotel__.py:
from rotel import Rotel, OTLPExporter
rotel = Rotel(
exporter = OTLPExporter(
endpoint="{ROTEL_ENDPOINT}",
),
)
In your main.py, add the following to load the Rotel agent:
import rotel
rotel.start()
In your deployment configuration, add the following environment variables to configure Rotel:
ROTEL_ENABLED=trueROTEL_ENDPOINT=https://foo.example.com(match to your provider's API endpoint)
To configure the OpenTelemetry SDK, point the exporter configuration to the localhost Rotel agent. Adjust these depending on whether you are using the grpc or http exporter in your code.
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317OTEL_EXPORTER_OTLP_PROTOCOL=grpc
See the configuration documentation for more configuration options.
Development
Install the latest version of the hatch build tool. We'll use this to manage the environments, run tests and perform builds.
Managing Python versions
Hatch will default to the system's Python version.
If you want to install additional Python versions, you can use hatch to manage those.
The following will install Python 3.9:
hatch python install 3.9
Then you can run tests against version 3.9 with:
hatch run test.py39:pytest
Wheel builds
To build locally using an existing Rotel agent binary, run:
hatch run build:me ../path/to/agent/file
You can always download the latest rotel agent binary from Github. Make sure to create a Github Personal Access Token (PAT) that allows you to pull Github release artifacts. Set that as GITHUB_API_TOKEN for the commands below.
To build using the latest Github built binary:
GITHUB_API_TOKEN=1234 hatch run build:me
Finally, to build for all supported platforms:
GITHUB_API_TOKEN=1234 hatch run build:all
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 Distributions
Built Distributions
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 rotel-0.0.1a1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: rotel-0.0.1a1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 3.8 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dc35ec8abfea0478b23bf7eff8ad979caa92935f5cee08137a64729d8371b6c
|
|
| MD5 |
c2c8dc0cbc3193239286dbc8f1f68026
|
|
| BLAKE2b-256 |
6115a458034b3359478e82d97c2ed07b57006b2fd3663a57fc00f829f320c1c9
|
Provenance
The following attestation bundles were made for rotel-0.0.1a1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
build-release.yml on streamfold/pyrotel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rotel-0.0.1a1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
7dc35ec8abfea0478b23bf7eff8ad979caa92935f5cee08137a64729d8371b6c - Sigstore transparency entry: 174614852
- Sigstore integration time:
-
Permalink:
streamfold/pyrotel@f38d12ee29b335cf06faecd2332a300211abdc2b -
Branch / Tag:
refs/tags/v0.0.1a1 - Owner: https://github.com/streamfold
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-release.yml@f38d12ee29b335cf06faecd2332a300211abdc2b -
Trigger Event:
push
-
Statement type:
File details
Details for the file rotel-0.0.1a1-py3-none-macosx_10_9_universal2.macosx_12_3_arm64.whl.
File metadata
- Download URL: rotel-0.0.1a1-py3-none-macosx_10_9_universal2.macosx_12_3_arm64.whl
- Upload date:
- Size: 3.5 MB
- Tags: Python 3, macOS 10.9+ universal2 (ARM64, x86-64), macOS 12.3+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8aaaf7def033a50d7c5f0c71392b1f465122db331ac9fd1076772429a3f653e
|
|
| MD5 |
b4231c07d05aff81cb86647fa6603ba0
|
|
| BLAKE2b-256 |
628d30ffd4939d5ad0a6bf83e6bfa1ab9c37e326d2b029fbfe8058c72179f063
|
Provenance
The following attestation bundles were made for rotel-0.0.1a1-py3-none-macosx_10_9_universal2.macosx_12_3_arm64.whl:
Publisher:
build-release.yml on streamfold/pyrotel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rotel-0.0.1a1-py3-none-macosx_10_9_universal2.macosx_12_3_arm64.whl -
Subject digest:
a8aaaf7def033a50d7c5f0c71392b1f465122db331ac9fd1076772429a3f653e - Sigstore transparency entry: 174614855
- Sigstore integration time:
-
Permalink:
streamfold/pyrotel@f38d12ee29b335cf06faecd2332a300211abdc2b -
Branch / Tag:
refs/tags/v0.0.1a1 - Owner: https://github.com/streamfold
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-release.yml@f38d12ee29b335cf06faecd2332a300211abdc2b -
Trigger Event:
push
-
Statement type: