-
Notifications
You must be signed in to change notification settings - Fork 440
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
Allow goroutines not launched by the tracer to stop on tracer.Stop() #3025
base: main
Are you sure you want to change the base?
Conversation
Datadog ReportBranch report: ❌ 2 Failed (0 Known Flaky), 5113 Passed, 70 Skipped, 2m 34.66s Total Time ❌ Failed Tests (2)
|
BenchmarksBenchmark execution time: 2024-12-17 01:56:26 Comparing candidate commit 37b52f9 in PR branch Found 0 performance improvements and 3 performance regressions! Performance is the same for 55 metrics, 1 unstable metrics. scenario:BenchmarkSetTagMetric-24
scenario:BenchmarkSetTagString-24
scenario:BenchmarkSetTagStringer-24
|
0692055
to
37b52f9
Compare
What does this PR do?
Introduces a new package,
contribroutines
, which contains astop
channel and an API for getting the channel and closing the channel.The contribs should get the channel to use as a stop condition for any goroutines they launch, and the tracer should be the only one to stop the channel.
Motivation
We needed a way for the tracer to stop any goroutines that it does not directly manage on tracer.Stop(); without such a mechanism, we were dealing with runaway goroutines.
Reviewer's Checklist
v2-dev
branch and reviewed by @DataDog/apm-go.Unsure? Have a question? Request a review!