Skip to main content

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=true
  • ROTEL_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:4317
  • OTEL_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rotel-0.0.1a1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

rotel-0.0.1a1-py3-none-macosx_10_9_universal2.macosx_12_3_arm64.whl (3.5 MB view details)

Uploaded Python 3macOS 10.9+ universal2 (ARM64, x86-64)macOS 12.3+ ARM64

File details

Details for the file rotel-0.0.1a1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for rotel-0.0.1a1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7dc35ec8abfea0478b23bf7eff8ad979caa92935f5cee08137a64729d8371b6c
MD5 c2c8dc0cbc3193239286dbc8f1f68026
BLAKE2b-256 6115a458034b3359478e82d97c2ed07b57006b2fd3663a57fc00f829f320c1c9

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rotel-0.0.1a1-py3-none-macosx_10_9_universal2.macosx_12_3_arm64.whl.

File metadata

File hashes

Hashes for rotel-0.0.1a1-py3-none-macosx_10_9_universal2.macosx_12_3_arm64.whl
Algorithm Hash digest
SHA256 a8aaaf7def033a50d7c5f0c71392b1f465122db331ac9fd1076772429a3f653e
MD5 b4231c07d05aff81cb86647fa6603ba0
BLAKE2b-256 628d30ffd4939d5ad0a6bf83e6bfa1ab9c37e326d2b029fbfe8058c72179f063

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page