Custom distro for OpenTelemetry to connect to SolarWinds
Project description
solarwinds-apm-python
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-python
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 solarwinds-apm-python
, see CONTRIBUTING.md. Thank you to everyone who has contributed:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for solarwinds_apm-0.8.0-pp39-pypy39_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59b053e14b758f236f8478386f314091836affde25d484d7f9869778b046a459 |
|
MD5 | 3ef45e3029f0768d86b4fd8b8741651a |
|
BLAKE2b-256 | f7e50c6542badd81bcb2a7889674369762429fe8930e0eb4b1cb3f95eb7cb028 |
Hashes for solarwinds_apm-0.8.0-pp39-pypy39_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13a05618a92ca946a3abf84ad0b9c4ba3fc01b19ffd1b077a18bb6ce88831bb2 |
|
MD5 | 9968db364ecb9e53d0f72446bcb1f396 |
|
BLAKE2b-256 | 192dcc747eb2e470cbd105bb04beadef14b8e4d81c19a9868c02f0321291173e |
Hashes for solarwinds_apm-0.8.0-pp38-pypy38_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5fa79c259b8021bec1ae2e9fb51fdff7b683b0ce467bdc3d18c2d5294bd57b5 |
|
MD5 | 910d4694a2a790cd8b770b1406c6db69 |
|
BLAKE2b-256 | 4d385ec2e518a61e50759f2fe13aa09c6991b81e42b791ddfba8598e06c8ac91 |
Hashes for solarwinds_apm-0.8.0-pp38-pypy38_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37eeb5154420b11cbae8748caac8ee6fae6ae5dc0b784a11023a3c0dac152fbd |
|
MD5 | 6927605a7aa1d128d0cd33da198acd5a |
|
BLAKE2b-256 | f8e75bd9e62a11115d593bc49b6afe794c4969102659908335ca284c031789fb |
Hashes for solarwinds_apm-0.8.0-pp37-pypy37_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0b246095fc27319156ef00feb8a13e99748839a18c7b7cbf54c26188e461662 |
|
MD5 | 0c8abca41d42a1579d1ebe1507ef3dbb |
|
BLAKE2b-256 | 08fbe372c6e9091200fa95c09d53589b5147ab9b7364ec69251b0fd9953789c4 |
Hashes for solarwinds_apm-0.8.0-pp37-pypy37_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab6516f6dd45c0cb65784ce8a816f427d463a14ae52c2b72e1bef46936e36d6e |
|
MD5 | a573371bdb93e8eff88a15d7180158ff |
|
BLAKE2b-256 | 058d8a48c531bc2b3d40b796c3d63221d86a95f0262165012f762d5b6e06d3e1 |
Hashes for solarwinds_apm-0.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b571332895a0f3604c4f2acb02655af68306d3b60905945ac9c3181f1236607 |
|
MD5 | 6b580a1c84a4804b22ddebbda38a6866 |
|
BLAKE2b-256 | 2b6b229372eae9307c6a08843e54c5e7e867bb511c48761f2a2ef48850214742 |
Hashes for solarwinds_apm-0.8.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6023601e36aac6e98732ccf6a1eb3c984754d2ddb41030821fcbe1c1d27d89fb |
|
MD5 | d0c43bec3a8d8525b4b274375571e25e |
|
BLAKE2b-256 | 24904df1de2f2b92be1d4d498160c2af02258a75169354ee7cfc83e29074da96 |
Hashes for solarwinds_apm-0.8.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b0fd525242bd9bbced7a8cdebf13fa3b7e5785a91fdd58c71f5fd543bf27b3f |
|
MD5 | 2878f6bfd72a9a5b9d1791c5aa0365ff |
|
BLAKE2b-256 | 7d479357cd784b435c6a0baa8f3e3b6c7b7b7a4e6b0caff16a07052a9a6d453b |
Hashes for solarwinds_apm-0.8.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50bb2b7871baa88c3530b022ff794ba23204f44aafb692c0b33a1548d7432a87 |
|
MD5 | 32417b88ca7eaba3bab8ceaf5ecd8a7d |
|
BLAKE2b-256 | 9203f4fde67b0c16cf1ec4e7369e7ab0fddf7bcdbd1c72a07c006d9cb3a881d9 |
Hashes for solarwinds_apm-0.8.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c1d46d18801033a2cdc9511e9fb095ce09c2eb3037a07b6b1f15f97accd82c5 |
|
MD5 | 7ae90a47b2c33e1871c9e01868794faf |
|
BLAKE2b-256 | fb0326089369db2d7c214f9de1abbdccf9f26d87046339a7c1271070376917db |
Hashes for solarwinds_apm-0.8.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bd57d3301d33cef5795e5779527a8963398b37a639260ef3dad1df21dae0cff |
|
MD5 | 3f174db3b2a5904a02137da57acc57cd |
|
BLAKE2b-256 | 84e150cec42789120acfa44b73ac976823000c06e1a668af0c648e32e90c96c3 |
Hashes for solarwinds_apm-0.8.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0ea227154d7c2f3cac9d8e6c5d4f53e17d9168b44b6e08dfbb54667f236bde0 |
|
MD5 | 7c83f014b54c9ba7445c362383cfdb8e |
|
BLAKE2b-256 | a27334a0b2f60a673352a72c668777d6e88750a9f787f0d014be35880dd05c8b |
Hashes for solarwinds_apm-0.8.0-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb5c16f1d00b3c017b408c3dd36f4c9a5d330634a92274fbc0e2d5c35d3553ee |
|
MD5 | 9c93111b3564deeb4e84baf0d69d12a1 |
|
BLAKE2b-256 | d55dba0075b7b116be1cf0d406856ac24dee633b588881312de66d5ce46e03e4 |
Hashes for solarwinds_apm-0.8.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0f24e412f470e134ba1ed04ee6abe2b1597120b2c48dc1c98d2eaf16ba5d571 |
|
MD5 | 91fc17ff6b5588398673ea2add4fcd98 |
|
BLAKE2b-256 | 837428491d42c6d2fd332cb98c634a5d1bcbf2902c54514e66d5a974e302030d |
Hashes for solarwinds_apm-0.8.0-cp37-cp37m-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ef27bd9e1935900f00a61061a7ec3a5f161470e23668babf16bd95f26c5883f |
|
MD5 | 74244424362ccdfd025fab2a5363d34c |
|
BLAKE2b-256 | d746cd07beb342e2ad47cafee8b4d3bb3ae7cf6e674fa5d1fd1395a431f57da9 |