diff --git a/.github/workflows/build_publish_pypi_and_draft_release.yaml b/.github/workflows/build_publish_pypi_and_draft_release.yaml index 14475df5..f97d9386 100644 --- a/.github/workflows/build_publish_pypi_and_draft_release.yaml +++ b/.github/workflows/build_publish_pypi_and_draft_release.yaml @@ -63,7 +63,7 @@ jobs: aws-secret-access-key: ${{ secrets.API_CI_GHA_SECRET_ACCESS_KEY }} aws-region: us-east-1 - id: launch - uses: solarwindscloud/ec2-runner-action@main + uses: solarwinds/ec2-runner-action@main with: action: launch github-token: ${{ steps.github-token.outputs.token }} @@ -114,7 +114,7 @@ jobs: aws-access-key-id: ${{ secrets.API_CI_GHA_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.API_CI_GHA_SECRET_ACCESS_KEY }} aws-region: us-east-1 - - uses: solarwindscloud/ec2-runner-action@main + - uses: solarwinds/ec2-runner-action@main with: action: terminate github-token: ${{ steps.github-token.outputs.token }} diff --git a/.github/workflows/build_publish_testpypi.yaml b/.github/workflows/build_publish_testpypi.yaml index f5519ae2..201897df 100644 --- a/.github/workflows/build_publish_testpypi.yaml +++ b/.github/workflows/build_publish_testpypi.yaml @@ -49,7 +49,7 @@ jobs: aws-secret-access-key: ${{ secrets.API_CI_GHA_SECRET_ACCESS_KEY }} aws-region: us-east-1 - id: launch - uses: solarwindscloud/ec2-runner-action@main + uses: solarwinds/ec2-runner-action@main with: action: launch github-token: ${{ steps.github-token.outputs.token }} @@ -100,7 +100,7 @@ jobs: aws-access-key-id: ${{ secrets.API_CI_GHA_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.API_CI_GHA_SECRET_ACCESS_KEY }} aws-region: us-east-1 - - uses: solarwindscloud/ec2-runner-action@main + - uses: solarwinds/ec2-runner-action@main with: action: terminate github-token: ${{ steps.github-token.outputs.token }} diff --git a/.github/workflows/verify_install.yaml b/.github/workflows/verify_install.yaml index 621d5a31..3e558177 100644 --- a/.github/workflows/verify_install.yaml +++ b/.github/workflows/verify_install.yaml @@ -47,7 +47,7 @@ jobs: aws-secret-access-key: ${{ secrets.API_CI_GHA_SECRET_ACCESS_KEY }} aws-region: us-east-1 - id: launch - uses: solarwindscloud/ec2-runner-action@main + uses: solarwinds/ec2-runner-action@main with: action: launch matrix: | @@ -266,7 +266,7 @@ jobs: aws-access-key-id: ${{ secrets.API_CI_GHA_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.API_CI_GHA_SECRET_ACCESS_KEY }} aws-region: us-east-1 - - uses: solarwindscloud/ec2-runner-action@main + - uses: solarwinds/ec2-runner-action@main with: action: terminate github-token: ${{ steps.github-token.outputs.token }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 445c5f67..707ad62a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,215 +4,215 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased](https://github.com/solarwindscloud/solarwinds-apm-python/compare/rel-0.18.0...HEAD) +## [Unreleased](https://github.com/solarwinds/apm-python/compare/rel-0.18.0...HEAD) ### Changed -- Change c-lib usage and `agent_enabled` calculation if `is_lambda` ([#211](https://github.com/solarwindscloud/solarwinds-apm-python/pull/211)) -- Updated Makefile for APM Python lambda builds ([#212](https://github.com/solarwindscloud/solarwinds-apm-python/pull/212)) +- Change c-lib usage and `agent_enabled` calculation if `is_lambda` ([#211](https://github.com/solarwinds/apm-python/pull/211)) +- Updated Makefile for APM Python lambda builds ([#212](https://github.com/solarwinds/apm-python/pull/212)) -## [0.18.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.18.0) - 2023-10-31 +## [0.18.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.18.0) - 2023-10-31 ### Added -- Add experimental configuration of OpenTelemetry metrics ([#200](https://github.com/solarwindscloud/solarwinds-apm-python/pull/200)) -- Add generation and OTLP export of `trace.service.response_time` metrics ([#201](https://github.com/solarwindscloud/solarwinds-apm-python/pull/201)) -- Add support for `SW_APM_TRANSACTION_NAME` ([#206](https://github.com/solarwindscloud/solarwinds-apm-python/pull/206)) +- Add experimental configuration of OpenTelemetry metrics ([#200](https://github.com/solarwinds/apm-python/pull/200)) +- Add generation and OTLP export of `trace.service.response_time` metrics ([#201](https://github.com/solarwinds/apm-python/pull/201)) +- Add support for `SW_APM_TRANSACTION_NAME` ([#206](https://github.com/solarwinds/apm-python/pull/206)) ### Changed -- Fixed test dependency for support of Flask < 3 ([#202](https://github.com/solarwindscloud/solarwinds-apm-python/pull/202)) -- Fixed EC2 runner publish actions ([#203](https://github.com/solarwindscloud/solarwinds-apm-python/pull/203)) -- Updated install test coverage for Debian 11 ([#204](https://github.com/solarwindscloud/solarwinds-apm-python/pull/204)) -- Updated Codeowners ([#205](https://github.com/solarwindscloud/solarwinds-apm-python/pull/205)) +- Fixed test dependency for support of Flask < 3 ([#202](https://github.com/solarwinds/apm-python/pull/202)) +- Fixed EC2 runner publish actions ([#203](https://github.com/solarwinds/apm-python/pull/203)) +- Updated install test coverage for Debian 11 ([#204](https://github.com/solarwinds/apm-python/pull/204)) +- Updated Codeowners ([#205](https://github.com/solarwinds/apm-python/pull/205)) -## [0.17.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.17.0) - 2023-09-20 +## [0.17.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.17.0) - 2023-09-20 ### Changed -- OpenTelemetry API/SDK and instrumentation 1.20.0/0.41b0 ([#195](https://github.com/solarwindscloud/solarwinds-apm-python/pull/195)) -- Update CODEOWNERS ([#196](https://github.com/solarwindscloud/solarwinds-apm-python/pull/196)) +- OpenTelemetry API/SDK and instrumentation 1.20.0/0.41b0 ([#195](https://github.com/solarwinds/apm-python/pull/195)) +- Update CODEOWNERS ([#196](https://github.com/solarwinds/apm-python/pull/196)) -## [0.16.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.16.0) - 2023-08-24 +## [0.16.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.16.0) - 2023-08-24 ### Changed -- Updated to liboboe version 13.0.0 (skipped 12.4.1) ([#192](https://github.com/solarwindscloud/solarwinds-apm-python/pull/192)) +- Updated to liboboe version 13.0.0 (skipped 12.4.1) ([#192](https://github.com/solarwinds/apm-python/pull/192)) -## [0.15.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.15.0) - 2023-08-17 +## [0.15.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.15.0) - 2023-08-17 ### Added -- Add context-in-logs configuration with `OTEL_SQLCOMMENTER_OPTIONS` ([#182](https://github.com/solarwindscloud/solarwinds-apm-python/pull/182)) -- Add CODEOWNERS file ([#189](https://github.com/solarwindscloud/solarwinds-apm-python/pull/189)) +- Add context-in-logs configuration with `OTEL_SQLCOMMENTER_OPTIONS` ([#182](https://github.com/solarwinds/apm-python/pull/182)) +- Add CODEOWNERS file ([#189](https://github.com/solarwinds/apm-python/pull/189)) ### Changed -- Remove unused baggage from propagator injection ([#184](https://github.com/solarwindscloud/solarwinds-apm-python/pull/184)) -- Simplify internal baggage setting for custom naming ([#186](https://github.com/solarwindscloud/solarwinds-apm-python/pull/186)) -- Fix custom name storage clearing when not sampled ([#187](https://github.com/solarwindscloud/solarwinds-apm-python/pull/187)) +- Remove unused baggage from propagator injection ([#184](https://github.com/solarwinds/apm-python/pull/184)) +- Simplify internal baggage setting for custom naming ([#186](https://github.com/solarwinds/apm-python/pull/186)) +- Fix custom name storage clearing when not sampled ([#187](https://github.com/solarwinds/apm-python/pull/187)) ### Removed -- Remove old print statements in exporter ([#183](https://github.com/solarwindscloud/solarwinds-apm-python/pull/183)) -- Remove unneeded `Spec` key from error events ([#188](https://github.com/solarwindscloud/solarwinds-apm-python/pull/188)) +- Remove old print statements in exporter ([#183](https://github.com/solarwinds/apm-python/pull/183)) +- Remove unneeded `Spec` key from error events ([#188](https://github.com/solarwinds/apm-python/pull/188)) -## [0.14.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.14.0) - 2023-07-20 +## [0.14.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.14.0) - 2023-07-20 ### Changed -- Refactored propagator and sampler ([#175](https://github.com/solarwindscloud/solarwinds-apm-python/pull/175)) -- Renamed CI secrets ([#176](https://github.com/solarwindscloud/solarwinds-apm-python/pull/176)) -- Updated to liboboe version 12.4.0 ([#177](https://github.com/solarwindscloud/solarwinds-apm-python/pull/177)) -- OpenTelemetry API/SDK and instrumentation 1.19.0/0.40b0 ([#178](https://github.com/solarwindscloud/solarwinds-apm-python/pull/178)) +- Refactored propagator and sampler ([#175](https://github.com/solarwinds/apm-python/pull/175)) +- Renamed CI secrets ([#176](https://github.com/solarwinds/apm-python/pull/176)) +- Updated to liboboe version 12.4.0 ([#177](https://github.com/solarwinds/apm-python/pull/177)) +- OpenTelemetry API/SDK and instrumentation 1.19.0/0.40b0 ([#178](https://github.com/solarwinds/apm-python/pull/178)) ### Removed -- Removed PackageCloud build workflows ([#179](https://github.com/solarwindscloud/solarwinds-apm-python/pull/179)) +- Removed PackageCloud build workflows ([#179](https://github.com/solarwinds/apm-python/pull/179)) -## [0.13.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.13.0) - 2023-07-11 +## [0.13.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.13.0) - 2023-07-11 ### Added -- Add OTEL_SQLCOMMENTER_ENABLED for some instrumentation libraries ([#169](https://github.com/solarwindscloud/solarwinds-apm-python/pull/169)) +- Add OTEL_SQLCOMMENTER_ENABLED for some instrumentation libraries ([#169](https://github.com/solarwinds/apm-python/pull/169)) ### Changed -- aarch64 builds run on EC2 ([#170](https://github.com/solarwindscloud/solarwinds-apm-python/pull/170)) -- Metric format is `ResponseTime` instead of both for non-AO backend ([#172](https://github.com/solarwindscloud/solarwinds-apm-python/pull/172)) +- aarch64 builds run on EC2 ([#170](https://github.com/solarwinds/apm-python/pull/170)) +- Metric format is `ResponseTime` instead of both for non-AO backend ([#172](https://github.com/solarwinds/apm-python/pull/172)) -## [0.12.1](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.12.1) - 2023-06-13 +## [0.12.1](https://github.com/solarwinds/apm-python/releases/tag/rel-0.12.1) - 2023-06-13 ### Added -- Add log warning when `set_transaction_name` with empty name ([#162](https://github.com/solarwindscloud/solarwinds-apm-python/pull/162)) +- Add log warning when `set_transaction_name` with empty name ([#162](https://github.com/solarwinds/apm-python/pull/162)) ### Changed -- Fix accepted config boolean values ([#166](https://github.com/solarwindscloud/solarwinds-apm-python/pull/166)) +- Fix accepted config boolean values ([#166](https://github.com/solarwinds/apm-python/pull/166)) ### Removed -- Removed unused log_trace_id config storage ([#163](https://github.com/solarwindscloud/solarwinds-apm-python/pull/163)) -- Removed unused enable_sanitize_sql config storage ([#164](https://github.com/solarwindscloud/solarwinds-apm-python/pull/164)) -- Removed unused is_grpc_clean_hack_enabled config storage ([#165](https://github.com/solarwindscloud/solarwinds-apm-python/pull/165)) +- Removed unused log_trace_id config storage ([#163](https://github.com/solarwinds/apm-python/pull/163)) +- Removed unused enable_sanitize_sql config storage ([#164](https://github.com/solarwinds/apm-python/pull/164)) +- Removed unused is_grpc_clean_hack_enabled config storage ([#165](https://github.com/solarwinds/apm-python/pull/165)) -## [0.12.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.12.0) - 2023-06-01 +## [0.12.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.12.0) - 2023-06-01 ### Changed -- Bugfix: APM tracing disabled when platform not supported ([#153](https://github.com/solarwindscloud/solarwinds-apm-python/pull/153)) -- Updated to liboboe version 12.3.1 ([#155](https://github.com/solarwindscloud/solarwinds-apm-python/pull/155)) -- Verify Installation tests run on EC2 ([#156](https://github.com/solarwindscloud/solarwinds-apm-python/pull/156), [#160](https://github.com/solarwindscloud/solarwinds-apm-python/pull/160)) -- Installation tests include Ubuntu 22 ([#158](https://github.com/solarwindscloud/solarwinds-apm-python/pull/158)) +- Bugfix: APM tracing disabled when platform not supported ([#153](https://github.com/solarwinds/apm-python/pull/153)) +- Updated to liboboe version 12.3.1 ([#155](https://github.com/solarwinds/apm-python/pull/155)) +- Verify Installation tests run on EC2 ([#156](https://github.com/solarwinds/apm-python/pull/156), [#160](https://github.com/solarwinds/apm-python/pull/160)) +- Installation tests include Ubuntu 22 ([#158](https://github.com/solarwinds/apm-python/pull/158)) -## [0.11.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.11.0) - 2023-05-25 +## [0.11.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.11.0) - 2023-05-25 ### Added -- Added trace context to logging ([#146](https://github.com/solarwindscloud/solarwinds-apm-python/pull/146)) +- Added trace context to logging ([#146](https://github.com/solarwinds/apm-python/pull/146)) ### Changed -- Adjusted config file logging ([#147](https://github.com/solarwindscloud/solarwinds-apm-python/pull/147)) -- OpenTelemetry API/SDK 1.18.0 ([#150](https://github.com/solarwindscloud/solarwinds-apm-python/pull/150)) -- Added Amazon 2023 install tests; removed Amazon 2018 and Amazon 2 install tests ([#151](https://github.com/solarwindscloud/solarwinds-apm-python/pull/151)) +- Adjusted config file logging ([#147](https://github.com/solarwinds/apm-python/pull/147)) +- OpenTelemetry API/SDK 1.18.0 ([#150](https://github.com/solarwinds/apm-python/pull/150)) +- Added Amazon 2023 install tests; removed Amazon 2018 and Amazon 2 install tests ([#151](https://github.com/solarwinds/apm-python/pull/151)) -## [0.10.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.10.0) - 2023-05-01 +## [0.10.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.10.0) - 2023-05-01 ### Added -- Add custom transaction filtering support ([#136](https://github.com/solarwindscloud/solarwinds-apm-python/pull/136), [#137](https://github.com/solarwindscloud/solarwinds-apm-python/pull/137), [#138](https://github.com/solarwindscloud/solarwinds-apm-python/pull/138), [#139](https://github.com/solarwindscloud/solarwinds-apm-python/pull/139), [#141](https://github.com/solarwindscloud/solarwinds-apm-python/pull/141)) -- Add span attribute `sw.span_name` at export ([#143](https://github.com/solarwindscloud/solarwinds-apm-python/pull/143)) +- Add custom transaction filtering support ([#136](https://github.com/solarwinds/apm-python/pull/136), [#137](https://github.com/solarwinds/apm-python/pull/137), [#138](https://github.com/solarwinds/apm-python/pull/138), [#139](https://github.com/solarwinds/apm-python/pull/139), [#141](https://github.com/solarwinds/apm-python/pull/141)) +- Add span attribute `sw.span_name` at export ([#143](https://github.com/solarwinds/apm-python/pull/143)) ### Removed -- Removed unused prepend_domain_name config storage ([#140](https://github.com/solarwindscloud/solarwinds-apm-python/pull/140)) +- Removed unused prepend_domain_name config storage ([#140](https://github.com/solarwinds/apm-python/pull/140)) -## [0.9.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.9.0) - 2023-04-20 +## [0.9.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.9.0) - 2023-04-20 ### Changed -- OpenTelemetry API/SDK 1.17.0 ([#131](https://github.com/solarwindscloud/solarwinds-apm-python/pull/131)) -- SolarWinds c-lib 12.2.0, to fix memory leak in extension ([#132](https://github.com/solarwindscloud/solarwinds-apm-python/pull/132)) -- Adds support for `SW_APM_CONFIG_FILE` ([#133](https://github.com/solarwindscloud/solarwinds-apm-python/pull/133)) -- Updates Span Layer to be `:` ([#134](https://github.com/solarwindscloud/solarwinds-apm-python/pull/134)) +- OpenTelemetry API/SDK 1.17.0 ([#131](https://github.com/solarwinds/apm-python/pull/131)) +- SolarWinds c-lib 12.2.0, to fix memory leak in extension ([#132](https://github.com/solarwinds/apm-python/pull/132)) +- Adds support for `SW_APM_CONFIG_FILE` ([#133](https://github.com/solarwinds/apm-python/pull/133)) +- Updates Span Layer to be `:` ([#134](https://github.com/solarwinds/apm-python/pull/134)) -## [0.8.3](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.8.3) - 2023-03-21 +## [0.8.3](https://github.com/solarwinds/apm-python/releases/tag/rel-0.8.3) - 2023-03-21 ### Changed -- Bugfix: fixed errors at API `set_transaction_name` calls when APM library tracing disabled ([#126](https://github.com/solarwindscloud/solarwinds-apm-python/pull/126)) -- SolarWinds c-lib 12.1.0, for enhanced metadata retrieval, skipping metrics HTTP status if unavailable, fixed threading locking issue ([#127](https://github.com/solarwindscloud/solarwinds-apm-python/pull/127)) +- Bugfix: fixed errors at API `set_transaction_name` calls when APM library tracing disabled ([#126](https://github.com/solarwinds/apm-python/pull/126)) +- SolarWinds c-lib 12.1.0, for enhanced metadata retrieval, skipping metrics HTTP status if unavailable, fixed threading locking issue ([#127](https://github.com/solarwinds/apm-python/pull/127)) -## [0.8.2](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.8.2) - 2023-03-13 +## [0.8.2](https://github.com/solarwinds/apm-python/releases/tag/rel-0.8.2) - 2023-03-13 ### Changed -- Bugfix: fixed noisy trace state KV deletion attempts when key not present ([#121](https://github.com/solarwindscloud/solarwinds-apm-python/pull/121)) -- Bugfix: fixed version lookup failures for instrumented aiohttp library ([#122](https://github.com/solarwindscloud/solarwinds-apm-python/pull/122)) +- Bugfix: fixed noisy trace state KV deletion attempts when key not present ([#121](https://github.com/solarwinds/apm-python/pull/121)) +- Bugfix: fixed version lookup failures for instrumented aiohttp library ([#122](https://github.com/solarwinds/apm-python/pull/122)) -## [0.8.1](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.8.1) - 2023-03-08 +## [0.8.1](https://github.com/solarwinds/apm-python/releases/tag/rel-0.8.1) - 2023-03-08 ### Changed -- Fixed installation from source distribution ([#119](https://github.com/solarwindscloud/solarwinds-apm-python/pull/119)) +- Fixed installation from source distribution ([#119](https://github.com/solarwinds/apm-python/pull/119)) -## [0.8.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.8.0) - 2023-02-28 +## [0.8.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.8.0) - 2023-02-28 ### Added -- Add `set_transaction_name` API method ([#115](https://github.com/solarwindscloud/solarwinds-apm-python/pull/115)) +- Add `set_transaction_name` API method ([#115](https://github.com/solarwinds/apm-python/pull/115)) ### Changed -- Deprecated `solarwinds_apm.apm_ready.solarwinds_ready`. Instead, use `solarwinds_apm.api.solarwinds_ready`. ([#115](https://github.com/solarwindscloud/solarwinds-apm-python/pull/115)) -- OpenTelemetry API/SDK 1.16.0 ([#116](https://github.com/solarwindscloud/solarwinds-apm-python/pull/116)) -- OpenTelemetry Instrumentation 0.37b0 ([#116](https://github.com/solarwindscloud/solarwinds-apm-python/pull/116)) +- Deprecated `solarwinds_apm.apm_ready.solarwinds_ready`. Instead, use `solarwinds_apm.api.solarwinds_ready`. ([#115](https://github.com/solarwinds/apm-python/pull/115)) +- OpenTelemetry API/SDK 1.16.0 ([#116](https://github.com/solarwinds/apm-python/pull/116)) +- OpenTelemetry Instrumentation 0.37b0 ([#116](https://github.com/solarwinds/apm-python/pull/116)) -## [0.7.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.7.0) - 2023-02-22 +## [0.7.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.7.0) - 2023-02-22 ### Added -- Add ARM support ([#111](https://github.com/solarwindscloud/solarwinds-apm-python/pull/111)) +- Add ARM support ([#111](https://github.com/solarwinds/apm-python/pull/111)) ### Changed -- Updated CodeQL scans ([#112](https://github.com/solarwindscloud/solarwinds-apm-python/pull/112)) +- Updated CodeQL scans ([#112](https://github.com/solarwinds/apm-python/pull/112)) -## [0.6.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.6.0) - 2023-02-08 +## [0.6.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.6.0) - 2023-02-08 ### Changed -- SolarWinds c-lib 12.0.0, for gRPC upgrade ([#107](https://github.com/solarwindscloud/solarwinds-apm-python/pull/107)) -- Bugfix: fix version lookup failures for instrumented ASGI libraries ([#108](https://github.com/solarwindscloud/solarwinds-apm-python/pull/108)) +- SolarWinds c-lib 12.0.0, for gRPC upgrade ([#107](https://github.com/solarwinds/apm-python/pull/107)) +- Bugfix: fix version lookup failures for instrumented ASGI libraries ([#108](https://github.com/solarwinds/apm-python/pull/108)) ### Removed -- Drop centos7 support ([#107](https://github.com/solarwindscloud/solarwinds-apm-python/pull/107)) -- Drop Debian 9 support ([#107](https://github.com/solarwindscloud/solarwinds-apm-python/pull/107)) -- Drop Amazon Linux 2018.03 support ([#107](https://github.com/solarwindscloud/solarwinds-apm-python/pull/107)) +- Drop centos7 support ([#107](https://github.com/solarwinds/apm-python/pull/107)) +- Drop Debian 9 support ([#107](https://github.com/solarwinds/apm-python/pull/107)) +- Drop Amazon Linux 2018.03 support ([#107](https://github.com/solarwinds/apm-python/pull/107)) -## [0.5.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.5.0) - 2023-01-18 +## [0.5.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.5.0) - 2023-01-18 ### Added -- Add support for OTEL_SERVICE_NAME, OTEL_RESOURCE_ATTRIBUTES environment variables ([#90](https://github.com/solarwindscloud/solarwinds-apm-python/pull/90)) -- Add prioritization of OTEL_SERVICE_NAME, OTEL_RESOURCE_ATTRIBUTES, SW_APM_SERVICE_KEY for setting service.name ([#103](https://github.com/solarwindscloud/solarwinds-apm-python/pull/103)) +- Add support for OTEL_SERVICE_NAME, OTEL_RESOURCE_ATTRIBUTES environment variables ([#90](https://github.com/solarwinds/apm-python/pull/90)) +- Add prioritization of OTEL_SERVICE_NAME, OTEL_RESOURCE_ATTRIBUTES, SW_APM_SERVICE_KEY for setting service.name ([#103](https://github.com/solarwinds/apm-python/pull/103)) ### Changed -- Update Init message with HostID ([#90](https://github.com/solarwindscloud/solarwinds-apm-python/pull/90)) -- Update Init message with Python framework versions ([#94](https://github.com/solarwindscloud/solarwinds-apm-python/pull/94), [#100](https://github.com/solarwindscloud/solarwinds-apm-python/pull/100)) -- SolarWinds c-lib 11.1.0, for Init message updates ([#90](https://github.com/solarwindscloud/solarwinds-apm-python/pull/90)) -- Updated exported spans with Python framework versions ([#92](https://github.com/solarwindscloud/solarwinds-apm-python/pull/92)) -- Bugfix: existing attributes without parent context now write to spans ([#102](https://github.com/solarwindscloud/solarwinds-apm-python/pull/102)) -- Bugfix: setting sw.tracestate_parent_id is based on existence of remote parent span ([#102](https://github.com/solarwindscloud/solarwinds-apm-python/pull/102)) -- Fix install tests on Ubuntu with Python 3.10/3.11 using older setuptools version ([#104](https://github.com/solarwindscloud/solarwinds-apm-python/pull/104)) +- Update Init message with HostID ([#90](https://github.com/solarwinds/apm-python/pull/90)) +- Update Init message with Python framework versions ([#94](https://github.com/solarwinds/apm-python/pull/94), [#100](https://github.com/solarwinds/apm-python/pull/100)) +- SolarWinds c-lib 11.1.0, for Init message updates ([#90](https://github.com/solarwinds/apm-python/pull/90)) +- Updated exported spans with Python framework versions ([#92](https://github.com/solarwinds/apm-python/pull/92)) +- Bugfix: existing attributes without parent context now write to spans ([#102](https://github.com/solarwinds/apm-python/pull/102)) +- Bugfix: setting sw.tracestate_parent_id is based on existence of remote parent span ([#102](https://github.com/solarwinds/apm-python/pull/102)) +- Fix install tests on Ubuntu with Python 3.10/3.11 using older setuptools version ([#104](https://github.com/solarwinds/apm-python/pull/104)) -## [0.4.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.4.0) - 2023-01-03 +## [0.4.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.4.0) - 2023-01-03 ### Added -- Add security policy ([#95](https://github.com/solarwindscloud/solarwinds-apm-python/pull/95)) -- Add issue templates ([#96](https://github.com/solarwindscloud/solarwinds-apm-python/pull/96/files)) +- Add security policy ([#95](https://github.com/solarwinds/apm-python/pull/95)) +- Add issue templates ([#96](https://github.com/solarwinds/apm-python/pull/96/files)) ### Changed -- OpenTelemetry API/SDK 1.15.0 ([#91](https://github.com/solarwindscloud/solarwinds-apm-python/pull/91)) -- OpenTelemetry Instrumentation 0.36b0 ([#91](https://github.com/solarwindscloud/solarwinds-apm-python/pull/91)) -- x-trace-options header `custom-*` KVs written to entry span attributes ([#85](https://github.com/solarwindscloud/solarwinds-apm-python/pull/85)) -- Fix `x-trace-options-signature` extraction ([#85](https://github.com/solarwindscloud/solarwinds-apm-python/pull/85)) -- Fix validation of `x-trace-options` header ([#87](https://github.com/solarwindscloud/solarwinds-apm-python/pull/87)) -- Fix calculation of `x-trace-options-response` header ([#88](https://github.com/solarwindscloud/solarwinds-apm-python/pull/88)) -- Update GH organization ([#96](https://github.com/solarwindscloud/solarwinds-apm-python/pull/96/files)) +- OpenTelemetry API/SDK 1.15.0 ([#91](https://github.com/solarwinds/apm-python/pull/91)) +- OpenTelemetry Instrumentation 0.36b0 ([#91](https://github.com/solarwinds/apm-python/pull/91)) +- x-trace-options header `custom-*` KVs written to entry span attributes ([#85](https://github.com/solarwinds/apm-python/pull/85)) +- Fix `x-trace-options-signature` extraction ([#85](https://github.com/solarwinds/apm-python/pull/85)) +- Fix validation of `x-trace-options` header ([#87](https://github.com/solarwinds/apm-python/pull/87)) +- Fix calculation of `x-trace-options-response` header ([#88](https://github.com/solarwinds/apm-python/pull/88)) +- Update GH organization ([#96](https://github.com/solarwinds/apm-python/pull/96/files)) -## [0.3.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.3.0) - 2022-11-24 +## [0.3.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.3.0) - 2022-11-24 ### Changed -- Fix flake8 and installation tests ([#83](https://github.com/solarwindscloud/solarwinds-apm-python/pull/83)) +- Fix flake8 and installation tests ([#83](https://github.com/solarwinds/apm-python/pull/83)) -## [0.2.2](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.2.2) - 2022-11-24 +## [0.2.2](https://github.com/solarwinds/apm-python/releases/tag/rel-0.2.2) - 2022-11-24 ### Added -- Added integration tests ([#67](https://github.com/solarwindscloud/solarwinds-apm-python/pull/67)) -- Added sdist and wheel extension file checks as part of library packaging ([#75](https://github.com/solarwindscloud/solarwinds-apm-python/pull/75)) -- Added linting and code formatting ([#80](https://github.com/solarwindscloud/solarwinds-apm-python/pull/80), [#82](https://github.com/solarwindscloud/solarwinds-apm-python/pull/82)) +- Added integration tests ([#67](https://github.com/solarwinds/apm-python/pull/67)) +- Added sdist and wheel extension file checks as part of library packaging ([#75](https://github.com/solarwinds/apm-python/pull/75)) +- Added linting and code formatting ([#80](https://github.com/solarwinds/apm-python/pull/80), [#82](https://github.com/solarwinds/apm-python/pull/82)) ### Changed -- OpenTelemetry API/SDK 1.14.0 ([#76](https://github.com/solarwindscloud/solarwinds-apm-python/pull/76)) -- OpenTelemetry Instrumentation 0.35b0 ([#76](https://github.com/solarwindscloud/solarwinds-apm-python/pull/76)) -- Reformatted code based on linting rules ([#81](https://github.com/solarwindscloud/solarwinds-apm-python/pull/81)) -- Fixed changelog links ([#78](https://github.com/solarwindscloud/solarwinds-apm-python/pull/78)) +- OpenTelemetry API/SDK 1.14.0 ([#76](https://github.com/solarwinds/apm-python/pull/76)) +- OpenTelemetry Instrumentation 0.35b0 ([#76](https://github.com/solarwinds/apm-python/pull/76)) +- Reformatted code based on linting rules ([#81](https://github.com/solarwinds/apm-python/pull/81)) +- Fixed changelog links ([#78](https://github.com/solarwinds/apm-python/pull/78)) -## [0.2.1](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.2.1) - 2022-11-08 +## [0.2.1](https://github.com/solarwinds/apm-python/releases/tag/rel-0.2.1) - 2022-11-08 ### Changed -- Version bump for rebuild of 0.2.0 ([#73](https://github.com/solarwindscloud/solarwinds-apm-python/pull/73)) +- Version bump for rebuild of 0.2.0 ([#73](https://github.com/solarwinds/apm-python/pull/73)) -## [0.2.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.2.0) - 2022-11-07 +## [0.2.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.2.0) - 2022-11-07 ### Added -- Added `solarwinds_ready` method ([#64](https://github.com/solarwindscloud/solarwinds-apm-python/pull/64)) -- Added startup `__Init` with SWO ([#64](https://github.com/solarwindscloud/solarwinds-apm-python/pull/64)) -- Added more unit tests ([#68](https://github.com/solarwindscloud/solarwinds-apm-python/pull/68)) +- Added `solarwinds_ready` method ([#64](https://github.com/solarwinds/apm-python/pull/64)) +- Added startup `__Init` with SWO ([#64](https://github.com/solarwinds/apm-python/pull/64)) +- Added more unit tests ([#68](https://github.com/solarwinds/apm-python/pull/68)) ### Changed -- SolarWinds c-lib 11.0.0, for AppOptics certificate compatibility ([#70](https://github.com/solarwindscloud/solarwinds-apm-python/pull/70)) -- Fixed logging vulnerabilities ([#63](https://github.com/solarwindscloud/solarwinds-apm-python/pull/63)) -- Update packaging and install tests ([#71](https://github.com/solarwindscloud/solarwinds-apm-python/pull/71)) +- SolarWinds c-lib 11.0.0, for AppOptics certificate compatibility ([#70](https://github.com/solarwinds/apm-python/pull/70)) +- Fixed logging vulnerabilities ([#63](https://github.com/solarwinds/apm-python/pull/63)) +- Update packaging and install tests ([#71](https://github.com/solarwinds/apm-python/pull/71)) -## [0.1.0](https://github.com/solarwindscloud/solarwinds-apm-python/releases/tag/rel-0.1.0) - 2022-10-13 +## [0.1.0](https://github.com/solarwinds/apm-python/releases/tag/rel-0.1.0) - 2022-10-13 ### Added - Initial release for GA (alpha) - OpenTelemetry API/SDK 1.13.0, for trace generation diff --git a/CODEOWNERS b/CODEOWNERS index b291240b..c1a06a24 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,5 +1 @@ -* @solarwindscloud/eng-apm-instrumentation - -# prepare for move to solarwinds -* @solarwinds/eng-pub-apm-instrumentation - +* @solarwinds/eng-pub-apm-instrumentation \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d7014cb4..c0371f6f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ -# Contributing to solarwinds-apm-python +# Contributing to Python solarwinds-apm -Thank you for contributing and helping us improve `solarwinds-apm-python`. +Thank you for contributing and helping us improve Python `solarwinds-apm`. ---- @@ -12,12 +12,12 @@ Please report any security issues privately to the SolarWinds Product Security I ### All other issues -For non-security issues, please submit your ideas, questions, or problems as [GitHub issues](https://github.com/solarwindscloud/solarwinds-apm-python/issues). Please add as much information as you can, such as: Python version, platform, installed dependencies and their version numbers, hosting, code examples or gists, steps to reproduce, stack traces, and logs. SolarWinds project maintainers may ask for clarification or more context after submission. +For non-security issues, please submit your ideas, questions, or problems as [GitHub issues](https://github.com/solarwinds/apm-python/issues). Please add as much information as you can, such as: Python version, platform, installed dependencies and their version numbers, hosting, code examples or gists, steps to reproduce, stack traces, and logs. SolarWinds project maintainers may ask for clarification or more context after submission. ---- ## Contributing -Any changes to this project must be made through a pull request to `main`. Major changes should be linked to an existing [GitHub issue](https://github.com/solarwindscloud/solarwinds-apm-python/issues). Smaller contributions like typo corrections don't require an issue. +Any changes to this project must be made through a pull request to `main`. Major changes should be linked to an existing [GitHub issue](https://github.com/solarwinds/apm-python/issues). Smaller contributions like typo corrections don't require an issue. A PR is ready to merge when all tests pass, any major feedback has been resolved, and at least one SolarWinds maintainer has approved. Once ready, a PR can be merged by a SolarWinds maintainer. @@ -61,7 +61,7 @@ make tox OPTIONS="--recreate -e py38-ao-prod" make tox OPTIONS="-- tests/integration/test_scenario_1.py" ``` -The unit and integration tests are also run on GitHub with the [Run tox tests](https://github.com/solarwindscloud/solarwinds-apm-python/actions/workflows/run_tox_tests.yaml) workflow. +The unit and integration tests are also run on GitHub with the [Run tox tests](https://github.com/solarwinds/apm-python/actions/workflows/run_tox_tests.yaml) workflow. ### Formatting and Linting @@ -79,16 +79,16 @@ make tox OPTIONS="-e lint -- --check-only" make tox OPTIONS="-e lint" ``` -Remotely, CodeQL can be run on GitHub with the [CodeQL Analysis](https://github.com/solarwindscloud/solarwinds-apm-python/actions/workflows/codeql_analysis.yaml) workflow. +Remotely, CodeQL can be run on GitHub with the [CodeQL Analysis](https://github.com/solarwinds/apm-python/actions/workflows/codeql_analysis.yaml) workflow. ### Install locally and instrument a test app -`solarwinds-apm-python` can be installed and used to instrument a Python app running on your local: +`solarwinds-apm` can be installed and used to instrument a Python app running on your local: 1. Create and run a Docker build container as described above. 2. Inside the build container: `make wrapper`. This downloads the version of a C/C++ dependency defined in `extension/VERSION` from SolarWinds Cloud and builds SWIG bindings. 3. In your Python app's environment/container, install your local `solarwinds-apm`. For example, if you've saved it to `~/gitrepos` then you could do: - ```pip install -Ie ~/gitrepos/solarwinds-apm-python/``` + ```pip install -Ie ~/gitrepos/apm-python/``` 4. Install all relevant Opentelemetry Python instrumentation libraries: ```opentelemetry-bootstrap --action=install``` 5. Run your application with the prefix `opentelemetry-instrument` to wrap all common Python frameworks: diff --git a/README.md b/README.md index 5390d28e..051514c7 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,24 @@ -[![PyPI version](https://badge.fury.io/py/solarwinds-apm.svg)](https://badge.fury.io/py/solarwinds-apm) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/solarwinds-apm) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg?color=red)](https://github.com/solarwindscloud/solarwinds-apm-python/blob/main/LICENSE) +[![PyPI version](https://badge.fury.io/py/solarwinds-apm.svg)](https://badge.fury.io/py/solarwinds-apm) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/solarwinds-apm) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg?color=red)](https://github.com/solarwinds/apm-python/blob/main/LICENSE) -# solarwinds-apm-python +# Python solarwinds-apm An [OpenTelemetry Python](https://opentelemetry-python.readthedocs.io/) 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](https://documentation.solarwinds.com/en/success_center/observability/default.htm#cshid=app-sysreqs-python-agent). -See [CONTRIBUTING.md](https://github.com/solarwindscloud/solarwinds-apm-python/blob/main/CONTRIBUTING.md) for how to build for development. +See [CONTRIBUTING.md](https://github.com/solarwinds/apm-python/blob/main/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: +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: +`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 @@ -60,8 +60,8 @@ Online documentation for SolarWinds APM Python features, configuration, and more 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](https://github.com/solarwindscloud/solarwinds-apm-python/blob/main/CONTRIBUTING.md). Thank you to everyone who has contributed: +For more information about contributing to Python `solarwinds-apm`, see [CONTRIBUTING.md](https://github.com/solarwinds/apm-python/blob/main/CONTRIBUTING.md). Thank you to everyone who has contributed: - - + + \ No newline at end of file diff --git a/tests/docker/install/README.md b/tests/docker/install/README.md index ed313f0e..14735359 100644 --- a/tests/docker/install/README.md +++ b/tests/docker/install/README.md @@ -1,6 +1,6 @@ # Installation tests -These files provide containers and scripts to test installation of packaged `solarwinds-apm-python`, from local or from registry. Here is how to set up and run install tests locally: +These files provide containers and scripts to test installation of packaged `solarwinds-apm`, from local or from registry. Here is how to set up and run install tests locally: 1. Set test mode to install from one of: * `export MODE=local` (default; must be built in project `dist/`)