Skip to content

Comments

refactor(ci_visibility): efd refactor#12983

Closed
gnufede wants to merge 6 commits intomainfrom
gnufede/testopt-refactor
Closed

refactor(ci_visibility): efd refactor#12983
gnufede wants to merge 6 commits intomainfrom
gnufede/testopt-refactor

Conversation

@gnufede
Copy link
Member

@gnufede gnufede commented Mar 31, 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

CODEOWNERS have been resolved as:

ddtrace/internal/ci_visibility/api/_efd_settings.py                     @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/api/_test_early_flake_detection.py       @DataDog/ci-app-libraries
tests/ci_visibility/api/test_test_early_flake_detection.py              @DataDog/ci-app-libraries
tests/ci_visibility/api/test_test_session_early_flake_detection.py      @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/_api_client.py                           @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/api/_session.py                          @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/api/_test.py                             @DataDog/ci-app-libraries

@gnufede gnufede added the changelog/no-changelog A changelog entry is not required for this PR. label Mar 31, 2025


@dataclasses.dataclass(frozen=True)
class EarlyFlakeDetectionSettings:
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

Class EarlyFlakeDetectionSettings should have an init method (...read more)

Ensure that a class has an __init__ method. This check is bypassed when the class is a data class (annotated with @DataClass).

View in Datadog  Leave us feedback  Documentation

if expected_retries > 0:
assert handler.should_retry() is False
else:
assert handler.should_retry() is False
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

duplicate blocks between conditions (...read more)

Code in the branches of an if condition must be unique. If you have duplicated branches, merge the conditions.

View in Datadog  Leave us feedback  Documentation

@github-actions
Copy link
Contributor

github-actions bot commented Mar 31, 2025

Bootstrap import analysis

Comparison of import times between this PR and base.

Summary

The average import time from this PR is: 228 ± 3 ms.

The average import time from base is: 243 ± 6 ms.

The import time difference between this PR and base is: -14.5 ± 0.2 ms.

Import time breakdown

The following import paths have shrunk:

ddtrace.auto 11.945 ms (5.24%)
ddtrace 6.019 ms (2.64%)
ddtrace._logger 3.238 ms (1.42%)
ddtrace.internal.telemetry 2.928 ms (1.28%)
ddtrace.internal.telemetry.writer 2.822 ms (1.24%)
http.client 0.943 ms (0.41%)
email.parser 0.454 ms (0.20%)
email.feedparser 0.454 ms (0.20%)
email._policybase 0.454 ms (0.20%)
email.utils 0.368 ms (0.16%)
socket 0.127 ms (0.06%)
_socket 0.050 ms (0.02%)
selectors 0.025 ms (0.01%)
email._parseaddr 0.089 ms (0.04%)
calendar 0.089 ms (0.04%)
locale 0.056 ms (0.02%)
urllib.parse 0.087 ms (0.04%)
ipaddress 0.040 ms (0.02%)
random 0.042 ms (0.02%)
math 0.019 ms (0.01%)
email.header 0.086 ms (0.04%)
binascii 0.037 ms (0.02%)
email.base64mime 0.015 ms (0.01%)
base64 0.015 ms (0.01%)
struct 0.015 ms (0.01%)
_struct 0.015 ms (0.01%)
ssl 0.224 ms (0.10%)
_ssl 0.101 ms (0.04%)
email.message 0.025 ms (0.01%)
ddtrace.internal.utils.http 0.546 ms (0.24%)
dataclasses 0.302 ms (0.13%)
inspect 0.239 ms (0.10%)
ast 0.068 ms (0.03%)
dis 0.058 ms (0.03%)
opcode 0.019 ms (0.01%)
_opcode 0.019 ms (0.01%)
copy 0.014 ms (0.01%)
ddtrace.internal.http 0.122 ms (0.05%)
ddtrace.internal.runtime 0.122 ms (0.05%)
ddtrace.internal.forksafe 0.063 ms (0.03%)
wrapt 0.032 ms (0.01%)
wrapt.__wrapt__ 0.032 ms (0.01%)
wrapt._wrappers 0.019 ms (0.01%)
uuid 0.060 ms (0.03%)
platform 0.035 ms (0.02%)
_uuid 0.025 ms (0.01%)
ddtrace.internal.utils 0.027 ms (0.01%)
ddtrace.internal.utils.version 0.447 ms (0.20%)
ddtrace.vendor.packaging.version 0.447 ms (0.20%)
ddtrace.vendor.packaging 0.294 ms (0.13%)
ddtrace.vendor 0.294 ms (0.13%)
ddtrace.internal.module 0.294 ms (0.13%)
ddtrace.internal.wrapping.context 0.249 ms (0.11%)
ddtrace.internal.wrapping 0.230 ms (0.10%)
bytecode 0.205 ms (0.09%)
bytecode.bytecode 0.102 ms (0.04%)
bytecode.flags 0.102 ms (0.04%)
bytecode.instr 0.102 ms (0.04%)
bytecode.cfg 0.085 ms (0.04%)
bytecode.concrete 0.032 ms (0.01%)
contextvars 0.020 ms (0.01%)
_contextvars 0.020 ms (0.01%)
ddtrace.internal.encoding 0.294 ms (0.13%)
ddtrace.internal._encoding 0.050 ms (0.02%)
ddtrace.internal.telemetry.data 0.239 ms (0.10%)
ddtrace.internal.packages 0.169 ms (0.07%)
_sysconfigdata__linux_x86_64-linux-gnu 0.066 ms (0.03%)
ddtrace.settings.third_party 0.018 ms (0.01%)
sysconfig 0.047 ms (0.02%)
ddtrace.settings._agent 0.109 ms (0.05%)
ddtrace.settings._core 0.083 ms (0.04%)
ddtrace.internal.native 0.053 ms (0.02%)
ddtrace.internal.native._native 0.053 ms (0.02%)
ddtrace.internal.periodic 0.082 ms (0.04%)
ddtrace.internal._threads 0.067 ms (0.03%)
ddtrace.settings._telemetry 0.063 ms (0.03%)
ddtrace.settings._inferred_base_service 0.063 ms (0.03%)
pathlib 0.063 ms (0.03%)
ntpath 0.008 ms (0.00%)
ddtrace.internal.atexit 0.025 ms (0.01%)
signal 0.025 ms (0.01%)
ddtrace.internal.telemetry.logging 0.020 ms (0.01%)
ddtrace.settings._otel_remapper 0.023 ms (0.01%)
logging 0.226 ms (0.10%)
traceback 0.226 ms (0.10%)
contextlib 0.200 ms (0.09%)
linecache 0.026 ms (0.01%)
tokenize 0.026 ms (0.01%)
typing 0.073 ms (0.03%)
ddtrace.trace 0.833 ms (0.37%)
ddtrace._trace.filters 0.352 ms (0.15%)
ddtrace._trace.processor 0.352 ms (0.15%)
ddtrace._trace.sampler 0.244 ms (0.11%)
ddtrace._trace.span 0.218 ms (0.10%)
ddtrace.internal._rand 0.059 ms (0.03%)
ddtrace.internal.sampling 0.041 ms (0.02%)
ddtrace.internal.rate_limiter 0.041 ms (0.02%)
ddtrace._trace._span_pointer 0.036 ms (0.02%)
pprint 0.033 ms (0.01%)
ddtrace.internal.writer 0.070 ms (0.03%)
ddtrace.internal.writer.writer 0.070 ms (0.03%)
ddtrace._trace.tracer 0.295 ms (0.13%)
ddtrace.internal.dogstatsd 0.137 ms (0.06%)
ddtrace.vendor.dogstatsd 0.137 ms (0.06%)
ddtrace.vendor.dogstatsd.base 0.137 ms (0.06%)
queue 0.045 ms (0.02%)
heapq 0.025 ms (0.01%)
_heapq 0.025 ms (0.01%)
ddtrace.vendor.dogstatsd.container 0.027 ms (0.01%)
ddtrace.internal.processor.endpoint_call_counter 0.060 ms (0.03%)
ddtrace.internal.debug 0.032 ms (0.01%)
ddtrace._trace.context 0.087 ms (0.04%)
ddtrace._trace._span_link 0.041 ms (0.02%)
ddtrace.settings._config 0.485 ms (0.21%)
ddtrace.internal.gitmetadata 0.326 ms (0.14%)
ddtrace.ext.ci 0.304 ms (0.13%)
ddtrace.ext.git 0.255 ms (0.11%)
shutil 0.129 ms (0.06%)
zlib 0.044 ms (0.02%)
bz2 0.022 ms (0.01%)
_bz2 0.022 ms (0.01%)
subprocess 0.078 ms (0.03%)
ddtrace.internal.schema 0.044 ms (0.02%)
ddtrace.internal.schema.span_attribute_schema 0.044 ms (0.02%)
ddtrace.settings.endpoint_config 0.021 ms (0.01%)
ddtrace.internal.utils.retry 0.021 ms (0.01%)
ddtrace._trace.pin 0.019 ms (0.01%)
ddtrace._monkey 0.271 ms (0.12%)
ddtrace.appsec 0.170 ms (0.07%)
ddtrace.internal.core 0.170 ms (0.07%)
ddtrace.internal.core.event_hub 0.110 ms (0.05%)
ddtrace.vendor.debtcollector 0.021 ms (0.01%)
ddtrace.vendor.debtcollector._utils 0.021 ms (0.01%)
ddtrace.settings.asm 0.050 ms (0.02%)
ddtrace.internal._file_queue 0.079 ms (0.03%)
secrets 0.059 ms (0.03%)
hmac 0.059 ms (0.03%)
_hashlib 0.059 ms (0.03%)
ddtrace.internal._unpatched 0.074 ms (0.03%)
json 0.046 ms (0.02%)
json.decoder 0.046 ms (0.02%)
json.scanner 0.023 ms (0.01%)
_json 0.023 ms (0.01%)
re 0.023 ms (0.01%)
re._compiler 0.023 ms (0.01%)
threading 0.028 ms (0.01%)
ddtrace.internal.serverless.mini_agent 0.017 ms (0.01%)
ddtrace.bootstrap.sitecustomize 5.926 ms (2.60%)
ddtrace.bootstrap.preload 5.311 ms (2.33%)
ddtrace.internal.products 3.672 ms (1.61%)
ddtrace.internal.remoteconfig.client 0.871 ms (0.38%)
importlib.metadata 0.625 ms (0.27%)
importlib.abc 0.311 ms (0.14%)
importlib.resources 0.288 ms (0.13%)
importlib.resources._legacy 0.267 ms (0.12%)
importlib.resources._common 0.020 ms (0.01%)
importlib.resources.abc 0.020 ms (0.01%)
zipfile 0.083 ms (0.04%)
csv 0.069 ms (0.03%)
_csv 0.033 ms (0.01%)
importlib.metadata._meta 0.026 ms (0.01%)
importlib.metadata._adapters 0.019 ms (0.01%)
importlib.metadata._collections 0.018 ms (0.01%)
multiprocessing 0.296 ms (0.13%)
multiprocessing.context 0.266 ms (0.12%)
multiprocessing.reduction 0.201 ms (0.09%)
pickle 0.170 ms (0.07%)
_pickle 0.054 ms (0.02%)
_compat_pickle 0.031 ms (0.01%)
multiprocessing.process 0.030 ms (0.01%)
ddtrace.internal.symbol_db.remoteconfig 0.283 ms (0.12%)
ddtrace.internal.symbol_db.symbols 0.239 ms (0.10%)
gzip 0.042 ms (0.02%)
ddtrace.settings.symbol_db 0.034 ms (0.01%)
ddtrace.internal.utils.inspection 0.026 ms (0.01%)
ddtrace.internal.remoteconfig._connectors 0.170 ms (0.07%)
ctypes 0.148 ms (0.07%)
_ctypes 0.091 ms (0.04%)
multiprocessing.sharedctypes 0.092 ms (0.04%)
multiprocessing.heap 0.055 ms (0.02%)
multiprocessing.util 0.028 ms (0.01%)
mmap 0.027 ms (0.01%)
ddtrace.internal.remoteconfig.worker 0.058 ms (0.03%)
ddtrace.settings.dynamic_instrumentation 0.042 ms (0.02%)
ddtrace.settings.code_origin 0.023 ms (0.01%)
ddtrace.settings.profiling 0.953 ms (0.42%)
ddtrace.vendor.psutil 0.802 ms (0.35%)
ddtrace.vendor.psutil._common 0.423 ms (0.19%)
ddtrace.vendor.psutil._pslinux 0.226 ms (0.10%)
glob 0.038 ms (0.02%)
ddtrace.vendor.psutil._psutil_linux 0.032 ms (0.01%)
ddtrace.vendor.psutil._psposix 0.018 ms (0.01%)
ddtrace.vendor.psutil._compat 0.029 ms (0.01%)
ddtrace.internal.datadog.profiling.ddup 0.058 ms (0.03%)
ddtrace.internal.datadog.profiling.ddup._ddup 0.058 ms (0.03%)
ddtrace.internal.flare.flare 0.156 ms (0.07%)
logging.handlers 0.073 ms (0.03%)
ddtrace.settings.crashtracker 0.138 ms (0.06%)
ddtrace.internal.datadog.profiling.crashtracker 0.106 ms (0.05%)
ddtrace.internal.datadog.profiling.crashtracker._crashtracker 0.106 ms (0.05%)
ddtrace.appsec._remoteconfiguration 0.115 ms (0.05%)
ddtrace.appsec._capabilities 0.063 ms (0.03%)
ddtrace.internal.core.crashtracking 0.025 ms (0.01%)
ddtrace.internal.flare.handler 0.019 ms (0.01%)
ddtrace._trace.trace_handlers 0.285 ms (0.12%)
ddtrace._trace._inferred_proxy 0.150 ms (0.07%)
ddtrace.propagation.http 0.150 ms (0.07%)
ddtrace.internal._tagset 0.048 ms (0.02%)
ddtrace.contrib.trace_utils 0.042 ms (0.02%)
ddtrace.contrib.internal.trace_utils 0.042 ms (0.02%)
ddtrace.appsec._common_module_patches 0.098 ms (0.04%)
ddtrace.appsec._asm_request_context 0.068 ms (0.03%)
ddtrace.appsec._utils 0.023 ms (0.01%)
shlex 0.027 ms (0.01%)

@pr-commenter
Copy link

pr-commenter bot commented Mar 31, 2025

Benchmarks

Benchmark execution time: 2025-04-01 08:54:36

Comparing candidate commit 562f3c2 in PR branch gnufede/testopt-refactor with baseline commit 056acf3 in branch main.

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

@github-actions
Copy link
Contributor

CODEOWNERS have been resolved as:

ddtrace/internal/ci_visibility/api/_efd_settings.py                     @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/api/_test_early_flake_detection.py       @DataDog/ci-app-libraries
tests/ci_visibility/api/test_test_early_flake_detection.py              @DataDog/ci-app-libraries
tests/ci_visibility/api/test_test_session_early_flake_detection.py      @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/_api_client.py                           @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/api/_session.py                          @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/api/_test.py                             @DataDog/ci-app-libraries

@github-actions
Copy link
Contributor

github-actions bot commented Apr 1, 2025

CODEOWNERS have been resolved as:

ddtrace/internal/ci_visibility/api/_efd_settings.py                     @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/api/_test_early_flake_detection.py       @DataDog/ci-app-libraries
tests/ci_visibility/api/test_test_early_flake_detection.py              @DataDog/ci-app-libraries
tests/ci_visibility/api/test_test_session_early_flake_detection.py      @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/_api_client.py                           @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/api/_session.py                          @DataDog/ci-app-libraries
ddtrace/internal/ci_visibility/api/_test.py                             @DataDog/ci-app-libraries

@github-actions github-actions bot added the stale label May 2, 2025
@github-actions
Copy link
Contributor

github-actions bot commented May 4, 2025

This pull request has been automatically closed after a period of inactivity.
After this much time, it will likely be easier to open a new pull request with the
same changes than to update this one from the base branch. Please comment or reopen
if you think this pull request was closed in error.

@github-actions github-actions bot closed this May 4, 2025
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. stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant