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

Uploaded Source

Built Distributions

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

solarwinds_apm-1.5.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded PyPymanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

solarwinds_apm-1.5.0-pp310-pypy310_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

Uploaded PyPymanylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

solarwinds_apm-1.5.0-pp39-pypy39_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded PyPymanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

solarwinds_apm-1.5.0-pp39-pypy39_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

Uploaded PyPymanylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

solarwinds_apm-1.5.0-pp38-pypy38_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded PyPymanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

solarwinds_apm-1.5.0-pp38-pypy38_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

Uploaded PyPymanylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

solarwinds_apm-1.5.0-pp37-pypy37_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded PyPymanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

solarwinds_apm-1.5.0-pp37-pypy37_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

Uploaded PyPymanylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

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

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

solarwinds_apm-1.5.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

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

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

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

solarwinds_apm-1.5.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

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

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

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

solarwinds_apm-1.5.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

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

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

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

solarwinds_apm-1.5.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

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

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

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

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

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

solarwinds_apm-1.5.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

solarwinds_apm-1.5.0-cp37-cp37m-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

File details

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

File metadata

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

File hashes

Hashes for solarwinds_apm-1.5.0.tar.gz
Algorithm Hash digest
SHA256 57b3413b011471074f1802ae98f863ec909e2e7de3cbd132753649b18d49dc2b
MD5 67bea538e974e752f0e1d827162d2e17
BLAKE2b-256 82764aecdf62668f082b4347320313b0b91deb0ad1153cde38c1024fa1d079ff

See more details on using hashes here.

File details

Details for the file solarwinds_apm-1.5.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 945ea95b7bbe6beebf4207e590b2c743d67de3c3bcac199417080c1556edd6cc
MD5 2a239c04d9cadc0b0d8affac4a07759d
BLAKE2b-256 9a3734141a11fc57a100e8284ad3ebe625c82e804d77d29188c00f41fd7718c9

See more details on using hashes here.

File details

Details for the file solarwinds_apm-1.5.0-pp310-pypy310_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-pp310-pypy310_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d3617dcf122a5b73bcf1ceb4c26f2461963ff691409a10dbda8380fa76c36bd0
MD5 4d1979cbe3ec50f5cf0f47c813e58aac
BLAKE2b-256 8702e7e44c71429ee81b15db0455adfc44171efb5a14ef724886ac996bfeb2e1

See more details on using hashes here.

File details

Details for the file solarwinds_apm-1.5.0-pp39-pypy39_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-pp39-pypy39_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9dd5a40833104b5ef9abaa0deff1de9c3a2cc33e9359f5d5adabe2aa526c5fa9
MD5 35513cb57292cf44e41a580ee298243f
BLAKE2b-256 c44a51b29344b487fae760ef5cb952eacb17e49bf9df7d52554fb1e10dafa988

See more details on using hashes here.

File details

Details for the file solarwinds_apm-1.5.0-pp39-pypy39_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-pp39-pypy39_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 557712b03f2a703bd3721d4d0f84851b7f59efe74e3419ddbc375002a24537be
MD5 ac45f9aee8867aac37624ff16b76c79c
BLAKE2b-256 2876ebb59afe656d3801fa146608cbe5d314babce99b953927df6bd4efe43717

See more details on using hashes here.

File details

Details for the file solarwinds_apm-1.5.0-pp38-pypy38_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-pp38-pypy38_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 574c0ae731b1b55f790cc24263143f81ea223d32352e988152887cce068658e2
MD5 4f84e902b9e6f449a62e94e83fdf807e
BLAKE2b-256 c5dacd236e48418ec597590c2da2827df613dd1c34f63b22fc1d1d408f335e74

See more details on using hashes here.

File details

Details for the file solarwinds_apm-1.5.0-pp38-pypy38_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-pp38-pypy38_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7378a0203f36b1d29ec91b61b055b421100a4c550bd15768c6929e101e4684db
MD5 24a57b1bfc593bc0a5a7988f23fe41b8
BLAKE2b-256 1512916fc41629dae6648a94f46d26f790cae74d261bd0829fc3da3123e55c06

See more details on using hashes here.

File details

Details for the file solarwinds_apm-1.5.0-pp37-pypy37_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-pp37-pypy37_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d350662d4c0116653d2dd743e4067c92b223d015cfac6127ab69bccdb285189e
MD5 e2cf8cd91f6b1aaed7297db61e9a9de7
BLAKE2b-256 7b2c1ca8003f0e2557b56b259826f0429b2c395ffe6e416abb2d0b33c27a4755

See more details on using hashes here.

File details

Details for the file solarwinds_apm-1.5.0-pp37-pypy37_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-pp37-pypy37_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bd624c8e4a0c00b31eedd65827a791ec218caaa3a7b85990c9387fa939307c5c
MD5 8114da6748b7ef721617de7ff9ba75e3
BLAKE2b-256 838b404552fc93282956b22ab0ec44a935c695f02fca87ceead0942e69a9ce4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 74152ece56f00c36de4e362a9e47b20b15cd88b5d06675a9fcfa753585b4dd22
MD5 d829b3245fe41a2da0c98910e5114295
BLAKE2b-256 9d9c06c69ab291904b36ce602a3e548b4480a1b579885f69085d3f563a9976b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c58df58d80cb1246ba977322aacc4cbe6a7cb85468fdecc9501b4249d8d08832
MD5 210cd3fb39efb48e9c8a16ddfc050584
BLAKE2b-256 007708487aad2d5e3dc4db3e4e9d6df1e3daed0857ed8b07c3b30c064eb8848d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 31e1c975e6242ae7014c00e15d01cf0ded0aa3a692bb1c2b56a0addf238eb496
MD5 ab69ef2c1cbc8da9b87dd03dd4abc8f3
BLAKE2b-256 5ca1625306fa1d52a21afe94ed3022c4e08afb437d6f26fc437fe82dcbf6264a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0bf48c8bf3825a71d5171a2fab10b84c975c9750f3c5b4ab149a98918c9d4e8b
MD5 f7de1d00d679258d8eccefa99d0fbbe7
BLAKE2b-256 cd344b66caa5fb5e64fb84ea9b7f669b9f54f5f7b62fb5249094c9afcb34ce8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 88ec112592478b36b6e1ece5324278fbf635d150c2dabbf384fd8a67d77f2ff8
MD5 2f9e6f8ebc73d78ce9836f094de3fd3e
BLAKE2b-256 dbebe4e6e56b2d10dd3a5aced6a9555a648b9c3870adc6c5fd9dacc6bc941c74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b4b38d7f5abe570c58cdd31ade8365a60646854ef2b2b0ad24cb9857e7f31306
MD5 1a4933d1702326bd069c32d3af9e2ef6
BLAKE2b-256 d6ef714ebc4eeaac08a255c3f980ea92f6197426a4afcc84392574a58b0db379

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36675ff2d65250a41c3ab6f783569cd00670d3c1d3f53208be6f80fb55c3ef01
MD5 a4b64a58053aa15804c1a9ade5768a3c
BLAKE2b-256 2969f1d2eee7cec8728ccf7c4a27ed9efcb82288d17dc77c99eea7e7452edb28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3cb54e213f8fa7031400f9d95f62327ac87c9ba263e5cfc07cfb3d2eb7031cbd
MD5 ac0f8a33775dc02c3b02ea99085013b6
BLAKE2b-256 82938b356ad74ec073869187e05001e7bee80ec8c95a538768f0bee8dd1627ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5917012d0639fd6bcd0cd6abec40e12778a8a7ff7e35361f13ff4140283a0472
MD5 9cdcbd7dc8615e8899cbce9de05ffe7b
BLAKE2b-256 6b7718ff4394509d29f8252879e9573b2b8ce29eefe54ef76054f4c9d9768b5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e7d514ede41bee9c3377edb579e82e9917d5ec5733aa64f92dc6cd78a1e19963
MD5 364195edb2445bd543871a03c877113c
BLAKE2b-256 538363513170c5563bf89b81db60f67fdad6ebd17e0b6a7081a9e55e080e79df

See more details on using hashes here.

File details

Details for the file solarwinds_apm-1.5.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c6136fc37e5a53dcc5287b3a00893d0edd95660b111e937eaa1cec23db87a862
MD5 aa21322fdca97a307ddbcee1d6ffffff
BLAKE2b-256 29a31ce057894b9bac201410e6cb28e216759557cc140b2c7a0dd5c42b9dc845

See more details on using hashes here.

File details

Details for the file solarwinds_apm-1.5.0-cp37-cp37m-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for solarwinds_apm-1.5.0-cp37-cp37m-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8eca0f056a1325b00e445303930bd3eed220eb77a67aaf25184550b200363552
MD5 3da4573415a70fdd493e52be4bd90f04
BLAKE2b-256 75499ba06084516467c2af9eeb37fa3e070d50505821deb9bc1399bf0943989b

See more details on using hashes here.

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