-
Notifications
You must be signed in to change notification settings - Fork 412
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
refactor: implement native periodic thread #7659
refactor: implement native periodic thread #7659
Conversation
07bc612
to
14028af
Compare
f43432f
to
f9e1df3
Compare
Running flask-simple locally:
Benchmark hidden because not significant (3): flasksimple-baseline, flasksimple-tracer, flasksimple-appsec-telemetry |
2fe19d7
to
f1e12a6
Compare
636ede5
to
0d56915
Compare
0d56915
to
e812ad8
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #7659 +/- ##
===========================================
- Coverage 76.15% 10.19% -65.96%
===========================================
Files 1287 1257 -30
Lines 121888 120004 -1884
===========================================
- Hits 92818 12235 -80583
- Misses 29070 107769 +78699 ☔ View full report in Codecov by Sentry. |
@P403n1x87 this seems to be a proximate cause of failures like this on |
This PR re-implements the periodic service to use a periodic thread implemented in C++. The reason for doing this is to reduce the dependency of the library on the
threading
module, which is the source of issues when it comes to frameworks such asgevent
.This is the first step towards a refactoring that is aimed at removing the dependency on the
threading
module entirely, potentially leading to phasing out the module cloning mechanism, which is what we currently have in place to support frameworks such as the already mentionedgevent
.Testing strategy
The existing test suite provides already many reliable test cases that can give us good confidence about the proposed changes. Further testing is being performed in internal environments.
Performance
We do not expect any particular performance impact from this change
Checklist
changelog/no-changelog
.Reviewer Checklist
@DataDog/security-design-and-guidance
.