Skip to content

Migrate context extraction calls to context-first APIs #8368

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

Merged
merged 4 commits into from
Feb 12, 2025

Conversation

PerfectSlayer
Copy link
Contributor

@PerfectSlayer PerfectSlayer commented Feb 11, 2025

What Does This Do

This PR continue migrating the context propagation using the new Context API:

  • Implement new default extraction into legacy core propagation API
  • Remove core propagation injection API (fully migrated)
  • Improve composite propagator application order

Motivation

Additional Notes

Most CorePropagationTest is commented and will be deleted in the next related PR.

Contributor Checklist

Jira ticket: LANGPLAT-295

@PerfectSlayer PerfectSlayer added type: enhancement Enhancements and improvements comp: core Tracer core labels Feb 11, 2025
@PerfectSlayer PerfectSlayer requested a review from a team as a code owner February 11, 2025 12:33
@@ -40,7 +35,11 @@ interface Setter<C> extends CarrierSetter<C> {
void set(C carrier, String key, String value);
}

<C> AgentSpanContext.Extracted extract(C carrier, ContextVisitor<C> getter);
default <C> AgentSpanContext.Extracted extract(final C carrier, final ContextVisitor<C> getter) {
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

Suggested change
default <C> AgentSpanContext.Extracted extract(final C carrier, final ContextVisitor<C> getter) {
default <C> AgentSpanContext.Extracted extract(C carrier, final ContextVisitor<C> getter) {
Avoid declaring as final as it may not be used (...read more)

The rule "Avoid useless final type in interface method" advises against the unnecessary use of the final keyword in the method parameters of an interface. In Java, the final keyword is used to denote that a variable cannot be changed once assigned. However, in the context of an interface method, this is redundant as the value of the parameter cannot be changed within the method anyway.

The importance of this rule lies in the clarity and simplicity of code. Unnecessary use of final in this context can lead to confusion for those reading the code, as it suggests that there may be a specific reason for its use when there is not. It can also clutter the code, making it less readable.

Good coding practices to avoid this rule violation include simply not using the final keyword in the method parameters of an interface. This does not affect the functionality of the code, but it makes it cleaner and easier to understand. For example, instead of writing void process(final Object arg);, you can write void process(Object arg);. This maintains the same functionality but improves the readability of the code.

View in Datadog  Leave us feedback  Documentation

@pr-commenter
Copy link

pr-commenter bot commented Feb 11, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/context-propagation-step5
git_commit_date 1739283028 1739287631
git_commit_sha cb0dcc4 9f13521
release_version 1.47.0-SNAPSHOT~cb0dcc4de9 1.47.0-SNAPSHOT~9f13521b29
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1739290207 1739290207
ci_job_id 803154221 803154221
ci_pipeline_id 55545435 55545435
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-qbtn6dnf-project-304-concurrent-0-4capv22c 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-qbtn6dnf-project-304-concurrent-0-4capv22c 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~9f13521b29, baseline=1.47.0-SNAPSHOT~cb0dcc4de9

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1054394
Total [baseline] (8.675 s) : 0, 8674858
Agent [candidate] (1.043 s) : 0, 1042954
Total [candidate] (8.629 s) : 0, 8628801
section iast
Agent [baseline] (1.173 s) : 0, 1173231
Total [baseline] (9.23 s) : 0, 9229802
Agent [candidate] (1.174 s) : 0, 1173612
Total [candidate] (9.228 s) : 0, 9227998
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.183 s) : 0, 1183364
Total [baseline] (9.335 s) : 0, 9334778
Agent [candidate] (1.181 s) : 0, 1180942
Total [candidate] (9.236 s) : 0, 9236017
section iast_TELEMETRY_OFF
Agent [baseline] (1.173 s) : 0, 1172918
Total [baseline] (9.237 s) : 0, 9236801
Agent [candidate] (1.166 s) : 0, 1165664
Total [candidate] (9.234 s) : 0, 9233776
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent iast 1.173 s 118.837 ms (11.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.183 s 128.97 ms (12.2%)
Agent iast_TELEMETRY_OFF 1.173 s 118.524 ms (11.2%)
Total tracing 8.675 s -
Total iast 9.23 s 554.944 ms (6.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.335 s 659.92 ms (7.6%)
Total iast_TELEMETRY_OFF 9.237 s 561.943 ms (6.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.043 s -
Agent iast 1.174 s 130.659 ms (12.5%)
Agent iast_HARDCODED_SECRET_DISABLED 1.181 s 137.989 ms (13.2%)
Agent iast_TELEMETRY_OFF 1.166 s 122.71 ms (11.8%)
Total tracing 8.629 s -
Total iast 9.228 s 599.197 ms (6.9%)
Total iast_HARDCODED_SECRET_DISABLED 9.236 s 607.216 ms (7.0%)
Total iast_TELEMETRY_OFF 9.234 s 604.975 ms (7.0%)
gantt
    title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~9f13521b29, baseline=1.47.0-SNAPSHOT~cb0dcc4de9

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (725.064 ms) : 0, 725064
BytebuddyAgent [candidate] (717.919 ms) : 0, 717919
GlobalTracer [baseline] (246.047 ms) : 0, 246047
GlobalTracer [candidate] (240.724 ms) : 0, 240724
AppSec [baseline] (55.672 ms) : 0, 55672
AppSec [candidate] (56.202 ms) : 0, 56202
Remote Config [baseline] (715.732 µs) : 0, 716
Remote Config [candidate] (709.507 µs) : 0, 710
Telemetry [baseline] (11.548 ms) : 0, 11548
Telemetry [candidate] (12.108 ms) : 0, 12108
section iast
BytebuddyAgent [baseline] (834.792 ms) : 0, 834792
BytebuddyAgent [candidate] (836.328 ms) : 0, 836328
GlobalTracer [baseline] (233.825 ms) : 0, 233825
GlobalTracer [candidate] (232.143 ms) : 0, 232143
AppSec [baseline] (57.181 ms) : 0, 57181
AppSec [candidate] (57.615 ms) : 0, 57615
Remote Config [baseline] (616.121 µs) : 0, 616
Remote Config [candidate] (645.078 µs) : 0, 645
Telemetry [baseline] (8.669 ms) : 0, 8669
Telemetry [candidate] (8.763 ms) : 0, 8763
IAST [baseline] (22.887 ms) : 0, 22887
IAST [candidate] (22.834 ms) : 0, 22834
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (842.209 ms) : 0, 842209
BytebuddyAgent [candidate] (843.056 ms) : 0, 843056
GlobalTracer [baseline] (236.03 ms) : 0, 236030
GlobalTracer [candidate] (233.008 ms) : 0, 233008
AppSec [baseline] (57.192 ms) : 0, 57192
AppSec [candidate] (57.184 ms) : 0, 57184
Remote Config [baseline] (620.347 µs) : 0, 620
Remote Config [candidate] (616.62 µs) : 0, 617
Telemetry [baseline] (8.83 ms) : 0, 8830
Telemetry [candidate] (8.698 ms) : 0, 8698
IAST [baseline] (23.123 ms) : 0, 23123
IAST [candidate] (22.974 ms) : 0, 22974
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (834.34 ms) : 0, 834340
BytebuddyAgent [candidate] (831.233 ms) : 0, 831233
GlobalTracer [baseline] (234.441 ms) : 0, 234441
GlobalTracer [candidate] (230.686 ms) : 0, 230686
AppSec [baseline] (55.694 ms) : 0, 55694
AppSec [candidate] (55.518 ms) : 0, 55518
Remote Config [baseline] (623.973 µs) : 0, 624
Remote Config [candidate] (608.67 µs) : 0, 609
Telemetry [baseline] (8.505 ms) : 0, 8505
Telemetry [candidate] (8.605 ms) : 0, 8605
IAST [baseline] (23.991 ms) : 0, 23991
IAST [candidate] (23.758 ms) : 0, 23758
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~9f13521b29, baseline=1.47.0-SNAPSHOT~cb0dcc4de9

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.043 s) : 0, 1042533
Total [baseline] (10.49 s) : 0, 10489777
Agent [candidate] (1.051 s) : 0, 1050983
Total [candidate] (10.619 s) : 0, 10619199
section appsec
Agent [baseline] (1.19 s) : 0, 1189578
Total [baseline] (10.793 s) : 0, 10793417
Agent [candidate] (1.185 s) : 0, 1185432
Total [candidate] (10.775 s) : 0, 10774548
section iast
Agent [baseline] (1.175 s) : 0, 1175058
Total [baseline] (10.978 s) : 0, 10978004
Agent [candidate] (1.17 s) : 0, 1169780
Total [candidate] (11.105 s) : 0, 11104601
section profiling
Agent [baseline] (1.267 s) : 0, 1267360
Total [baseline] (10.884 s) : 0, 10884017
Agent [candidate] (1.262 s) : 0, 1262214
Total [candidate] (10.865 s) : 0, 10865146
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.043 s -
Agent appsec 1.19 s 147.045 ms (14.1%)
Agent iast 1.175 s 132.525 ms (12.7%)
Agent profiling 1.267 s 224.827 ms (21.6%)
Total tracing 10.49 s -
Total appsec 10.793 s 303.639 ms (2.9%)
Total iast 10.978 s 488.227 ms (4.7%)
Total profiling 10.884 s 394.239 ms (3.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.051 s -
Agent appsec 1.185 s 134.448 ms (12.8%)
Agent iast 1.17 s 118.797 ms (11.3%)
Agent profiling 1.262 s 211.231 ms (20.1%)
Total tracing 10.619 s -
Total appsec 10.775 s 155.35 ms (1.5%)
Total iast 11.105 s 485.403 ms (4.6%)
Total profiling 10.865 s 245.947 ms (2.3%)
gantt
    title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~9f13521b29, baseline=1.47.0-SNAPSHOT~cb0dcc4de9

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.922 ms) : 0, 714922
BytebuddyAgent [candidate] (722.291 ms) : 0, 722291
GlobalTracer [baseline] (242.926 ms) : 0, 242926
GlobalTracer [candidate] (242.902 ms) : 0, 242902
AppSec [baseline] (55.064 ms) : 0, 55064
AppSec [candidate] (56.005 ms) : 0, 56005
Remote Config [baseline] (718.729 µs) : 0, 719
Remote Config [candidate] (723.464 µs) : 0, 723
Telemetry [baseline] (13.696 ms) : 0, 13696
Telemetry [candidate] (13.797 ms) : 0, 13797
section appsec
BytebuddyAgent [baseline] (736.689 ms) : 0, 736689
BytebuddyAgent [candidate] (735.177 ms) : 0, 735177
GlobalTracer [baseline] (241.53 ms) : 0, 241530
GlobalTracer [candidate] (238.398 ms) : 0, 238398
AppSec [baseline] (176.261 ms) : 0, 176261
AppSec [candidate] (176.075 ms) : 0, 176075
Remote Config [baseline] (665.688 µs) : 0, 666
Remote Config [candidate] (664.43 µs) : 0, 664
Telemetry [baseline] (8.339 ms) : 0, 8339
Telemetry [candidate] (8.997 ms) : 0, 8997
IAST [baseline] (21.664 ms) : 0, 21664
IAST [candidate] (21.772 ms) : 0, 21772
section iast
BytebuddyAgent [baseline] (836.515 ms) : 0, 836515
BytebuddyAgent [candidate] (834.054 ms) : 0, 834054
GlobalTracer [baseline] (234.326 ms) : 0, 234326
GlobalTracer [candidate] (231.176 ms) : 0, 231176
AppSec [baseline] (56.894 ms) : 0, 56894
AppSec [candidate] (57.125 ms) : 0, 57125
Remote Config [baseline] (615.654 µs) : 0, 616
Remote Config [candidate] (623.492 µs) : 0, 623
Telemetry [baseline] (8.628 ms) : 0, 8628
Telemetry [candidate] (8.715 ms) : 0, 8715
IAST [baseline] (22.819 ms) : 0, 22819
IAST [candidate] (22.792 ms) : 0, 22792
section profiling
BytebuddyAgent [baseline] (709.132 ms) : 0, 709132
BytebuddyAgent [candidate] (706.955 ms) : 0, 706955
GlobalTracer [baseline] (354.926 ms) : 0, 354926
GlobalTracer [candidate] (352.436 ms) : 0, 352436
AppSec [baseline] (55.312 ms) : 0, 55312
AppSec [candidate] (54.486 ms) : 0, 54486
Remote Config [baseline] (703.565 µs) : 0, 704
Remote Config [candidate] (703.151 µs) : 0, 703
Telemetry [baseline] (8.898 ms) : 0, 8898
Telemetry [candidate] (8.919 ms) : 0, 8919
ProfilingAgent [baseline] (96.059 ms) : 0, 96059
ProfilingAgent [candidate] (96.494 ms) : 0, 96494
Profiling [baseline] (96.085 ms) : 0, 96085
Profiling [candidate] (96.522 ms) : 0, 96522
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-02-11T15:37:53 2025-02-11T15:44:56
git_branch master bbujon/context-propagation-step5
git_commit_date 1739283028 1739287631
git_commit_sha cb0dcc4 9f13521
release_version 1.47.0-SNAPSHOT~cb0dcc4de9 1.47.0-SNAPSHOT~9f13521b29
start_time 2025-02-11T15:37:39 2025-02-11T15:44:42
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1739289054 1739289054
ci_job_id 803154224 803154224
ci_pipeline_id 55545435 55545435
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-t7btoxr-project-304-concurrent-0-xqqncigp 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-t7btoxr-project-304-concurrent-0-xqqncigp 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

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

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~9f13521b29, baseline=1.47.0-SNAPSHOT~cb0dcc4de9
    dateFormat X
    axisFormat %s
section baseline
no_agent (380.766 µs) : 361, 400
.   : milestone, 381,
iast (505.144 µs) : 484, 527
.   : milestone, 505,
iast_FULL (743.852 µs) : 722, 766
.   : milestone, 744,
iast_GLOBAL (550.511 µs) : 529, 572
.   : milestone, 551,
iast_HARDCODED_SECRET_DISABLED (507.487 µs) : 486, 529
.   : milestone, 507,
iast_INACTIVE (457.593 µs) : 436, 479
.   : milestone, 458,
iast_TELEMETRY_OFF (496.278 µs) : 473, 520
.   : milestone, 496,
tracing (456.031 µs) : 432, 480
.   : milestone, 456,
section candidate
no_agent (391.791 µs) : 371, 412
.   : milestone, 392,
iast (511.424 µs) : 490, 533
.   : milestone, 511,
iast_FULL (747.586 µs) : 726, 770
.   : milestone, 748,
iast_GLOBAL (548.469 µs) : 527, 570
.   : milestone, 548,
iast_HARDCODED_SECRET_DISABLED (513.186 µs) : 491, 536
.   : milestone, 513,
iast_INACTIVE (460.629 µs) : 439, 482
.   : milestone, 461,
iast_TELEMETRY_OFF (501.77 µs) : 479, 525
.   : milestone, 502,
tracing (451.311 µs) : 431, 472
.   : milestone, 451,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 380.766 µs [361.151 µs, 400.381 µs] -
iast 505.144 µs [483.506 µs, 526.781 µs] 124.378 µs (32.7%)
iast_FULL 743.852 µs [722.047 µs, 765.656 µs] 363.086 µs (95.4%)
iast_GLOBAL 550.511 µs [529.082 µs, 571.939 µs] 169.745 µs (44.6%)
iast_HARDCODED_SECRET_DISABLED 507.487 µs [485.827 µs, 529.146 µs] 126.721 µs (33.3%)
iast_INACTIVE 457.593 µs [436.227 µs, 478.959 µs] 76.827 µs (20.2%)
iast_TELEMETRY_OFF 496.278 µs [472.965 µs, 519.592 µs] 115.512 µs (30.3%)
tracing 456.031 µs [431.774 µs, 480.287 µs] 75.265 µs (19.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 391.791 µs [371.293 µs, 412.288 µs] -
iast 511.424 µs [489.729 µs, 533.118 µs] 119.633 µs (30.5%)
iast_FULL 747.586 µs [725.634 µs, 769.538 µs] 355.795 µs (90.8%)
iast_GLOBAL 548.469 µs [526.963 µs, 569.974 µs] 156.678 µs (40.0%)
iast_HARDCODED_SECRET_DISABLED 513.186 µs [490.61 µs, 535.762 µs] 121.395 µs (31.0%)
iast_INACTIVE 460.629 µs [439.356 µs, 481.902 µs] 68.838 µs (17.6%)
iast_TELEMETRY_OFF 501.77 µs [478.822 µs, 524.718 µs] 109.979 µs (28.1%)
tracing 451.311 µs [430.725 µs, 471.896 µs] 59.52 µs (15.2%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~9f13521b29, baseline=1.47.0-SNAPSHOT~cb0dcc4de9
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.353 ms) : 1334, 1372
.   : milestone, 1353,
appsec (1.75 ms) : 1727, 1773
.   : milestone, 1750,
appsec_no_iast (1.767 ms) : 1742, 1792
.   : milestone, 1767,
iast (1.507 ms) : 1482, 1532
.   : milestone, 1507,
profiling (1.498 ms) : 1474, 1523
.   : milestone, 1498,
tracing (1.496 ms) : 1473, 1520
.   : milestone, 1496,
section candidate
no_agent (1.346 ms) : 1326, 1365
.   : milestone, 1346,
appsec (1.749 ms) : 1725, 1773
.   : milestone, 1749,
appsec_no_iast (1.745 ms) : 1720, 1769
.   : milestone, 1745,
iast (1.503 ms) : 1479, 1526
.   : milestone, 1503,
profiling (1.52 ms) : 1497, 1543
.   : milestone, 1520,
tracing (1.484 ms) : 1459, 1508
.   : milestone, 1484,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.353 ms [1.334 ms, 1.372 ms] -
appsec 1.75 ms [1.727 ms, 1.773 ms] 397.067 µs (29.3%)
appsec_no_iast 1.767 ms [1.742 ms, 1.792 ms] 413.782 µs (30.6%)
iast 1.507 ms [1.482 ms, 1.532 ms] 154.357 µs (11.4%)
profiling 1.498 ms [1.474 ms, 1.523 ms] 145.512 µs (10.8%)
tracing 1.496 ms [1.473 ms, 1.52 ms] 143.435 µs (10.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.346 ms [1.326 ms, 1.365 ms] -
appsec 1.749 ms [1.725 ms, 1.773 ms] 403.501 µs (30.0%)
appsec_no_iast 1.745 ms [1.72 ms, 1.769 ms] 398.875 µs (29.6%)
iast 1.503 ms [1.479 ms, 1.526 ms] 156.886 µs (11.7%)
profiling 1.52 ms [1.497 ms, 1.543 ms] 174.315 µs (13.0%)
tracing 1.484 ms [1.459 ms, 1.508 ms] 137.706 µs (10.2%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/context-propagation-step5
git_commit_date 1739283028 1739287631
git_commit_sha cb0dcc4 9f13521
release_version 1.47.0-SNAPSHOT~cb0dcc4de9 1.47.0-SNAPSHOT~9f13521b29
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1739289733 1739289733
ci_job_id 803154225 803154225
ci_pipeline_id 55545435 55545435
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-ybtya7df-project-304-concurrent-0-3ssixbem 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-ybtya7df-project-304-concurrent-0-3ssixbem 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
variant appsec appsec

Summary

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

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~9f13521b29, baseline=1.47.0-SNAPSHOT~cb0dcc4de9
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.475 ms) : 1464, 1487
.   : milestone, 1475,
appsec (2.372 ms) : 2329, 2415
.   : milestone, 2372,
iast (2.105 ms) : 2051, 2160
.   : milestone, 2105,
iast_GLOBAL (2.152 ms) : 2097, 2207
.   : milestone, 2152,
profiling (1.994 ms) : 1949, 2040
.   : milestone, 1994,
tracing (1.949 ms) : 1907, 1991
.   : milestone, 1949,
section candidate
no_agent (1.471 ms) : 1460, 1483
.   : milestone, 1471,
appsec (2.371 ms) : 2327, 2414
.   : milestone, 2371,
iast (2.119 ms) : 2064, 2174
.   : milestone, 2119,
iast_GLOBAL (2.158 ms) : 2102, 2213
.   : milestone, 2158,
profiling (1.983 ms) : 1939, 2027
.   : milestone, 1983,
tracing (1.95 ms) : 1908, 1992
.   : milestone, 1950,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.464 ms, 1.487 ms] -
appsec 2.372 ms [2.329 ms, 2.415 ms] 896.531 µs (60.8%)
iast 2.105 ms [2.051 ms, 2.16 ms] 629.919 µs (42.7%)
iast_GLOBAL 2.152 ms [2.097 ms, 2.207 ms] 676.554 µs (45.9%)
profiling 1.994 ms [1.949 ms, 2.04 ms] 518.939 µs (35.2%)
tracing 1.949 ms [1.907 ms, 1.991 ms] 473.374 µs (32.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.471 ms [1.46 ms, 1.483 ms] -
appsec 2.371 ms [2.327 ms, 2.414 ms] 899.254 µs (61.1%)
iast 2.119 ms [2.064 ms, 2.174 ms] 647.195 µs (44.0%)
iast_GLOBAL 2.158 ms [2.102 ms, 2.213 ms] 686.211 µs (46.6%)
profiling 1.983 ms [1.939 ms, 2.027 ms] 511.471 µs (34.8%)
tracing 1.95 ms [1.908 ms, 1.992 ms] 478.612 µs (32.5%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~9f13521b29, baseline=1.47.0-SNAPSHOT~cb0dcc4de9
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.614 s) : 15614000, 15614000
.   : milestone, 15614000,
appsec (15.012 s) : 15012000, 15012000
.   : milestone, 15012000,
iast (18.43 s) : 18430000, 18430000
.   : milestone, 18430000,
iast_GLOBAL (18.022 s) : 18022000, 18022000
.   : milestone, 18022000,
profiling (14.889 s) : 14889000, 14889000
.   : milestone, 14889000,
tracing (15.048 s) : 15048000, 15048000
.   : milestone, 15048000,
section candidate
no_agent (15.557 s) : 15557000, 15557000
.   : milestone, 15557000,
appsec (15.133 s) : 15133000, 15133000
.   : milestone, 15133000,
iast (19.075 s) : 19075000, 19075000
.   : milestone, 19075000,
iast_GLOBAL (18.041 s) : 18041000, 18041000
.   : milestone, 18041000,
profiling (15.743 s) : 15743000, 15743000
.   : milestone, 15743000,
tracing (15.093 s) : 15093000, 15093000
.   : milestone, 15093000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.614 s [15.614 s, 15.614 s] -
appsec 15.012 s [15.012 s, 15.012 s] -602.0 ms (-3.9%)
iast 18.43 s [18.43 s, 18.43 s] 2.816 s (18.0%)
iast_GLOBAL 18.022 s [18.022 s, 18.022 s] 2.408 s (15.4%)
profiling 14.889 s [14.889 s, 14.889 s] -725.0 ms (-4.6%)
tracing 15.048 s [15.048 s, 15.048 s] -566.0 ms (-3.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.557 s [15.557 s, 15.557 s] -
appsec 15.133 s [15.133 s, 15.133 s] -424.0 ms (-2.7%)
iast 19.075 s [19.075 s, 19.075 s] 3.518 s (22.6%)
iast_GLOBAL 18.041 s [18.041 s, 18.041 s] 2.484 s (16.0%)
profiling 15.743 s [15.743 s, 15.743 s] 186.0 ms (1.2%)
tracing 15.093 s [15.093 s, 15.093 s] -464.0 ms (-3.0%)

import javax.annotation.Nullable;
import javax.annotation.ParametersAreNonnullByDefault;

// TODO Javadoc
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be documented as part of the next PR, which will be dedicated to DSM migration.


@Override
public <C> void inject(Context context, C carrier, CarrierSetter<C> setter) {
// TODO Still in CorePropagation, not migrated yet
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similarly, this will be completed in the next PR

@PerfectSlayer PerfectSlayer force-pushed the bbujon/context-propagation-step5 branch from 7945b33 to 9f13521 Compare February 11, 2025 15:27
@@ -40,7 +39,11 @@ interface Setter<C> extends CarrierSetter<C> {
void set(C carrier, String key, String value);
}

<C> AgentSpanContext.Extracted extract(C carrier, ContextVisitor<C> getter);
default <C> AgentSpanContext.Extracted extract(final C carrier, final ContextVisitor<C> getter) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This methods will become static as soon as DSM is migrated as there will be no more need of AgentPropagation / CorePropagation instances.

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, we should run this past DSM so they're aware

@PerfectSlayer
Copy link
Contributor Author

I will let them know and include them as part of the next step as it will be focused on DSM refactoring.

@PerfectSlayer PerfectSlayer merged commit 46fd85c into master Feb 12, 2025
203 checks passed
@PerfectSlayer PerfectSlayer deleted the bbujon/context-propagation-step5 branch February 12, 2025 12:26
@github-actions github-actions bot added this to the 1.47.0 milestone Feb 12, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Mar 6, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.46.1` -> `1.47.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.46.1` -> `1.47.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.33` -> `2.30.34` |

---

### Release Notes

<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>

###
[`v1.47.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.47.0):
1.47.0

##### Components

##### Application Security Management (IAST)

- 🐛 Exclude com.stripe.net.HttpURLConnectionClient to solve IAST
SSRF vulnerability false positives
([#&#8203;8483](DataDog/dd-trace-java#8483) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Add exclusion to solve IAST weak randomness vulnerability false
positives
([#&#8203;8462](DataDog/dd-trace-java#8462) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak randomness false positive in Kafka client
([#&#8203;8408](DataDog/dd-trace-java#8408) -
[@&#8203;smola](https://github.com/smola))
- ✨ Fix location for SSRF with Kong Unirest
([#&#8203;8407](DataDog/dd-trace-java#8407) -
[@&#8203;smola](https://github.com/smola))
- ✨ Exclude IBM Instana from IAST
([#&#8203;8406](DataDog/dd-trace-java#8406) -
[@&#8203;smola](https://github.com/smola))
- 🐛 Fix org.json iast instrumentation test for latest dependency
([#&#8203;8347](DataDog/dd-trace-java#8347) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Configuration to Disable APM Tracing
([#&#8203;8219](DataDog/dd-trace-java#8219) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Address cookie vulnerability cardinality issues
([#&#8203;8210](DataDog/dd-trace-java#8210) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Email HTML Injection detection in IAST
([#&#8203;8205](DataDog/dd-trace-java#8205) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Application Security Management (WAF)

- 🐛✨ Ensure usr.exists tag is not overridden when
UsernameNotFoundException is thrown
([#&#8203;8376](DataDog/dd-trace-java#8376) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛✨ Ensure usr.exists tag is not overridden by auto
instrumentation
([#&#8203;8374](DataDog/dd-trace-java#8374) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Update appsec metrics with event_rules_version tag
([#&#8203;8354](DataDog/dd-trace-java#8354) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Update metrics: appsec.waf.requests
([#&#8203;8353](DataDog/dd-trace-java#8353) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Improve ASM support in vert.x 5.0
([#&#8203;8285](DataDog/dd-trace-java#8285) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Update metrics: appsec.waf.updates and appsec.waf.init
([#&#8203;8280](DataDog/dd-trace-java#8280) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Configuration to Disable APM Tracing
([#&#8203;8219](DataDog/dd-trace-java#8219) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Build & Tooling

- 🐛 Do not generate Muzzle references for primitive arrays in method
body
([#&#8203;8361](DataDog/dd-trace-java#8361) -
[@&#8203;amarziali](https://github.com/amarziali))
- 📖 Improve dev env setup documentation for Windows
([#&#8203;8180](DataDog/dd-trace-java#8180) -
[@&#8203;lucaspimentel](https://github.com/lucaspimentel))

##### Continuous Integration Visibility

- ✨ Add support for skip-EFD tagging
([#&#8203;8487](DataDog/dd-trace-java#8487) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix an NPE in Gradle Android instrumentation
([#&#8203;8484](DataDog/dd-trace-java#8484) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Consider modified tests when applying fail-fast tests
ordering
([#&#8203;8474](DataDog/dd-trace-java#8474) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement tests reordering for TestNG
([#&#8203;8467](DataDog/dd-trace-java#8467) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Gradle Launcher instrumentation to not interfere with Gradle
Test Kit
([#&#8203;8465](DataDog/dd-trace-java#8465) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Use separate TestEventHandlers per framework in CI Vis
instrumentations
([#&#8203;8451](DataDog/dd-trace-java#8451) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Remove warning log when JUnit 4 test method cannot be
retrieved
([#&#8203;8445](DataDog/dd-trace-java#8445) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Scalatest tracing for tests that are reported asynchronously
([#&#8203;8444](DataDog/dd-trace-java#8444) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement attempt to fix tests
([#&#8203;8393](DataDog/dd-trace-java#8393) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement test disabling
([#&#8203;8377](DataDog/dd-trace-java#8377) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Update CODEOWNERS parser to not log errors on comments with
leading whitespace
([#&#8203;8349](DataDog/dd-trace-java#8349) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Request Test Management tests list
([#&#8203;8345](DataDog/dd-trace-java#8345) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Receive test management settings from CIVis settings
request
([#&#8203;8331](DataDog/dd-trace-java#8331) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement quarantined tests tagging
([#&#8203;8326](DataDog/dd-trace-java#8326) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement tests quarantining
([#&#8203;8320](DataDog/dd-trace-java#8320) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add tag to specify if the user is setting DD_SERVICE
([#&#8203;8318](DataDog/dd-trace-java#8318) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

##### Crash tracking

- ✨ Only fork jps when required
([#&#8203;8419](DataDog/dd-trace-java#8419) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Use Java home of the crashed process to launch crash uploader
([#&#8203;8348](DataDog/dd-trace-java#8348) -
[@&#8203;jbachorik](https://github.com/jbachorik))

##### Data Streams Monitoring

- 🐛 Fix error happening when sqs message attributes are readonly
([#&#8203;8473](DataDog/dd-trace-java#8473) -
[@&#8203;vandonr](https://github.com/vandonr))
- 🐛 Fix bug on proto schema extraction
([#&#8203;8403](DataDog/dd-trace-java#8403) -
[@&#8203;vandonr](https://github.com/vandonr))
- 🐛 Fix service name overrides in consumers
([#&#8203;8387](DataDog/dd-trace-java#8387) -
[@&#8203;piochelepiotr](https://github.com/piochelepiotr))

##### Database Monitoring

- ✨ Add DBMTracePreparedStatements to tracer configuration log
([#&#8203;8508](DataDog/dd-trace-java#8508) -
[@&#8203;cecile75](https://github.com/cecile75))

##### Dynamic Instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Fix Exception Replay with Lambda proxy classes
([#&#8203;8452](DataDog/dd-trace-java#8452) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add code origin support for spring-webmvc
([#&#8203;8416](DataDog/dd-trace-java#8416) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add support for scanning jar from loaded class
([#&#8203;8370](DataDog/dd-trace-java#8370) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Disable capture of entry values
([#&#8203;8369](DataDog/dd-trace-java#8369) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix CodeOrigin for `@Trace` annotation
([#&#8203;8344](DataDog/dd-trace-java#8344) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix equals/hashCode for CodeOrigin probe
([#&#8203;8319](DataDog/dd-trace-java#8319) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add code origin support to kafka message listeners
([#&#8203;8301](DataDog/dd-trace-java#8301) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### Metrics

- ✨ Create metric: appsec.waf.error
([#&#8203;8381](DataDog/dd-trace-java#8381) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Create metric: appsec.rasp.error
([#&#8203;8364](DataDog/dd-trace-java#8364) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Profiling

- ✨ Bump ddprof library to 1.22.0
([#&#8203;8463](DataDog/dd-trace-java#8463) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- IBM J9 8u361 corresponds to OpenJDK 8u362 by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#187
- Fix compatibility with musl libc 1.2.4 by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#189
- Modify version extraction by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#179
- Do not write null values to jvminfo event by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#184
- Productize VMStructs-based stack walker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#177
- A few minor downport issues by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#180
- Enable ASGCT by default on fairly safe J9 JDK versions by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#181
- 🐛 Exclude OrderedThreadPoolExecutor from queue-time measurements
([#&#8203;8456](DataDog/dd-trace-java#8456) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Record JVM info on JVMs without JFR
([#&#8203;8431](DataDog/dd-trace-java#8431) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Actually use CleanupTask in TempLocationManager
([#&#8203;8420](DataDog/dd-trace-java#8420) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Only fork jps when required
([#&#8203;8419](DataDog/dd-trace-java#8419) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Adjust JFR checks for J9
([#&#8203;8405](DataDog/dd-trace-java#8405) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🧹 Disable smap RSS parsing by default
([#&#8203;8342](DataDog/dd-trace-java#8342) -
[@&#8203;MattAlp](https://github.com/MattAlp))

##### Telemetry

- 🐛 Add support for JBoss jar:file format to DependencyResolver
([#&#8203;8428](DataDog/dd-trace-java#8428) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Update metrics: appsec.waf.requests
([#&#8203;8353](DataDog/dd-trace-java#8353) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Trace context propagation

- ✨ Introduce tracing propagator
([#&#8203;8313](DataDog/dd-trace-java#8313) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Tracer core

- 🐛 Fix Stable Config telemetry source names
([#&#8203;8460](DataDog/dd-trace-java#8460) -
[@&#8203;BaptisteFoy](https://github.com/BaptisteFoy))
- ✨ Probe trace endpoints with a valid payload of empty arrays
([#&#8203;8414](DataDog/dd-trace-java#8414) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Add 1 minute fail-safe to JUL/JMX class-loading callback
([#&#8203;8399](DataDog/dd-trace-java#8399) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Migrate DSM injection calls to context-first APIs
([#&#8203;8383](DataDog/dd-trace-java#8383) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🧹 Move continuation capture methods from scope to tracer
([#&#8203;8371](DataDog/dd-trace-java#8371) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Migrate context extraction calls to context-first APIs
([#&#8203;8368](DataDog/dd-trace-java#8368) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🧹 Migrate context injection calls to context-first APIs
([#&#8203;8358](DataDog/dd-trace-java#8358) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 💡 Support reading configurations from files
([#&#8203;8338](DataDog/dd-trace-java#8338) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- 💡 Implementation of BaggagePropagator and BaggageContext
([#&#8203;8330](DataDog/dd-trace-java#8330) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- 🧹 Combine continuation implementations into one which supports
multiple activations
([#&#8203;8324](DataDog/dd-trace-java#8324) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Introduce tracing propagator
([#&#8203;8313](DataDog/dd-trace-java#8313) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Remove old context propagation API
([#&#8203;8271](DataDog/dd-trace-java#8271) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Instrumentations

##### AWS Lambda instrumentation

- 🐛 Send error message and stack to Lambda extension
([#&#8203;8417](DataDog/dd-trace-java#8417) -
[@&#8203;nhulston](https://github.com/nhulston))

##### AWS SDK instrumentation

- 🐛 Fix error happening when sqs message attributes are readonly
([#&#8203;8473](DataDog/dd-trace-java#8473) -
[@&#8203;vandonr](https://github.com/vandonr))
- 💡 Inject trace context into AWS Step Functions input
([#&#8203;7585](DataDog/dd-trace-java#7585) -
[@&#8203;DylanLovesCoffee](https://github.com/DylanLovesCoffee))

##### Core Java language instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add code origin support for spring-webmvc
([#&#8203;8416](DataDog/dd-trace-java#8416) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 💡 Implementation of BaggagePropagator and BaggageContext
([#&#8203;8330](DataDog/dd-trace-java#8330) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add code origin support to kafka message listeners
([#&#8203;8301](DataDog/dd-trace-java#8301) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### gRPC instrumentation

- ✨ Look in another location for grpc service methods
([#&#8203;8468](DataDog/dd-trace-java#8468) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### Kafka instrumentation

- ✨ Add messaging.destination.name tag to kafka integrations
([#&#8203;8366](DataDog/dd-trace-java#8366) -
[@&#8203;rarguelloF](https://github.com/rarguelloF))

##### Protocol Buffer instrumentation

- 🐛 Fix bug on proto schema extraction
([#&#8203;8403](DataDog/dd-trace-java#8403) -
[@&#8203;vandonr](https://github.com/vandonr))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: 108a0f86aa59ab4c938cbac0688dd4c19cb301fa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: core Tracer core type: enhancement Enhancements and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants