Skip to content

Conversation

@gnufede
Copy link
Member

@gnufede gnufede commented Apr 30, 2025

Checklist

  • PR author has checked that all the criteria below are met
  • The PR description includes an overview of the change
  • The PR description articulates the motivation for the change
  • The change includes tests OR the PR description describes a testing strategy
  • The PR description notes risks associated with the change, if any
  • Newly-added code is easy to change
  • The change follows the library release note guidelines
  • The change includes or references documentation updates if necessary
  • Backport labels are set (if applicable)

Reviewer Checklist

  • Reviewer has checked that all the criteria below are met
  • Title is accurate
  • All changes are related to the pull request's stated goal
  • Avoids breaking API changes
  • Testing strategy adequately addresses listed risks
  • Newly-added code is easy to change
  • Release note makes sense to a user of the library
  • If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment
  • Backport labels are set in a manner that is consistent with the release branch maintenance policy

@github-actions
Copy link
Contributor

github-actions bot commented Apr 30, 2025

CODEOWNERS have been resolved as:

.riot/requirements/10853b3.txt                                          @DataDog/apm-python
.riot/requirements/109f96d.txt                                          @DataDog/apm-python
.riot/requirements/10b643c.txt                                          @DataDog/apm-python
.riot/requirements/1200a2a.txt                                          @DataDog/apm-python
.riot/requirements/122e427.txt                                          @DataDog/apm-python
.riot/requirements/13c380c.txt                                          @DataDog/apm-python
.riot/requirements/1435097.txt                                          @DataDog/apm-python
.riot/requirements/1437520.txt                                          @DataDog/apm-python
.riot/requirements/14b9202.txt                                          @DataDog/apm-python
.riot/requirements/1560ba9.txt                                          @DataDog/apm-python
.riot/requirements/1588200.txt                                          @DataDog/apm-python
.riot/requirements/1591bf5.txt                                          @DataDog/apm-python
.riot/requirements/15996f6.txt                                          @DataDog/apm-python
.riot/requirements/160ea38.txt                                          @DataDog/apm-python
.riot/requirements/16313f3.txt                                          @DataDog/apm-python
.riot/requirements/169b006.txt                                          @DataDog/apm-python
.riot/requirements/16a5a2e.txt                                          @DataDog/apm-python
.riot/requirements/16ac1f1.txt                                          @DataDog/apm-python
.riot/requirements/16bd71d.txt                                          @DataDog/apm-python
.riot/requirements/16ea438.txt                                          @DataDog/apm-python
.riot/requirements/1726db0.txt                                          @DataDog/apm-python
.riot/requirements/173260e.txt                                          @DataDog/apm-python
.riot/requirements/1746c1c.txt                                          @DataDog/apm-python
.riot/requirements/17f0d68.txt                                          @DataDog/apm-python
.riot/requirements/17f2a52.txt                                          @DataDog/apm-python
.riot/requirements/1878fa7.txt                                          @DataDog/apm-python
.riot/requirements/18e5cae.txt                                          @DataDog/apm-python
.riot/requirements/1a21d86.txt                                          @DataDog/apm-python
.riot/requirements/1a84cc2.txt                                          @DataDog/apm-python
.riot/requirements/1b6ed54.txt                                          @DataDog/apm-python
.riot/requirements/1c7bf82.txt                                          @DataDog/apm-python
.riot/requirements/1d07c9f.txt                                          @DataDog/apm-python
.riot/requirements/1d282b1.txt                                          @DataDog/apm-python
.riot/requirements/1d915ff.txt                                          @DataDog/apm-python
.riot/requirements/1db0994.txt                                          @DataDog/apm-python
.riot/requirements/1f1d3a0.txt                                          @DataDog/apm-python
.riot/requirements/1f280ce.txt                                          @DataDog/apm-python
.riot/requirements/25cad6d.txt                                          @DataDog/apm-python
.riot/requirements/273fcaf.txt                                          @DataDog/apm-python
.riot/requirements/3185459.txt                                          @DataDog/apm-python
.riot/requirements/37646c9.txt                                          @DataDog/apm-python
.riot/requirements/3a9fb88.txt                                          @DataDog/apm-python
.riot/requirements/3ba7e37.txt                                          @DataDog/apm-python
.riot/requirements/4396c33.txt                                          @DataDog/apm-python
.riot/requirements/4ad5317.txt                                          @DataDog/apm-python
.riot/requirements/4ce4ec1.txt                                          @DataDog/apm-python
.riot/requirements/51d9412.txt                                          @DataDog/apm-python
.riot/requirements/53b1ba3.txt                                          @DataDog/apm-python
.riot/requirements/57549f7.txt                                          @DataDog/apm-python
.riot/requirements/58d7730.txt                                          @DataDog/apm-python
.riot/requirements/5e79012.txt                                          @DataDog/apm-python
.riot/requirements/65aafe7.txt                                          @DataDog/apm-python
.riot/requirements/690aeca.txt                                          @DataDog/apm-python
.riot/requirements/6d820e6.txt                                          @DataDog/apm-python
.riot/requirements/7613d04.txt                                          @DataDog/apm-python
.riot/requirements/7a4893e.txt                                          @DataDog/apm-python
.riot/requirements/8d15996.txt                                          @DataDog/apm-python
.riot/requirements/8f9b04b.txt                                          @DataDog/apm-python
.riot/requirements/91c10ff.txt                                          @DataDog/apm-python
.riot/requirements/93b1e3b.txt                                          @DataDog/apm-python
.riot/requirements/9d50a6f.txt                                          @DataDog/apm-python
.riot/requirements/a4331a5.txt                                          @DataDog/apm-python
.riot/requirements/a61304c.txt                                          @DataDog/apm-python
.riot/requirements/aa76239.txt                                          @DataDog/apm-python
.riot/requirements/b0d5dee.txt                                          @DataDog/apm-python
.riot/requirements/b570f17.txt                                          @DataDog/apm-python
.riot/requirements/b58b8b2.txt                                          @DataDog/apm-python
.riot/requirements/c32fba4.txt                                          @DataDog/apm-python
.riot/requirements/c8ba76f.txt                                          @DataDog/apm-python
.riot/requirements/e7a63a3.txt                                          @DataDog/apm-python
.riot/requirements/e8fbd30.txt                                          @DataDog/apm-python
.riot/requirements/fd6d189.txt                                          @DataDog/apm-python
ddtrace/contrib/integration_registry/README.md                          @DataDog/python-guild @DataDog/apm-core-python
ddtrace/contrib/integration_registry/__init__.py                        @DataDog/apm-core-python @DataDog/apm-idm-python
ddtrace/contrib/integration_registry/_registry_schema.json              @DataDog/apm-core-python @DataDog/apm-idm-python
ddtrace/contrib/integration_registry/mappings.py                        @DataDog/apm-core-python @DataDog/apm-idm-python
ddtrace/contrib/integration_registry/registry.yaml                      @DataDog/apm-core-python @DataDog/apm-idm-python
ddtrace/contrib/integration_registry/utils.py                           @DataDog/apm-core-python @DataDog/apm-idm-python
scripts/integration_registry/_format_integration_registry.py            @DataDog/apm-core-python
scripts/integration_registry/_update_integration_registry_versions.py   @DataDog/apm-core-python
scripts/integration_registry/update_and_format_registry.py              @DataDog/apm-core-python
tests/contrib/conftest.py                                               @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/integration_registry/__init__.py                          @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/integration_registry/conftest.py                          @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/integration_registry/registry_update_helpers/__init__.py  @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/integration_registry/registry_update_helpers/integration.py  @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/integration_registry/registry_update_helpers/integration_registry_manager.py  @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/integration_registry/registry_update_helpers/integration_registry_updater.py  @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/integration_registry/registry_update_helpers/integration_update_orchestrator.py  @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/integration_registry/test_external_dependencies.py        @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/integration_registry/test_registry_schema.py              @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/integration_registry/test_riotfile.py                     @DataDog/apm-core-python @DataDog/apm-idm-python
.gitlab/tests.yml                                                       @DataDog/python-guild @DataDog/apm-core-python
lib-injection/sources/min_compatible_versions.csv                       @DataDog/apm-core-python
min_compatible_versions.csv                                             @DataDog/apm-core-python
riotfile.py                                                             @DataDog/apm-python
scripts/freshvenvs.py                                                   @DataDog/apm-core-python
scripts/generate_table.py                                               @DataDog/apm-core-python
scripts/run-test-suite                                                  @DataDog/apm-core-python
supported_versions_output.json                                          @DataDog/apm-core-python
supported_versions_table.csv                                            @DataDog/apm-core-python
tests/contrib/celery/test_integration.py                                @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/suitespec.yml                                             @DataDog/apm-core-python @DataDog/apm-idm-python
tests/internal/test_module.py                                           @DataDog/debugger-python @DataDog/apm-core-python
tests/suitespec.yml                                                     @DataDog/python-guild @DataDog/apm-core-python
.riot/requirements/103234b.txt                                          @DataDog/apm-python
.riot/requirements/1089a44.txt                                          @DataDog/apm-python
.riot/requirements/10c216c.txt                                          @DataDog/apm-python
.riot/requirements/11cd1a5.txt                                          @DataDog/apm-python
.riot/requirements/11e6ad6.txt                                          @DataDog/apm-python
.riot/requirements/11f9495.txt                                          @DataDog/apm-python
.riot/requirements/121fc8d.txt                                          @DataDog/apm-python
.riot/requirements/13180f0.txt                                          @DataDog/apm-python
.riot/requirements/132915c.txt                                          @DataDog/apm-python
.riot/requirements/132ab47.txt                                          @DataDog/apm-python
.riot/requirements/13ff868.txt                                          @DataDog/apm-python
.riot/requirements/1407476.txt                                          @DataDog/apm-python
.riot/requirements/14a4ad8.txt                                          @DataDog/apm-python
.riot/requirements/1611a53.txt                                          @DataDog/apm-python
.riot/requirements/16240ae.txt                                          @DataDog/apm-python
.riot/requirements/171cc7d.txt                                          @DataDog/apm-python
.riot/requirements/178199b.txt                                          @DataDog/apm-python
.riot/requirements/189028b.txt                                          @DataDog/apm-python
.riot/requirements/195a93b.txt                                          @DataDog/apm-python
.riot/requirements/19fca43.txt                                          @DataDog/apm-python
.riot/requirements/1ac29e1.txt                                          @DataDog/apm-python
.riot/requirements/1b2137c.txt                                          @DataDog/apm-python
.riot/requirements/1b7c78f.txt                                          @DataDog/apm-python
.riot/requirements/1d27b17.txt                                          @DataDog/apm-python
.riot/requirements/1dfbbf5.txt                                          @DataDog/apm-python
.riot/requirements/1e77d23.txt                                          @DataDog/apm-python
.riot/requirements/1f4c63a.txt                                          @DataDog/apm-python
.riot/requirements/1f67448.txt                                          @DataDog/apm-python
.riot/requirements/2215008.txt                                          @DataDog/apm-python
.riot/requirements/2877cc1.txt                                          @DataDog/apm-python
.riot/requirements/2f08515.txt                                          @DataDog/apm-python
.riot/requirements/4c32dc0.txt                                          @DataDog/apm-python
.riot/requirements/50b70d9.txt                                          @DataDog/apm-python
.riot/requirements/5a79a6b.txt                                          @DataDog/apm-python
.riot/requirements/5eb6b4f.txt                                          @DataDog/apm-python
.riot/requirements/6f12901.txt                                          @DataDog/apm-python
.riot/requirements/70dec77.txt                                          @DataDog/apm-python
.riot/requirements/7179876.txt                                          @DataDog/apm-python
.riot/requirements/792f843.txt                                          @DataDog/apm-python
.riot/requirements/8567c69.txt                                          @DataDog/apm-python
.riot/requirements/8848464.txt                                          @DataDog/apm-python
.riot/requirements/a3b8bb8.txt                                          @DataDog/apm-python
.riot/requirements/a9b5fed.txt                                          @DataDog/apm-python
.riot/requirements/ad2a94e.txt                                          @DataDog/apm-python
.riot/requirements/b947449.txt                                          @DataDog/apm-python
.riot/requirements/c59d61b.txt                                          @DataDog/apm-python
.riot/requirements/d65551b.txt                                          @DataDog/apm-python
.riot/requirements/d78868d.txt                                          @DataDog/apm-python
.riot/requirements/e5e30b6.txt                                          @DataDog/apm-python
.riot/requirements/e6e4cca.txt                                          @DataDog/apm-python
.riot/requirements/fa67e31.txt                                          @DataDog/apm-python
.riot/requirements/fadb064.txt                                          @DataDog/apm-python
.riot/requirements/fb8986c.txt                                          @DataDog/apm-python

self,
integration_name: str,
is_external_package: bool = True,
dependency_names: list = [],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟠 Code Vulnerability

do not use a list `[]` as a default initializer in the function (...read more)

Developers should not be setting a default argument to an empty list. Instead, use None and check if the value is defined. Using a default list can cause unwanted behavior as the value of the argument is only evaluated once when the function is defined, not when it is run. Because of this, each function call will reference the same underlying memory when the default value is used, which can lead to unwanted behavior.

Learn More

View in Datadog  Leave us feedback  Documentation

try:
os.remove(self.updater_lock_file_path)
except OSError:
pass
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Code Quality Violation

silent exception (...read more)

Using the pass statement in an exception block ignores the exception. Exceptions should never be ignored. Instead, the user must add code to notify an exception occurred and attempt to handle it or recover from it.

The exception to this rule is the use of StopIteration or StopAsyncIteration when implementing a custom iterator (as those errors are used to acknowledge the end of a successful iteration).

View in Datadog  Leave us feedback  Documentation

try:
os.remove(data_file_path)
except OSError:
pass
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Code Quality Violation

silent exception (...read more)

Using the pass statement in an exception block ignores the exception. Exceptions should never be ignored. Instead, the user must add code to notify an exception occurred and attempt to handle it or recover from it.

The exception to this rule is the use of StopIteration or StopAsyncIteration when implementing a custom iterator (as those errors are used to acknowledge the end of a successful iteration).

View in Datadog  Leave us feedback  Documentation

@github-actions
Copy link
Contributor

github-actions bot commented Apr 30, 2025

Bootstrap import analysis

Comparison of import times between this PR and base.

Summary

The average import time from this PR is: 249 ± 6 ms.

The average import time from base is: 248 ± 8 ms.

The import time difference between this PR and base is: 0.4 ± 0.3 ms.

The difference is not statistically significant (z = 1.16).

Import time breakdown

The following import paths have shrunk:

ddtrace.auto 1.287 ms (0.52%)
ddtrace 0.676 ms (0.27%)
ddtrace.bootstrap.sitecustomize 0.611 ms (0.25%)
ddtrace.bootstrap.preload 0.611 ms (0.25%)
ddtrace.internal.products 0.611 ms (0.25%)
ddtrace.internal.remoteconfig.client 0.611 ms (0.25%)

@gnufede gnufede changed the base branch from main to conti/integration-registry-versioning April 30, 2025 12:26
@pr-commenter
Copy link

pr-commenter bot commented Apr 30, 2025

Benchmarks

Benchmark execution time: 2025-04-30 12:33:12

Comparing candidate commit 7034567 in PR branch gnufede/integration-registry-versioning with baseline commit 5c7228a in branch main.

Found 0 performance improvements and 1 performance regressions! Performance is the same for 499 metrics, 8 unstable metrics.

scenario:iast_aspects-swapcase_aspect

  • 🟥 execution_time [+194.679ns; +248.955ns] or [+7.992%; +10.220%]

@wconti27 wconti27 marked this pull request as ready for review April 30, 2025 14:25
@wconti27 wconti27 requested a review from a team as a code owner April 30, 2025 14:25
@wconti27 wconti27 requested review from avara1986 and christophe-papazian and removed request for a team April 30, 2025 14:25
@wconti27 wconti27 merged commit 8820b40 into conti/integration-registry-versioning Apr 30, 2025
684 of 705 checks passed
@wconti27 wconti27 deleted the gnufede/integration-registry-versioning branch April 30, 2025 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants