Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(tracer): remove asm properties from the tracer class #11791

Merged
merged 8 commits into from
Jan 2, 2025

Conversation

mabdinur
Copy link
Contributor

@mabdinur mabdinur commented Dec 19, 2024

Description

Removes the following tracer fields and replaces all usages with the corresponding asm_config:

  • Tracer._asm_enabled
  • Tracer._iast_enabled
  • Tracer._appsec_standalone_enabled

Next steps:

  • Remove all asm, profiling, and serverless specific logic from ddtrace/_trace/tracer.py.
    • Define a product level configure methods
    • Introduce product level processors and then product specific logic.
    • Deprecate calling tracing.configure(....) for non tracing features.

Motivation

  • Decouples asm configurations from tracing
  • Avoids storing duplicate references for global configurations. Ideally global configurations should have once source of truth. This will help simplify remote configuration.

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

Copy link
Contributor

github-actions bot commented Dec 19, 2024

CODEOWNERS have been resolved as:

ddtrace/_trace/tracer.py                                                @DataDog/apm-sdk-api-python
ddtrace/appsec/_remoteconfiguration.py                                  @DataDog/asm-python
ddtrace/contrib/internal/requests/connection.py                         @DataDog/apm-core-python @DataDog/apm-idm-python
ddtrace/pin.py                                                          @DataDog/apm-sdk-api-python
ddtrace/settings/asm.py                                                 @DataDog/asm-python
tests/appsec/appsec/test_asm_standalone.py                              @DataDog/asm-python
tests/appsec/contrib_appsec/utils.py                                    @DataDog/asm-python
tests/appsec/utils.py                                                   @DataDog/asm-python
tests/contrib/django/test_django_appsec.py                              @DataDog/asm-python
tests/contrib/django/test_django_appsec_iast.py                         @DataDog/asm-python
tests/contrib/djangorestframework/test_appsec.py                        @DataDog/asm-python
tests/contrib/fastapi/test_fastapi_appsec.py                            @DataDog/asm-python
tests/contrib/fastapi/test_fastapi_appsec_iast.py                       @DataDog/asm-python
tests/contrib/flask/test_flask_appsec.py                                @DataDog/asm-python
tests/contrib/flask/test_flask_appsec_iast.py                           @DataDog/asm-python
tests/contrib/flask/test_flask_appsec_telemetry.py                      @DataDog/asm-python
tests/contrib/requests/test_requests_distributed.py                     @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/urllib3/test_urllib3.py                                   @DataDog/apm-core-python @DataDog/apm-idm-python
tests/tracer/test_tracer.py                                             @DataDog/apm-sdk-api-python

@pr-commenter
Copy link

pr-commenter bot commented Dec 19, 2024

Benchmarks

Benchmark execution time: 2025-01-02 18:52:03

Comparing candidate commit 5579309 in PR branch munir/remove-asm-properties-from-the-tracer with baseline commit 6613185 in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 394 metrics, 2 unstable metrics.

@mabdinur mabdinur force-pushed the munir/remove-asm-properties-from-the-tracer branch from a2713a3 to 6cd501f Compare December 19, 2024 18:31
@mabdinur mabdinur force-pushed the munir/remove-asm-properties-from-the-tracer branch from 6cd501f to 4bb4c5e Compare December 19, 2024 22:56
@mabdinur mabdinur marked this pull request as ready for review December 19, 2024 22:56
@mabdinur mabdinur requested review from a team as code owners December 19, 2024 22:56
ddtrace/pin.py Outdated Show resolved Hide resolved
@mabdinur mabdinur force-pushed the munir/remove-asm-properties-from-the-tracer branch from 9c66728 to bdba284 Compare December 23, 2024 18:30
@mabdinur mabdinur force-pushed the munir/remove-asm-properties-from-the-tracer branch from bdba284 to c6af5ea Compare December 23, 2024 18:31
@mabdinur mabdinur requested a review from avara1986 December 23, 2024 18:49
@mabdinur mabdinur added the changelog/no-changelog A changelog entry is not required for this PR. label Dec 23, 2024
@avara1986
Copy link
Member

LGTM! great job Munir! 👏

Copy link
Contributor

@erikayasuda erikayasuda left a comment

Choose a reason for hiding this comment

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

Just a nit and a few clarifying questions. Otherwise LGTM from the core/LP side

ddtrace/_trace/tracer.py Show resolved Hide resolved
ddtrace/appsec/_remoteconfiguration.py Show resolved Hide resolved
ddtrace/pin.py Show resolved Hide resolved
ddtrace/settings/asm.py Show resolved Hide resolved
@mabdinur mabdinur enabled auto-merge (squash) January 2, 2025 14:26
@mabdinur mabdinur merged commit 00cd9fd into main Jan 2, 2025
650 checks passed
@mabdinur mabdinur deleted the munir/remove-asm-properties-from-the-tracer branch January 2, 2025 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog/no-changelog A changelog entry is not required for this PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants