-
Notifications
You must be signed in to change notification settings - Fork 414
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
fix(celery): handle upstream celery patch and propagation during an e… #11272
Conversation
|
c112d7b
to
0c78226
Compare
BenchmarksBenchmark execution time: 2024-11-14 15:25:02 Comparing candidate commit 09cb50d in PR branch Found 5 performance improvements and 0 performance regressions! Performance is the same for 383 metrics, 2 unstable metrics. scenario:iast_aspects-split_aspect
scenario:iast_aspects-splitlines_aspect
scenario:iast_aspects-swapcase_aspect
scenario:iast_aspects-title_aspect
scenario:iast_aspects-upper_aspect
|
Datadog ReportBranch report: ✅ 0 Failed, 592 Passed, 604 Skipped, 19m 48s Total duration (16m 22.28s time saved) |
c24aa4c
to
28516ce
Compare
6855260
to
3a041e2
Compare
releasenotes/notes/fix-elasticsearch-always-populate-span-tags-aa904d748362f2d1.yaml
Outdated
Show resolved
Hide resolved
/merge |
1 similar comment
/merge |
Devflow running:
|
Devflow running:
|
/merge |
Devflow running:
|
…rror Prior to this change two things weren't working: 1. An upstream Celery patch broke context propagation due to the way ddtrace propagates headers. Prior to this upstream patch, context had to be propagated under kwargs[headers][headers], but after the patch it can be propagated under kwargs[headers]. We now look in the right places for propagated information and retrieve from the right places. 2. Prior to this patch, If Task-A calls Task-B and Task-A errors out before Task-B creates its span, then Task-B would fail to parent itself on Task-A (instead going one level up). This caused errant service-entry `celery.apply` spans on workers, which should always have `celery.run` service entry spans.
3baee48
to
b456652
Compare
/merge |
Devflow running:
|
Prior to this change two things weren't working:
An upstream Celery patch broke context propagation due to the way ddtrace propagates headers. Prior to this upstream patch, context had to be propagated under kwargs[headers][headers], but after the patch it can be propagated under kwargs[headers]. We now look in the right places for propagated information and retrieve from the right places.
Prior to this patch, If Task-A calls Task-B and Task-A errors out before Task-B creates its span, then Task-B would fail to parent itself on Task-A (instead going one level up). This caused errant service-entry
celery.apply
spans on workers, which should always havecelery.run
service entry spans.Checklist
Reviewer Checklist