Skip to content

Combine continuation implementations into one which supports multiple activations #8324

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 3 commits into from
Feb 5, 2025

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented Feb 3, 2025

Motivation

Further simplification of the scope API to aid migration to the new context API.

Additional Notes

scope.captureConcurrent() has been replaced by scope.capture().hold()

Calling the hold() method on the continuation lets multiple threads activate it concurrently and close their scopes without fear of prematurely closing the span. You must then call cancel() at some point to avoid discarding traces.

Contributor Checklist

Jira ticket: APMAPI-957

@mcculls mcculls added the tag: do not merge Do not merge changes label Feb 3, 2025
@pr-commenter
Copy link

pr-commenter bot commented Feb 3, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/simplify-continuations
git_commit_date 1738775023 1738781839
git_commit_sha 88f59f8 a3633a9
release_version 1.47.0-SNAPSHOT~88f59f8817 1.47.0-SNAPSHOT~a3633a969d
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1738784267 1738784267
ci_job_id 795989946 795989946
ci_pipeline_id 55025296 55025296
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-qndsgdz-project-304-concurrent-0-yrxwg26t 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-qndsgdz-project-304-concurrent-0-yrxwg26t 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 58 metrics, 5 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.044 s) : 0, 1044030
Total [baseline] (8.661 s) : 0, 8661202
Agent [candidate] (1.04 s) : 0, 1040025
Total [candidate] (8.616 s) : 0, 8616172
section iast
Agent [baseline] (1.179 s) : 0, 1179181
Total [baseline] (9.219 s) : 0, 9219315
Agent [candidate] (1.169 s) : 0, 1168604
Total [candidate] (9.173 s) : 0, 9172508
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.172 s) : 0, 1171819
Total [baseline] (9.176 s) : 0, 9176010
Agent [candidate] (1.172 s) : 0, 1172498
Total [candidate] (9.207 s) : 0, 9206987
section iast_TELEMETRY_OFF
Agent [baseline] (1.176 s) : 0, 1175978
Total [baseline] (9.232 s) : 0, 9231655
Agent [candidate] (1.169 s) : 0, 1169165
Total [candidate] (9.205 s) : 0, 9204983
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.044 s -
Agent iast 1.179 s 135.151 ms (12.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.172 s 127.789 ms (12.2%)
Agent iast_TELEMETRY_OFF 1.176 s 131.948 ms (12.6%)
Total tracing 8.661 s -
Total iast 9.219 s 558.113 ms (6.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.176 s 514.808 ms (5.9%)
Total iast_TELEMETRY_OFF 9.232 s 570.453 ms (6.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.04 s -
Agent iast 1.169 s 128.578 ms (12.4%)
Agent iast_HARDCODED_SECRET_DISABLED 1.172 s 132.473 ms (12.7%)
Agent iast_TELEMETRY_OFF 1.169 s 129.14 ms (12.4%)
Total tracing 8.616 s -
Total iast 9.173 s 556.336 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.207 s 590.815 ms (6.9%)
Total iast_TELEMETRY_OFF 9.205 s 588.812 ms (6.8%)
gantt
    title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (717.905 ms) : 0, 717905
BytebuddyAgent [candidate] (714.231 ms) : 0, 714231
GlobalTracer [baseline] (243.085 ms) : 0, 243085
GlobalTracer [candidate] (242.656 ms) : 0, 242656
AppSec [baseline] (54.991 ms) : 0, 54991
AppSec [candidate] (55.181 ms) : 0, 55181
Remote Config [baseline] (710.24 µs) : 0, 710
Remote Config [candidate] (713.867 µs) : 0, 714
Telemetry [baseline] (12.071 ms) : 0, 12071
Telemetry [candidate] (12.076 ms) : 0, 12076
section iast
BytebuddyAgent [baseline] (839.874 ms) : 0, 839874
BytebuddyAgent [candidate] (832.234 ms) : 0, 832234
GlobalTracer [baseline] (234.777 ms) : 0, 234777
GlobalTracer [candidate] (232.469 ms) : 0, 232469
IAST [baseline] (23.014 ms) : 0, 23014
IAST [candidate] (22.7 ms) : 0, 22700
AppSec [baseline] (56.804 ms) : 0, 56804
AppSec [candidate] (56.8 ms) : 0, 56800
Remote Config [baseline] (621.51 µs) : 0, 622
Remote Config [candidate] (596.69 µs) : 0, 597
Telemetry [baseline] (8.784 ms) : 0, 8784
Telemetry [candidate] (8.604 ms) : 0, 8604
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (833.639 ms) : 0, 833639
BytebuddyAgent [candidate] (834.863 ms) : 0, 834863
GlobalTracer [baseline] (233.443 ms) : 0, 233443
GlobalTracer [candidate] (233.468 ms) : 0, 233468
IAST [baseline] (23.077 ms) : 0, 23077
IAST [candidate] (22.84 ms) : 0, 22840
AppSec [baseline] (57.09 ms) : 0, 57090
AppSec [candidate] (56.867 ms) : 0, 56867
Remote Config [baseline] (626.167 µs) : 0, 626
Remote Config [candidate] (633.802 µs) : 0, 634
Telemetry [baseline] (8.717 ms) : 0, 8717
Telemetry [candidate] (8.645 ms) : 0, 8645
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (837.129 ms) : 0, 837129
BytebuddyAgent [candidate] (831.996 ms) : 0, 831996
GlobalTracer [baseline] (234.714 ms) : 0, 234714
GlobalTracer [candidate] (233.477 ms) : 0, 233477
IAST [baseline] (24.873 ms) : 0, 24873
IAST [candidate] (25.592 ms) : 0, 25592
AppSec [baseline] (54.694 ms) : 0, 54694
AppSec [candidate] (53.724 ms) : 0, 53724
Remote Config [baseline] (631.196 µs) : 0, 631
Remote Config [candidate] (607.36 µs) : 0, 607
Telemetry [baseline] (8.618 ms) : 0, 8618
Telemetry [candidate] (8.541 ms) : 0, 8541
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.043 s) : 0, 1043366
Total [baseline] (10.416 s) : 0, 10415572
Agent [candidate] (1.044 s) : 0, 1043629
Total [candidate] (10.452 s) : 0, 10452490
section appsec
Agent [baseline] (1.186 s) : 0, 1186428
Total [baseline] (10.709 s) : 0, 10708987
Agent [candidate] (1.189 s) : 0, 1189354
Total [candidate] (10.779 s) : 0, 10779019
section iast
Agent [baseline] (1.17 s) : 0, 1170401
Total [baseline] (10.916 s) : 0, 10916053
Agent [candidate] (1.171 s) : 0, 1171451
Total [candidate] (10.969 s) : 0, 10968739
section profiling
Agent [baseline] (1.275 s) : 0, 1275421
Total [baseline] (10.913 s) : 0, 10913301
Agent [candidate] (1.274 s) : 0, 1273636
Total [candidate] (10.862 s) : 0, 10861714
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.043 s -
Agent appsec 1.186 s 143.062 ms (13.7%)
Agent iast 1.17 s 127.035 ms (12.2%)
Agent profiling 1.275 s 232.055 ms (22.2%)
Total tracing 10.416 s -
Total appsec 10.709 s 293.415 ms (2.8%)
Total iast 10.916 s 500.48 ms (4.8%)
Total profiling 10.913 s 497.729 ms (4.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.044 s -
Agent appsec 1.189 s 145.725 ms (14.0%)
Agent iast 1.171 s 127.822 ms (12.2%)
Agent profiling 1.274 s 230.007 ms (22.0%)
Total tracing 10.452 s -
Total appsec 10.779 s 326.529 ms (3.1%)
Total iast 10.969 s 516.249 ms (4.9%)
Total profiling 10.862 s 409.223 ms (3.9%)
gantt
    title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (716.082 ms) : 0, 716082
BytebuddyAgent [candidate] (717.559 ms) : 0, 717559
GlobalTracer [baseline] (243.112 ms) : 0, 243112
GlobalTracer [candidate] (243.377 ms) : 0, 243377
AppSec [baseline] (55.31 ms) : 0, 55310
AppSec [candidate] (55.227 ms) : 0, 55227
Remote Config [baseline] (720.006 µs) : 0, 720
Remote Config [candidate] (709.971 µs) : 0, 710
Telemetry [baseline] (12.947 ms) : 0, 12947
Telemetry [candidate] (11.481 ms) : 0, 11481
section appsec
BytebuddyAgent [baseline] (734.389 ms) : 0, 734389
BytebuddyAgent [candidate] (736.724 ms) : 0, 736724
GlobalTracer [baseline] (240.613 ms) : 0, 240613
GlobalTracer [candidate] (240.908 ms) : 0, 240908
AppSec [baseline] (176.389 ms) : 0, 176389
AppSec [candidate] (176.535 ms) : 0, 176535
Remote Config [baseline] (662.156 µs) : 0, 662
Remote Config [candidate] (675.312 µs) : 0, 675
Telemetry [baseline] (8.278 ms) : 0, 8278
Telemetry [candidate] (8.304 ms) : 0, 8304
IAST [baseline] (21.85 ms) : 0, 21850
IAST [candidate] (21.827 ms) : 0, 21827
section iast
BytebuddyAgent [baseline] (833.392 ms) : 0, 833392
BytebuddyAgent [candidate] (834.02 ms) : 0, 834020
GlobalTracer [baseline] (232.621 ms) : 0, 232621
GlobalTracer [candidate] (232.989 ms) : 0, 232989
AppSec [baseline] (56.951 ms) : 0, 56951
AppSec [candidate] (57.023 ms) : 0, 57023
Remote Config [baseline] (617.219 µs) : 0, 617
Remote Config [candidate] (614.999 µs) : 0, 615
Telemetry [baseline] (8.681 ms) : 0, 8681
Telemetry [candidate] (8.789 ms) : 0, 8789
IAST [baseline] (22.941 ms) : 0, 22941
IAST [candidate] (22.861 ms) : 0, 22861
section profiling
ProfilingAgent [baseline] (96.254 ms) : 0, 96254
ProfilingAgent [candidate] (96.331 ms) : 0, 96331
BytebuddyAgent [baseline] (716.022 ms) : 0, 716022
BytebuddyAgent [candidate] (713.647 ms) : 0, 713647
GlobalTracer [baseline] (355.18 ms) : 0, 355180
GlobalTracer [candidate] (356.256 ms) : 0, 356256
AppSec [baseline] (55.495 ms) : 0, 55495
AppSec [candidate] (54.989 ms) : 0, 54989
Remote Config [baseline] (717.416 µs) : 0, 717
Remote Config [candidate] (720.628 µs) : 0, 721
Telemetry [baseline] (8.912 ms) : 0, 8912
Telemetry [candidate] (8.968 ms) : 0, 8968
Profiling [baseline] (96.278 ms) : 0, 96278
Profiling [candidate] (96.356 ms) : 0, 96356
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-02-05T19:05:35 2025-02-05T19:12:41
git_branch master mcculls/simplify-continuations
git_commit_date 1738775023 1738781839
git_commit_sha 88f59f8 a3633a9
release_version 1.47.0-SNAPSHOT~88f59f8817 1.47.0-SNAPSHOT~a3633a969d
start_time 2025-02-05T19:05:21 2025-02-05T19:12:27
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1738783120 1738783120
ci_job_id 795989947 795989947
ci_pipeline_id 55025296 55025296
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-ky668jvd-project-304-concurrent-0-pezz9t2h 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-ky668jvd-project-304-concurrent-0-pezz9t2h 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 12 metrics, 16 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.361 ms) : 1342, 1380
.   : milestone, 1361,
appsec (1.763 ms) : 1740, 1786
.   : milestone, 1763,
appsec_no_iast (1.753 ms) : 1729, 1777
.   : milestone, 1753,
iast (1.507 ms) : 1482, 1531
.   : milestone, 1507,
profiling (1.504 ms) : 1481, 1526
.   : milestone, 1504,
tracing (1.489 ms) : 1464, 1514
.   : milestone, 1489,
section candidate
no_agent (1.362 ms) : 1342, 1381
.   : milestone, 1362,
appsec (1.746 ms) : 1722, 1770
.   : milestone, 1746,
appsec_no_iast (1.759 ms) : 1735, 1784
.   : milestone, 1759,
iast (1.528 ms) : 1504, 1553
.   : milestone, 1528,
profiling (1.54 ms) : 1516, 1565
.   : milestone, 1540,
tracing (1.494 ms) : 1470, 1519
.   : milestone, 1494,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.361 ms [1.342 ms, 1.38 ms] -
appsec 1.763 ms [1.74 ms, 1.786 ms] 402.26 µs (29.6%)
appsec_no_iast 1.753 ms [1.729 ms, 1.777 ms] 392.242 µs (28.8%)
iast 1.507 ms [1.482 ms, 1.531 ms] 145.859 µs (10.7%)
profiling 1.504 ms [1.481 ms, 1.526 ms] 142.829 µs (10.5%)
tracing 1.489 ms [1.464 ms, 1.514 ms] 127.809 µs (9.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.362 ms [1.342 ms, 1.381 ms] -
appsec 1.746 ms [1.722 ms, 1.77 ms] 384.104 µs (28.2%)
appsec_no_iast 1.759 ms [1.735 ms, 1.784 ms] 397.6 µs (29.2%)
iast 1.528 ms [1.504 ms, 1.553 ms] 166.557 µs (12.2%)
profiling 1.54 ms [1.516 ms, 1.565 ms] 178.651 µs (13.1%)
tracing 1.494 ms [1.47 ms, 1.519 ms] 132.688 µs (9.7%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
    dateFormat X
    axisFormat %s
section baseline
no_agent (381.537 µs) : 362, 401
.   : milestone, 382,
iast (507.591 µs) : 486, 529
.   : milestone, 508,
iast_FULL (739.981 µs) : 718, 762
.   : milestone, 740,
iast_GLOBAL (560.532 µs) : 538, 584
.   : milestone, 561,
iast_HARDCODED_SECRET_DISABLED (514.474 µs) : 492, 537
.   : milestone, 514,
iast_INACTIVE (461.369 µs) : 440, 482
.   : milestone, 461,
iast_TELEMETRY_OFF (499.989 µs) : 477, 523
.   : milestone, 500,
tracing (465.914 µs) : 445, 487
.   : milestone, 466,
section candidate
no_agent (382.209 µs) : 362, 402
.   : milestone, 382,
iast (509.876 µs) : 488, 532
.   : milestone, 510,
iast_FULL (745.049 µs) : 723, 767
.   : milestone, 745,
iast_GLOBAL (559.571 µs) : 537, 582
.   : milestone, 560,
iast_HARDCODED_SECRET_DISABLED (513.472 µs) : 492, 535
.   : milestone, 513,
iast_INACTIVE (465.313 µs) : 443, 487
.   : milestone, 465,
iast_TELEMETRY_OFF (500.858 µs) : 478, 523
.   : milestone, 501,
tracing (459.661 µs) : 438, 481
.   : milestone, 460,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 381.537 µs [361.988 µs, 401.086 µs] -
iast 507.591 µs [485.936 µs, 529.245 µs] 126.054 µs (33.0%)
iast_FULL 739.981 µs [718.071 µs, 761.89 µs] 358.444 µs (93.9%)
iast_GLOBAL 560.532 µs [537.51 µs, 583.553 µs] 178.995 µs (46.9%)
iast_HARDCODED_SECRET_DISABLED 514.474 µs [492.119 µs, 536.829 µs] 132.937 µs (34.8%)
iast_INACTIVE 461.369 µs [440.328 µs, 482.411 µs] 79.832 µs (20.9%)
iast_TELEMETRY_OFF 499.989 µs [477.359 µs, 522.618 µs] 118.452 µs (31.0%)
tracing 465.914 µs [445.029 µs, 486.8 µs] 84.377 µs (22.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 382.209 µs [362.109 µs, 402.309 µs] -
iast 509.876 µs [488.11 µs, 531.642 µs] 127.667 µs (33.4%)
iast_FULL 745.049 µs [723.097 µs, 767.002 µs] 362.841 µs (94.9%)
iast_GLOBAL 559.571 µs [537.17 µs, 581.972 µs] 177.362 µs (46.4%)
iast_HARDCODED_SECRET_DISABLED 513.472 µs [491.599 µs, 535.344 µs] 131.263 µs (34.3%)
iast_INACTIVE 465.313 µs [443.434 µs, 487.192 µs] 83.104 µs (21.7%)
iast_TELEMETRY_OFF 500.858 µs [478.292 µs, 523.425 µs] 118.649 µs (31.0%)
tracing 459.661 µs [438.293 µs, 481.028 µs] 77.452 µs (20.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/simplify-continuations
git_commit_date 1738775023 1738781839
git_commit_sha 88f59f8 a3633a9
release_version 1.47.0-SNAPSHOT~88f59f8817 1.47.0-SNAPSHOT~a3633a969d
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1738783780 1738783780
ci_job_id 795989948 795989948
ci_pipeline_id 55025296 55025296
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-qndsgdz-project-304-concurrent-1-ot86hwuh 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-qndsgdz-project-304-concurrent-1-ot86hwuh 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 11 metrics, 1 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.979 s) : 14979000, 14979000
.   : milestone, 14979000,
appsec (15.088 s) : 15088000, 15088000
.   : milestone, 15088000,
iast (18.232 s) : 18232000, 18232000
.   : milestone, 18232000,
iast_GLOBAL (18.069 s) : 18069000, 18069000
.   : milestone, 18069000,
profiling (15.08 s) : 15080000, 15080000
.   : milestone, 15080000,
tracing (15.008 s) : 15008000, 15008000
.   : milestone, 15008000,
section candidate
no_agent (14.945 s) : 14945000, 14945000
.   : milestone, 14945000,
appsec (14.984 s) : 14984000, 14984000
.   : milestone, 14984000,
iast (18.551 s) : 18551000, 18551000
.   : milestone, 18551000,
iast_GLOBAL (17.946 s) : 17946000, 17946000
.   : milestone, 17946000,
profiling (15.661 s) : 15661000, 15661000
.   : milestone, 15661000,
tracing (15.144 s) : 15144000, 15144000
.   : milestone, 15144000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.979 s [14.979 s, 14.979 s] -
appsec 15.088 s [15.088 s, 15.088 s] 109.0 ms (0.7%)
iast 18.232 s [18.232 s, 18.232 s] 3.253 s (21.7%)
iast_GLOBAL 18.069 s [18.069 s, 18.069 s] 3.09 s (20.6%)
profiling 15.08 s [15.08 s, 15.08 s] 101.0 ms (0.7%)
tracing 15.008 s [15.008 s, 15.008 s] 29.0 ms (0.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.945 s [14.945 s, 14.945 s] -
appsec 14.984 s [14.984 s, 14.984 s] 39.0 ms (0.3%)
iast 18.551 s [18.551 s, 18.551 s] 3.606 s (24.1%)
iast_GLOBAL 17.946 s [17.946 s, 17.946 s] 3.001 s (20.1%)
profiling 15.661 s [15.661 s, 15.661 s] 716.0 ms (4.8%)
tracing 15.144 s [15.144 s, 15.144 s] 199.0 ms (1.3%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~a3633a969d, baseline=1.47.0-SNAPSHOT~88f59f8817
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.472 ms) : 1460, 1483
.   : milestone, 1472,
appsec (2.375 ms) : 2332, 2419
.   : milestone, 2375,
iast (2.114 ms) : 2060, 2169
.   : milestone, 2114,
iast_GLOBAL (2.15 ms) : 2094, 2205
.   : milestone, 2150,
profiling (2.464 ms) : 2274, 2654
.   : milestone, 2464,
tracing (1.945 ms) : 1903, 1987
.   : milestone, 1945,
section candidate
no_agent (1.475 ms) : 1464, 1487
.   : milestone, 1475,
appsec (2.352 ms) : 2309, 2395
.   : milestone, 2352,
iast (2.114 ms) : 2059, 2169
.   : milestone, 2114,
iast_GLOBAL (2.159 ms) : 2103, 2214
.   : milestone, 2159,
profiling (1.97 ms) : 1927, 2014
.   : milestone, 1970,
tracing (1.948 ms) : 1905, 1990
.   : milestone, 1948,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.472 ms [1.46 ms, 1.483 ms] -
appsec 2.375 ms [2.332 ms, 2.419 ms] 903.554 µs (61.4%)
iast 2.114 ms [2.06 ms, 2.169 ms] 642.664 µs (43.7%)
iast_GLOBAL 2.15 ms [2.094 ms, 2.205 ms] 677.816 µs (46.1%)
profiling 2.464 ms [2.274 ms, 2.654 ms] 992.548 µs (67.4%)
tracing 1.945 ms [1.903 ms, 1.987 ms] 473.574 µs (32.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.464 ms, 1.487 ms] -
appsec 2.352 ms [2.309 ms, 2.395 ms] 877.112 µs (59.5%)
iast 2.114 ms [2.059 ms, 2.169 ms] 638.67 µs (43.3%)
iast_GLOBAL 2.159 ms [2.103 ms, 2.214 ms] 683.828 µs (46.4%)
profiling 1.97 ms [1.927 ms, 2.014 ms] 495.263 µs (33.6%)
tracing 1.948 ms [1.905 ms, 1.99 ms] 472.518 µs (32.0%)

@mcculls mcculls force-pushed the mcculls/simplify-continuations branch 5 times, most recently from 330871f to 9ffbc3c Compare February 5, 2025 10:49
@mcculls mcculls changed the title WIP - simplify continuation management to help future migration Combine continuation implementations into one which supports multiple activations Feb 5, 2025
@mcculls mcculls added comp: core Tracer core type: refactoring and removed tag: do not merge Do not merge changes labels Feb 5, 2025
@mcculls mcculls force-pushed the mcculls/simplify-continuations branch from 9ffbc3c to 879d8d5 Compare February 5, 2025 10:57
@mcculls mcculls marked this pull request as ready for review February 5, 2025 11:07
@mcculls mcculls requested review from a team as code owners February 5, 2025 11:07
@mcculls mcculls force-pushed the mcculls/simplify-continuations branch 2 times, most recently from af4eb83 to 559a826 Compare February 5, 2025 12:26
Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

Looking good 👍
Minor comment about documenting internals and a possible API change.

@mcculls mcculls force-pushed the mcculls/simplify-continuations branch from 559a826 to 0ff5e7b Compare February 5, 2025 15:52
Copy link
Collaborator

@amarziali amarziali left a comment

Choose a reason for hiding this comment

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

looks ok from my standpoint. Thanks for having well documented the TraceScope methods

… activations.

Call the `hold()` method on the continuation to let multiple threads activate it
concurrently and close their scopes without fear of prematurely closing the span.
You must then call `cancel()` at some point to avoid discarding traces.
also remove BARRIER as that was only necessary for previous implementation where cancel always deprecated the count

we now use a magic value of MAX_INT/2 to represent a hold, to distinguish it from an individual activation
@mcculls mcculls force-pushed the mcculls/simplify-continuations branch from 0ff5e7b to a3633a9 Compare February 5, 2025 18:57
@mcculls mcculls merged commit 26311f7 into master Feb 5, 2025
197 checks passed
@mcculls mcculls deleted the mcculls/simplify-continuations branch February 5, 2025 21:33
@github-actions github-actions bot added this to the 1.47.0 milestone Feb 5, 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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants