dd-trace-py icon indicating copy to clipboard operation
dd-trace-py copied to clipboard

chore(di): trigger probes

Open P403n1x87 opened this issue 1 year ago • 3 comments

We implement trigger probes. These allows triggering the capture of debug information along a trace, ensuring all the relevant probes are also triggered.

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

P403n1x87 avatar Oct 04 '24 10:10 P403n1x87

CODEOWNERS have been resolved as:

ddtrace/debugging/_live.py                                              @DataDog/debugger-python
ddtrace/debugging/_products/live_debugger.py                            @DataDog/debugger-python
ddtrace/debugging/_session.py                                           @DataDog/debugger-python
ddtrace/debugging/_signal/trigger.py                                    @DataDog/debugger-python
ddtrace/settings/live_debugging.py                                      @DataDog/apm-core-python
tests/debugging/live/__init__.py                                        @DataDog/debugger-python
tests/debugging/live/test_live_debugger.py                              @DataDog/debugger-python
tests/debugging/test_session.py                                         @DataDog/debugger-python
ddtrace/_trace/context.py                                               @DataDog/apm-sdk-api-python
ddtrace/contrib/internal/trace_utils.py                                 @DataDog/apm-core-python @DataDog/apm-idm-python
ddtrace/debugging/_exception/replay.py                                  @DataDog/debugger-python
ddtrace/debugging/_origin/span.py                                       @DataDog/debugger-python
ddtrace/debugging/_probe/model.py                                       @DataDog/debugger-python
ddtrace/debugging/_probe/remoteconfig.py                                @DataDog/debugger-python
ddtrace/debugging/_signal/__init__.py                                   @DataDog/debugger-python
ddtrace/debugging/_signal/collector.py                                  @DataDog/debugger-python
ddtrace/debugging/_signal/model.py                                      @DataDog/debugger-python
ddtrace/debugging/_uploader.py                                          @DataDog/debugger-python
ddtrace/propagation/http.py                                             @DataDog/apm-sdk-api-python
docs/configuration.rst                                                  @DataDog/python-guild
pyproject.toml                                                          @DataDog/python-guild
tests/debugging/conftest.py                                             @DataDog/debugger-python
tests/debugging/mocking.py                                              @DataDog/debugger-python
tests/debugging/origin/test_span.py                                     @DataDog/debugger-python
tests/debugging/signal/test_collector.py                                @DataDog/debugger-python
tests/debugging/test_debugger_span_decoration.py                        @DataDog/debugger-python
tests/debugging/utils.py                                                @DataDog/debugger-python
tests/submod/traced_stuff.py                                            @DataDog/apm-core-python
tests/tracer/test_context.py                                            @DataDog/apm-sdk-api-python

github-actions[bot] avatar Oct 04 '24 10:10 github-actions[bot]

Benchmarks

Benchmark execution time: 2025-02-12 18:27:45

Comparing candidate commit 57efadc565250f5389a76b48ffe27f02be8f75fa in PR branch chore/trigger-probe with baseline commit b4711ea44cdd4f81d01c0e8b939674a169e5755d in branch main.

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

scenario:httppropagationextract-all_styles_all_headers

  • 🟩 execution_time [-5.792µs; -5.495µs] or [-8.524%; -8.087%]

scenario:iast_aspects-ospathsplit_aspect

  • 🟥 execution_time [+341.831ns; +405.579ns] or [+8.799%; +10.440%]

scenario:iast_aspects-ospathsplitext_aspect

  • 🟥 execution_time [+352.599ns; +405.597ns] or [+9.836%; +11.314%]

pr-commenter[bot] avatar Oct 04 '24 11:10 pr-commenter[bot]

Datadog Report

Branch report: chore/trigger-probe Commit report: 33e9235 Test service: dd-trace-py

:white_check_mark: 0 Failed, 1598 Passed, 0 Skipped, 26m 28.34s Total duration (14m 8.72s time saved)

Datadog Report

Branch report: chore/trigger-probe Commit report: 57efadc Test service: dd-trace-py

:white_check_mark: 0 Failed, 869 Passed, 445 Skipped, 13m 12.48s Total duration (16m 43.84s time saved)