Skip to main content

OpenTelemetry custom distro to connect to SolarWinds

Project description

Python solarwinds-apm

Minimum Python Version Release License

An OpenTelemetry Python distribution for SolarWinds Observability. Provides automatic configuration, instrumentation, and APM data export for Python applications.


Requirements

All published artifacts support Python 3.9 or higher. A full list of system requirements is available at SolarWinds Observability System Requirements.

See CONTRIBUTING.md for how to build for development.

Getting Started

SolarWinds APM captures OpenTelemetry distributed traces and metrics from your application and sends them to SolarWinds Observability for analysis and visualization.

To install solarwinds-apm and all relevant Opentelemetry Python instrumentation libraries:

pip install solarwinds-apm "psutil>=5.0"
opentelemetry-bootstrap --action=install

solarwinds-apm already includes OpenTelemetry and therefore doesn't need to be installed separately. Python agent installation should be done after installation of all other service dependencies. This is so opentelemetry-bootstrap detects those packages and installs their corresponding instrumentation libraries. For example:

pip install -r requirements.txt           # installs all other dependencies
pip install solarwinds-apm "psutil>=5.0"
opentelemetry-bootstrap --action=install

Set the service key and ingestion endpoint. An easy way to do this is via environment variables available to your application process. An example:

export SW_APM_SERVICE_KEY=<set-service-key-here>
export SW_APM_COLLECTOR=<set-collector-here>

Run your application with the prefix opentelemetry-instrument to wrap all common Python frameworks and start exporting OpenTelemetry traces and metrics:

opentelemetry-instrument <command_to_run_your_service>

You can also add custom span generation to your code by using the OpenTelemetry SDK. For example:

from opentelemetry import trace
tracer = trace.get_tracer(__name__)

with tracer.start_as_current_span("my_custom_span") as custom_span:
   custom_span.set_attribute("my_custom_attribute", "foo_value")
   print("Here is my custom OpenTelemetry span")

Documentation

OpenTelemetry Python documentation is available at the OpenTelemetry-Python API Reference.

Online documentation for SolarWinds APM Python features, configuration, and more is available at SolarWinds Observability.

Contributing

OpenTelemetry Python would not be possible without collaborations and efforts from many contributors. Our common goals as a community are to improve end user/developer experiences and empower them.

For more information about contributing to Python solarwinds-apm, see CONTRIBUTING.md. Thank you to everyone who has contributed:

Project details


Download files

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

Source Distribution

solarwinds_apm-6.1.1.tar.gz (70.9 kB view details)

Uploaded Source

Built Distribution

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

solarwinds_apm-6.1.1-py3-none-any.whl (80.1 kB view details)

Uploaded Python 3

File details

Details for the file solarwinds_apm-6.1.1.tar.gz.

File metadata

  • Download URL: solarwinds_apm-6.1.1.tar.gz
  • Upload date:
  • Size: 70.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for solarwinds_apm-6.1.1.tar.gz
Algorithm Hash digest
SHA256 749db9c09147eb8395e1f46a8037db4a2bf2ad3b8d6dca8536096fee4a2297fc
MD5 5f8f290cd8c82bb40a6d4e350ae07a32
BLAKE2b-256 bda5e9f19e6c5c573ceaa228b132381b26a98d1796963fac3739af98b75cd12d

See more details on using hashes here.

Provenance

The following attestation bundles were made for solarwinds_apm-6.1.1.tar.gz:

Publisher: build_publish_pypi_and_draft_release.yaml on solarwinds/apm-python

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

File details

Details for the file solarwinds_apm-6.1.1-py3-none-any.whl.

File metadata

  • Download URL: solarwinds_apm-6.1.1-py3-none-any.whl
  • Upload date:
  • Size: 80.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for solarwinds_apm-6.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 19cfec7d38a550a7dcfebdd3ed7e4bf1d99654fc06f7628d6c585fddc0d4050c
MD5 5d0c94a179c8c71a08e288635e5dadec
BLAKE2b-256 0b4c2f2363f2e0acf63ea2117d8d35198a88b5f0d8029c0e2c2ce67c93cb697a

See more details on using hashes here.

Provenance

The following attestation bundles were made for solarwinds_apm-6.1.1-py3-none-any.whl:

Publisher: build_publish_pypi_and_draft_release.yaml on solarwinds/apm-python

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