Skip to main content

OpenTelemetry custom distro to connect to SolarWinds

Project description

PyPI version PyPI - Python Version License

Python solarwinds-apm

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.8 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
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
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-3.3.1.tar.gz (29.3 MB view details)

Uploaded Source

Built Distributions

solarwinds_apm-3.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

solarwinds_apm-3.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

solarwinds_apm-3.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

solarwinds_apm-3.3.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

solarwinds_apm-3.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

solarwinds_apm-3.3.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

solarwinds_apm-3.3.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

solarwinds_apm-3.3.1-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

solarwinds_apm-3.3.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.27+ x86-64 manylinux: glibc 2.28+ x86-64

solarwinds_apm-3.3.1-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.27+ ARM64 manylinux: glibc 2.28+ ARM64

File details

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

File metadata

  • Download URL: solarwinds_apm-3.3.1.tar.gz
  • Upload date:
  • Size: 29.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for solarwinds_apm-3.3.1.tar.gz
Algorithm Hash digest
SHA256 faf25db224a57684fd4b961f30601609e638c75858e9cc0cf6e766dd336e7170
MD5 9d8936e8df4e540a17692e3e6677f25b
BLAKE2b-256 581985edc5e1c594519ea098de9ff85275a480ac4aff6907d1462d909419339c

See more details on using hashes here.

File details

Details for the file solarwinds_apm-3.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-3.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b84d925d3016ea9364f440b63d02b571db8d2c2a547f61c83b74bbb31d8009c2
MD5 7037364a1c43abe54e02ecc342d5f1e9
BLAKE2b-256 e01cd6ef6a154bb95a68453d4cbbe9ab8920c39a52fe2d91f151e4741f1c8ce1

See more details on using hashes here.

File details

Details for the file solarwinds_apm-3.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-3.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3e9c5b20f4be30dac6c96e5680f88350f7ae5499e1582114559f989795c5e316
MD5 253f8018d4dcfa0e4cf4186c5cbe4cf7
BLAKE2b-256 aedc69068b147eaf11b1a6b58174c706f22cf7576ea93d6e9f9769a945e7aa96

See more details on using hashes here.

File details

Details for the file solarwinds_apm-3.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-3.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 89260015f39b5a9f523d1b68cbd4faba4a01058bcf71e7bf43f79e34af37659a
MD5 006884a25f040c743017321694f991f7
BLAKE2b-256 a509ae98a02130c4db9b933a3b8e1277324ba72a0d2bf2f3767e85a48e3fb91c

See more details on using hashes here.

File details

Details for the file solarwinds_apm-3.3.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-3.3.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1f05294809e87f70b62b65a7cc967c6daf636082115d126d772829bf53cd2ece
MD5 6d38f99df923be4ee0eef8a89f443c44
BLAKE2b-256 ae6a8ec1c59204d9b854abc57b8b2179436d2a4ba1884b2694b4e38f2fd0f4f0

See more details on using hashes here.

File details

Details for the file solarwinds_apm-3.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-3.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cb88819f6aa145dfdca6b998d5e86e23ee2842e92eff974401e5fbc2d37667b8
MD5 e299602382f65ad6073f6da87550a3b0
BLAKE2b-256 d313f262f9a675fc66cc63a733a0582d18eb8c694697478c34c89581131577ab

See more details on using hashes here.

File details

Details for the file solarwinds_apm-3.3.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-3.3.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 13bbcb76c980536dcd68a2da197e71d59f5441be7358374830902f3e737d175e
MD5 1dea35206a354cc7fa5591f8073e78dd
BLAKE2b-256 638894d57df36f091d0e9961db3212f4b929cc252bb9611d84c6b3eef25a984a

See more details on using hashes here.

File details

Details for the file solarwinds_apm-3.3.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-3.3.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 49d5de43370441691ffcefe42573ff12fab68727eab6f0385e96bcc550e0185c
MD5 3a24619251184c060c2798635f39e32f
BLAKE2b-256 c13b110c89d22aa9b9e5ec76ebebad522ce3dfcb7178fa90d2a48d723be1e59e

See more details on using hashes here.

File details

Details for the file solarwinds_apm-3.3.1-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-3.3.1-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 15f6347787d8472f1a4a8171b5cd0977f650c5fd45b9b522fee5e804bef4245a
MD5 92527593545d6ad740874ad6d55a8d9c
BLAKE2b-256 b087c1f36c2eda08015a62a06e9d7db901c2c342a9bc6774a1cbe60f53307250

See more details on using hashes here.

File details

Details for the file solarwinds_apm-3.3.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-3.3.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bbc95cf8ad2be0b4c827234e8097235ca4214b6f310e2de628ba03afd1e5876a
MD5 ee75b629b87b2cc3bb6a10b83cf9ca19
BLAKE2b-256 e5192f13e3df39842344dbd23b01e2e62dc102c99ba24baea26b446849bf3026

See more details on using hashes here.

File details

Details for the file solarwinds_apm-3.3.1-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-3.3.1-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7773929537b49d7cb73a2d65c8ada3bd71378bc92b43be4250d52900be5fa815
MD5 043a5471aaffcacf50be81126300f37d
BLAKE2b-256 fccdf143240f1f5287738b7748dfca3157a15312f24e180e094ff73b33d34c87

See more details on using hashes here.

Supported by

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