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

Uploaded Source

Built Distributions

solarwinds_apm-3.3.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0-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.0.tar.gz.

File metadata

  • Download URL: solarwinds_apm-3.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 3b8d05595a8c2ada1947b1b6196f6c5804d3491ca11b4043acf29f93425d90b6
MD5 c8d91992841e0afecccbd0eab7e4a2f9
BLAKE2b-256 d502cfa719ded03b5537ce73c4c6c94227c73bb61f173ff89c7d76a7860af2f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-3.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b5e7f698dc1e31cf34817ac3864f80de8eee9fbecc03e8f7ebe4df8fce7cff8c
MD5 415a5ab59cd163ad1e6136bb798befcd
BLAKE2b-256 c5876961711b589f91315e2ea98889956b111bc6ed61543cb2da91b80a17f749

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-3.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3e05d7fbce49fb511a2c8bb54c32aa42696e291661d35a7882ff61c34fad2e6f
MD5 be9cf1db4775a153a7980605e730704f
BLAKE2b-256 d73af44b9d5b5f8f6bca65de2ded0a56d572770dcb78b149d334d4436ebd5f04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-3.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 62d89dfb68ab0dd5284201d42d912fcbc1cabc76d67fa76d0cab66cf2181afdd
MD5 92362fdbfd430ed938541e5d86cd7a19
BLAKE2b-256 cbd114be4f76349f0d92c65a5a620177d4d0c11be5b37b303690b1c86003d96f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-3.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 12740ade6e8a9ddbe3ed2b1fbf787d0a5e3d66a418174f67acae62062a5de46b
MD5 85a7e5a9181b5695b5c5864d7da8499b
BLAKE2b-256 7438e36793e35db39230eabe0d2c1cce0d8f9222872abd57668e99aeb15e7c82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-3.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9235fccb4c241c4a1d6946bb618d92115289b5274a6d0aeaa29204f3656f10c0
MD5 5edf42aefcf12db17f36fd4d21b0df19
BLAKE2b-256 854076fa0a985376b3133865988cdc658cffca7fcf237ef0c722686150fd660d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-3.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 beba1e7862c299cff64e9ae1a1fd3026e36a0db6a8bca2421934dc53f03be946
MD5 ce68763526fc02b5133f066f968d53fb
BLAKE2b-256 b21e1ccef4708b25e83c85f4b4cd207b2de7c822994e4f20e091aa40bf1122ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-3.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5826894dd890ac7523628357fc4ae7062952797a16f8bd02b40bd1fd96ab896e
MD5 c9ec24ac77aae817c0b634a0abe9fdb4
BLAKE2b-256 9257d8390aa5649c8099d985a03247abbe608d909efb6075137e6972a645fd57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-3.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 826b51211a14844ea2d03d45f80c0259100897540ec69451792cbbe70ad9589e
MD5 8a9fcf6346bc6f663b77e2d2d6c801bb
BLAKE2b-256 8efb1724122e35fb513444004b02b1fde51acdef741c01c4acfc4670160cf238

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-3.3.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2af4b27b4814c494d1421def6b876301586f50132a82ca081465e31bec913b93
MD5 b0e3c2b052c6e834a4aa8bb86530a2f8
BLAKE2b-256 fd0a620b5d515456737f63ec0c5c01035408bae2a51262f7c6c11c74c64a05c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-3.3.0-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7f603dfaa5c125adf5984bbaa4ba6fe078a4c77b49ba8270af3a39723d4667b2
MD5 34170a9f925fdc871f92bc6e3fdcb292
BLAKE2b-256 388997a1ec0b80d3db5e8edfe12f957094e4ecf0a19be3eddcb474fc393fe617

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