Skip to content
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

Add Exception probe custom instrumentation #8230

Merged
merged 1 commit into from
Jan 23, 2025

Conversation

jpbempel
Copy link
Member

@jpbempel jpbempel commented Jan 16, 2025

What Does This Do

When there is only exception probes at a specific ode location we strip down the instrumentation to only capture values inside the catch (when an exception happens). this way, in normal execution no overhead is pay for an exception probe

Motivation

Decrease overhead for exception probes when no exception

Additional Notes

Contributor Checklist

Jira ticket: DEBUG-3348

@jpbempel jpbempel requested a review from a team as a code owner January 16, 2025 13:27
@jpbempel jpbempel requested review from ojung and removed request for a team January 16, 2025 13:27
@jpbempel jpbempel added comp: debugger Dynamic Instrumentation type: enhancement labels Jan 16, 2025
@pr-commenter
Copy link

pr-commenter bot commented Jan 16, 2025

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1737651826 1737652206
end_time 2025-01-23T17:05:03 2025-01-23T17:11:23
git_branch master jpbempel/custom-exception-inst
git_commit_sha 64e6e86 abc89dc
start_time 2025-01-23T17:03:47 2025-01-23T17:10:07
See matching parameters
Baseline Candidate
ci_job_id 778144842 778144842
ci_pipeline_id 53822688 53822688
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1737651280 1737651280

Summary

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

scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:loop better
[-442.332µs; -289.639µs] or [-4.272%; -2.797%]
better
[-449.743µs; -285.014µs] or [-4.278%; -2.711%]
better
[-444.249µs; -260.219µs] or [-4.192%; -2.456%]
unsure
[-546.087µs; -86.357µs] or [-4.986%; -0.788%]
better
[+1.663op/s; +4.709op/s] or [+1.771%; +5.015%]
See unchanged results
scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:noprobe unstable
[-63.574µs; +25.730µs] or [-22.243%; +9.002%]
unstable
[-77.360µs; +32.609µs] or [-23.697%; +9.989%]
unstable
[-93.073µs; +40.385µs] or [-27.107%; +11.762%]
unstable
[-1079.814µs; +389.163µs] or [-113.524%; +40.914%]
same
scenario:basic same same same unstable
[-85.381µs; +23.195µs] or [-15.323%; +4.163%]
unstable
[-69.037op/s; +197.242op/s] or [-2.761%; +7.890%]
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (326.46 µs) : 256, 397
.   : milestone, 326,
basic (314.242 µs) : 301, 327
.   : milestone, 314,
loop (10.513 ms) : 10409, 10617
.   : milestone, 10513,
section candidate
noprobe (304.085 µs) : 281, 327
.   : milestone, 304,
basic (310.483 µs) : 302, 319
.   : milestone, 310,
loop (10.146 ms) : 10115, 10176
.   : milestone, 10146,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 326.46 µs [255.878 µs, 397.043 µs]
basic 314.242 µs [301.439 µs, 327.045 µs]
loop 10.513 ms [10.409 ms, 10.617 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 304.085 µs [281.459 µs, 326.712 µs]
basic 310.483 µs [302.307 µs, 318.659 µs]
loop 10.146 ms [10.115 ms, 10.176 ms]

@pr-commenter
Copy link

pr-commenter bot commented Jan 16, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/custom-exception-inst
git_commit_date 1737649960 1737651280
git_commit_sha 64e6e86 abc89dc
release_version 1.46.0-SNAPSHOT~64e6e864bc 1.46.0-SNAPSHOT~abc89dcb05
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1737653695 1737653695
ci_job_id 778144836 778144836
ci_pipeline_id 53822688 53822688
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-nvtssqy9-project-304-concurrent-1-jdlfx9fx 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-nvtssqy9-project-304-concurrent-1-jdlfx9fx 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

Found 1 performance improvements and 7 performance regressions! Performance is the same for 50 metrics, 5 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast:GlobalTracer worse
[+17.098ms; +22.573ms] or [+7.474%; +9.868%]
248.595ms 228.759ms
scenario:startup:insecure-bank:iast_HARDCODED_SECRET_DISABLED:GlobalTracer worse
[+13.748ms; +19.164ms] or [+5.994%; +8.355%]
245.833ms 229.377ms
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:GlobalTracer worse
[+17.165ms; +19.031ms] or [+7.534%; +8.353%]
245.933ms 227.836ms
scenario:startup:insecure-bank:tracing:GlobalTracer worse
[+15.241ms; +21.741ms] or [+6.400%; +9.130%]
256.631ms 238.139ms
scenario:startup:petclinic:appsec:GlobalTracer worse
[+11.895ms; +18.076ms] or [+5.010%; +7.613%]
252.422ms 237.437ms
scenario:startup:petclinic:appsec:AppSec better
[-7.235ms; -4.705ms] or [-4.102%; -2.668%]
170.387ms 176.357ms
scenario:startup:petclinic:iast:GlobalTracer worse
[+15.473ms; +17.446ms] or [+6.743%; +7.603%]
245.915ms 229.456ms
scenario:startup:petclinic:tracing:GlobalTracer worse
[+12.248ms; +19.684ms] or [+5.098%; +8.194%]
256.201ms 240.235ms
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.037 s) : 0, 1037294
Total [baseline] (10.478 s) : 0, 10478480
Agent [candidate] (1.056 s) : 0, 1056490
Total [candidate] (10.469 s) : 0, 10468746
section appsec
Agent [baseline] (1.185 s) : 0, 1184601
Total [baseline] (10.774 s) : 0, 10774063
Agent [candidate] (1.187 s) : 0, 1187134
Total [candidate] (10.779 s) : 0, 10778613
section iast
Agent [baseline] (1.166 s) : 0, 1166208
Total [baseline] (10.975 s) : 0, 10974755
Agent [candidate] (1.181 s) : 0, 1180651
Total [candidate] (10.918 s) : 0, 10917701
section profiling
Agent [baseline] (1.26 s) : 0, 1259810
Total [baseline] (10.882 s) : 0, 10881711
Agent [candidate] (1.254 s) : 0, 1253684
Total [candidate] (10.767 s) : 0, 10767385
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.037 s -
Agent appsec 1.185 s 147.307 ms (14.2%)
Agent iast 1.166 s 128.914 ms (12.4%)
Agent profiling 1.26 s 222.517 ms (21.5%)
Total tracing 10.478 s -
Total appsec 10.774 s 295.583 ms (2.8%)
Total iast 10.975 s 496.274 ms (4.7%)
Total profiling 10.882 s 403.23 ms (3.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent appsec 1.187 s 130.644 ms (12.4%)
Agent iast 1.181 s 124.162 ms (11.8%)
Agent profiling 1.254 s 197.194 ms (18.7%)
Total tracing 10.469 s -
Total appsec 10.779 s 309.866 ms (3.0%)
Total iast 10.918 s 448.955 ms (4.3%)
Total profiling 10.767 s 298.638 ms (2.9%)
gantt
    title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.542 ms) : 0, 714542
BytebuddyAgent [candidate] (714.174 ms) : 0, 714174
GlobalTracer [baseline] (240.235 ms) : 0, 240235
GlobalTracer [candidate] (256.201 ms) : 0, 256201
AppSec [baseline] (55.451 ms) : 0, 55451
AppSec [candidate] (56.985 ms) : 0, 56985
Remote Config [baseline] (721.923 µs) : 0, 722
Remote Config [candidate] (751.513 µs) : 0, 752
Telemetry [baseline] (11.41 ms) : 0, 11410
Telemetry [candidate] (13.37 ms) : 0, 13370
section appsec
BytebuddyAgent [baseline] (736.82 ms) : 0, 736820
BytebuddyAgent [candidate] (730.95 ms) : 0, 730950
GlobalTracer [baseline] (237.437 ms) : 0, 237437
GlobalTracer [candidate] (252.422 ms) : 0, 252422
AppSec [baseline] (176.357 ms) : 0, 176357
AppSec [candidate] (170.387 ms) : 0, 170387
Remote Config [baseline] (665.134 µs) : 0, 665
Remote Config [candidate] (658.132 µs) : 0, 658
Telemetry [baseline] (8.513 ms) : 0, 8513
Telemetry [candidate] (8.09 ms) : 0, 8090
IAST [baseline] (19.544 ms) : 0, 19544
IAST [candidate] (19.379 ms) : 0, 19379
section iast
BytebuddyAgent [baseline] (832.826 ms) : 0, 832826
BytebuddyAgent [candidate] (830.651 ms) : 0, 830651
GlobalTracer [baseline] (229.456 ms) : 0, 229456
GlobalTracer [candidate] (245.915 ms) : 0, 245915
AppSec [baseline] (58.222 ms) : 0, 58222
AppSec [candidate] (58.165 ms) : 0, 58165
Remote Config [baseline] (651.844 µs) : 0, 652
Remote Config [candidate] (645.831 µs) : 0, 646
Telemetry [baseline] (8.75 ms) : 0, 8750
Telemetry [candidate] (8.685 ms) : 0, 8685
IAST [baseline] (21.309 ms) : 0, 21309
IAST [candidate] (21.581 ms) : 0, 21581
section profiling
ProfilingAgent [baseline] (95.881 ms) : 0, 95881
ProfilingAgent [candidate] (95.405 ms) : 0, 95405
BytebuddyAgent [baseline] (708.026 ms) : 0, 708026
BytebuddyAgent [candidate] (703.968 ms) : 0, 703968
GlobalTracer [baseline] (349.246 ms) : 0, 349246
GlobalTracer [candidate] (348.95 ms) : 0, 348950
AppSec [baseline] (54.911 ms) : 0, 54911
AppSec [candidate] (54.022 ms) : 0, 54022
Remote Config [baseline] (706.661 µs) : 0, 707
Remote Config [candidate] (710.508 µs) : 0, 711
Telemetry [baseline] (8.898 ms) : 0, 8898
Telemetry [candidate] (8.72 ms) : 0, 8720
Profiling [baseline] (95.905 ms) : 0, 95905
Profiling [candidate] (95.43 ms) : 0, 95430
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.036 s) : 0, 1035816
Total [baseline] (8.627 s) : 0, 8626569
Agent [candidate] (1.06 s) : 0, 1059977
Total [candidate] (8.671 s) : 0, 8671392
section iast
Agent [baseline] (1.169 s) : 0, 1168999
Total [baseline] (9.188 s) : 0, 9187730
Agent [candidate] (1.195 s) : 0, 1194858
Total [candidate] (9.208 s) : 0, 9207562
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.169 s) : 0, 1169101
Total [baseline] (9.157 s) : 0, 9157137
Agent [candidate] (1.182 s) : 0, 1181532
Total [candidate] (9.18 s) : 0, 9180282
section iast_TELEMETRY_OFF
Agent [baseline] (1.157 s) : 0, 1157459
Total [baseline] (9.175 s) : 0, 9175041
Agent [candidate] (1.178 s) : 0, 1178107
Total [candidate] (9.189 s) : 0, 9188602
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.036 s -
Agent iast 1.169 s 133.183 ms (12.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.169 s 133.286 ms (12.9%)
Agent iast_TELEMETRY_OFF 1.157 s 121.643 ms (11.7%)
Total tracing 8.627 s -
Total iast 9.188 s 561.161 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.157 s 530.569 ms (6.2%)
Total iast_TELEMETRY_OFF 9.175 s 548.473 ms (6.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.06 s -
Agent iast 1.195 s 134.881 ms (12.7%)
Agent iast_HARDCODED_SECRET_DISABLED 1.182 s 121.554 ms (11.5%)
Agent iast_TELEMETRY_OFF 1.178 s 118.13 ms (11.1%)
Total tracing 8.671 s -
Total iast 9.208 s 536.17 ms (6.2%)
Total iast_HARDCODED_SECRET_DISABLED 9.18 s 508.89 ms (5.9%)
Total iast_TELEMETRY_OFF 9.189 s 517.21 ms (6.0%)
gantt
    title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.979 ms) : 0, 714979
BytebuddyAgent [candidate] (718.336 ms) : 0, 718336
GlobalTracer [baseline] (238.139 ms) : 0, 238139
GlobalTracer [candidate] (256.631 ms) : 0, 256631
AppSec [baseline] (55.013 ms) : 0, 55013
AppSec [candidate] (55.56 ms) : 0, 55560
Remote Config [baseline] (713.537 µs) : 0, 714
Remote Config [candidate] (737.492 µs) : 0, 737
Telemetry [baseline] (11.992 ms) : 0, 11992
Telemetry [candidate] (13.612 ms) : 0, 13612
section iast
BytebuddyAgent [baseline] (836.434 ms) : 0, 836434
BytebuddyAgent [candidate] (841.102 ms) : 0, 841102
GlobalTracer [baseline] (228.759 ms) : 0, 228759
GlobalTracer [candidate] (248.595 ms) : 0, 248595
AppSec [baseline] (58.046 ms) : 0, 58046
AppSec [candidate] (58.491 ms) : 0, 58491
IAST [baseline] (21.211 ms) : 0, 21211
IAST [candidate] (21.854 ms) : 0, 21854
Remote Config [baseline] (650.22 µs) : 0, 650
Remote Config [candidate] (698.156 µs) : 0, 698
Telemetry [baseline] (8.813 ms) : 0, 8813
Telemetry [candidate] (8.937 ms) : 0, 8937
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (835.715 ms) : 0, 835715
BytebuddyAgent [candidate] (831.494 ms) : 0, 831494
GlobalTracer [baseline] (229.377 ms) : 0, 229377
GlobalTracer [candidate] (245.833 ms) : 0, 245833
AppSec [baseline] (58.158 ms) : 0, 58158
AppSec [candidate] (58.151 ms) : 0, 58151
IAST [baseline] (21.438 ms) : 0, 21438
IAST [candidate] (21.549 ms) : 0, 21549
Remote Config [baseline] (651.386 µs) : 0, 651
Remote Config [candidate] (661.714 µs) : 0, 662
Telemetry [baseline] (8.756 ms) : 0, 8756
Telemetry [candidate] (8.787 ms) : 0, 8787
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (827.223 ms) : 0, 827223
BytebuddyAgent [candidate] (828.858 ms) : 0, 828858
GlobalTracer [baseline] (227.836 ms) : 0, 227836
GlobalTracer [candidate] (245.933 ms) : 0, 245933
AppSec [baseline] (57.575 ms) : 0, 57575
AppSec [candidate] (58.057 ms) : 0, 58057
IAST [baseline] (20.76 ms) : 0, 20760
IAST [candidate] (21.005 ms) : 0, 21005
Remote Config [baseline] (651.788 µs) : 0, 652
Remote Config [candidate] (661.084 µs) : 0, 661
Telemetry [baseline] (8.482 ms) : 0, 8482
Telemetry [candidate] (8.657 ms) : 0, 8657
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-01-23T17:04:51 2025-01-23T17:11:54
git_branch master jpbempel/custom-exception-inst
git_commit_date 1737649960 1737651280
git_commit_sha 64e6e86 abc89dc
release_version 1.46.0-SNAPSHOT~64e6e864bc 1.46.0-SNAPSHOT~abc89dcb05
start_time 2025-01-23T17:04:37 2025-01-23T17:11:40
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1737652672 1737652672
ci_job_id 778144837 778144837
ci_pipeline_id 53822688 53822688
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-nvtssqy9-project-304-concurrent-3-3qhq1n7x 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-nvtssqy9-project-304-concurrent-3-3qhq1n7x 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 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 11 metrics, 17 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
    dateFormat X
    axisFormat %s
section baseline
no_agent (382.175 µs) : 362, 402
.   : milestone, 382,
iast (507.449 µs) : 484, 531
.   : milestone, 507,
iast_FULL (736.259 µs) : 714, 759
.   : milestone, 736,
iast_GLOBAL (556.754 µs) : 533, 580
.   : milestone, 557,
iast_HARDCODED_SECRET_DISABLED (504.115 µs) : 481, 527
.   : milestone, 504,
iast_INACTIVE (455.584 µs) : 434, 477
.   : milestone, 456,
iast_TELEMETRY_OFF (495.78 µs) : 473, 519
.   : milestone, 496,
tracing (449.445 µs) : 429, 470
.   : milestone, 449,
section candidate
no_agent (378.703 µs) : 358, 399
.   : milestone, 379,
iast (502.59 µs) : 481, 524
.   : milestone, 503,
iast_FULL (742.592 µs) : 721, 764
.   : milestone, 743,
iast_GLOBAL (550.574 µs) : 529, 573
.   : milestone, 551,
iast_HARDCODED_SECRET_DISABLED (503.402 µs) : 482, 525
.   : milestone, 503,
iast_INACTIVE (462.544 µs) : 440, 485
.   : milestone, 463,
iast_TELEMETRY_OFF (496.184 µs) : 474, 518
.   : milestone, 496,
tracing (449.977 µs) : 429, 471
.   : milestone, 450,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 382.175 µs [362.226 µs, 402.124 µs] -
iast 507.449 µs [484.142 µs, 530.756 µs] 125.273 µs (32.8%)
iast_FULL 736.259 µs [713.584 µs, 758.934 µs] 354.084 µs (92.6%)
iast_GLOBAL 556.754 µs [533.063 µs, 580.445 µs] 174.579 µs (45.7%)
iast_HARDCODED_SECRET_DISABLED 504.115 µs [481.203 µs, 527.026 µs] 121.939 µs (31.9%)
iast_INACTIVE 455.584 µs [434.405 µs, 476.763 µs] 73.409 µs (19.2%)
iast_TELEMETRY_OFF 495.78 µs [472.593 µs, 518.967 µs] 113.605 µs (29.7%)
tracing 449.445 µs [428.692 µs, 470.199 µs] 67.27 µs (17.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 378.703 µs [358.454 µs, 398.953 µs] -
iast 502.59 µs [481.115 µs, 524.065 µs] 123.886 µs (32.7%)
iast_FULL 742.592 µs [720.684 µs, 764.499 µs] 363.888 µs (96.1%)
iast_GLOBAL 550.574 µs [528.639 µs, 572.51 µs] 171.871 µs (45.4%)
iast_HARDCODED_SECRET_DISABLED 503.402 µs [481.751 µs, 525.054 µs] 124.699 µs (32.9%)
iast_INACTIVE 462.544 µs [440.238 µs, 484.85 µs] 83.841 µs (22.1%)
iast_TELEMETRY_OFF 496.184 µs [474.262 µs, 518.106 µs] 117.481 µs (31.0%)
tracing 449.977 µs [428.525 µs, 471.428 µs] 71.273 µs (18.8%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.349 ms) : 1330, 1369
.   : milestone, 1349,
appsec (1.765 ms) : 1742, 1789
.   : milestone, 1765,
appsec_no_iast (1.756 ms) : 1731, 1781
.   : milestone, 1756,
iast (1.49 ms) : 1466, 1513
.   : milestone, 1490,
profiling (1.51 ms) : 1486, 1533
.   : milestone, 1510,
tracing (1.503 ms) : 1478, 1528
.   : milestone, 1503,
section candidate
no_agent (1.35 ms) : 1331, 1370
.   : milestone, 1350,
appsec (1.751 ms) : 1726, 1777
.   : milestone, 1751,
appsec_no_iast (1.767 ms) : 1742, 1792
.   : milestone, 1767,
iast (1.524 ms) : 1500, 1548
.   : milestone, 1524,
profiling (1.523 ms) : 1500, 1546
.   : milestone, 1523,
tracing (1.502 ms) : 1478, 1526
.   : milestone, 1502,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.349 ms [1.33 ms, 1.369 ms] -
appsec 1.765 ms [1.742 ms, 1.789 ms] 416.051 µs (30.8%)
appsec_no_iast 1.756 ms [1.731 ms, 1.781 ms] 406.185 µs (30.1%)
iast 1.49 ms [1.466 ms, 1.513 ms] 140.241 µs (10.4%)
profiling 1.51 ms [1.486 ms, 1.533 ms] 160.131 µs (11.9%)
tracing 1.503 ms [1.478 ms, 1.528 ms] 153.411 µs (11.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.35 ms [1.331 ms, 1.37 ms] -
appsec 1.751 ms [1.726 ms, 1.777 ms] 400.578 µs (29.7%)
appsec_no_iast 1.767 ms [1.742 ms, 1.792 ms] 416.346 µs (30.8%)
iast 1.524 ms [1.5 ms, 1.548 ms] 173.731 µs (12.9%)
profiling 1.523 ms [1.5 ms, 1.546 ms] 172.427 µs (12.8%)
tracing 1.502 ms [1.478 ms, 1.526 ms] 151.5 µs (11.2%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/custom-exception-inst
git_commit_date 1737649960 1737651280
git_commit_sha 64e6e86 abc89dc
release_version 1.46.0-SNAPSHOT~64e6e864bc 1.46.0-SNAPSHOT~abc89dcb05
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1737653131 1737653131
ci_job_id 778144838 778144838
ci_pipeline_id 53822688 53822688
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-qsn5ud32-project-304-concurrent-0-dn27jolq 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-qsn5ud32-project-304-concurrent-0-dn27jolq 6.8.0-1018-aws #19~22.04.1-Ubuntu SMP Wed Oct 9 16:48:22 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.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.473 ms) : 1461, 1484
.   : milestone, 1473,
appsec (2.361 ms) : 2318, 2404
.   : milestone, 2361,
iast (2.112 ms) : 2058, 2167
.   : milestone, 2112,
iast_GLOBAL (2.153 ms) : 2097, 2208
.   : milestone, 2153,
profiling (1.975 ms) : 1930, 2019
.   : milestone, 1975,
tracing (1.954 ms) : 1911, 1996
.   : milestone, 1954,
section candidate
no_agent (1.477 ms) : 1465, 1488
.   : milestone, 1477,
appsec (2.365 ms) : 2321, 2408
.   : milestone, 2365,
iast (2.103 ms) : 2048, 2157
.   : milestone, 2103,
iast_GLOBAL (2.152 ms) : 2097, 2207
.   : milestone, 2152,
profiling (1.988 ms) : 1943, 2033
.   : milestone, 1988,
tracing (1.957 ms) : 1915, 2000
.   : milestone, 1957,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.461 ms, 1.484 ms] -
appsec 2.361 ms [2.318 ms, 2.404 ms] 888.244 µs (60.3%)
iast 2.112 ms [2.058 ms, 2.167 ms] 639.31 µs (43.4%)
iast_GLOBAL 2.153 ms [2.097 ms, 2.208 ms] 679.748 µs (46.2%)
profiling 1.975 ms [1.93 ms, 2.019 ms] 501.767 µs (34.1%)
tracing 1.954 ms [1.911 ms, 1.996 ms] 480.871 µs (32.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.477 ms [1.465 ms, 1.488 ms] -
appsec 2.365 ms [2.321 ms, 2.408 ms] 887.668 µs (60.1%)
iast 2.103 ms [2.048 ms, 2.157 ms] 625.898 µs (42.4%)
iast_GLOBAL 2.152 ms [2.097 ms, 2.207 ms] 675.363 µs (45.7%)
profiling 1.988 ms [1.943 ms, 2.033 ms] 511.265 µs (34.6%)
tracing 1.957 ms [1.915 ms, 2.0 ms] 480.553 µs (32.5%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~abc89dcb05, baseline=1.46.0-SNAPSHOT~64e6e864bc
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.511 s) : 15511000, 15511000
.   : milestone, 15511000,
appsec (14.851 s) : 14851000, 14851000
.   : milestone, 14851000,
iast (19.003 s) : 19003000, 19003000
.   : milestone, 19003000,
iast_GLOBAL (17.856 s) : 17856000, 17856000
.   : milestone, 17856000,
profiling (15.287 s) : 15287000, 15287000
.   : milestone, 15287000,
tracing (14.751 s) : 14751000, 14751000
.   : milestone, 14751000,
section candidate
no_agent (15.002 s) : 15002000, 15002000
.   : milestone, 15002000,
appsec (15.204 s) : 15204000, 15204000
.   : milestone, 15204000,
iast (18.985 s) : 18985000, 18985000
.   : milestone, 18985000,
iast_GLOBAL (18.179 s) : 18179000, 18179000
.   : milestone, 18179000,
profiling (15.047 s) : 15047000, 15047000
.   : milestone, 15047000,
tracing (14.868 s) : 14868000, 14868000
.   : milestone, 14868000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.511 s [15.511 s, 15.511 s] -
appsec 14.851 s [14.851 s, 14.851 s] -660.0 ms (-4.3%)
iast 19.003 s [19.003 s, 19.003 s] 3.492 s (22.5%)
iast_GLOBAL 17.856 s [17.856 s, 17.856 s] 2.345 s (15.1%)
profiling 15.287 s [15.287 s, 15.287 s] -224.0 ms (-1.4%)
tracing 14.751 s [14.751 s, 14.751 s] -760.0 ms (-4.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.002 s [15.002 s, 15.002 s] -
appsec 15.204 s [15.204 s, 15.204 s] 202.0 ms (1.3%)
iast 18.985 s [18.985 s, 18.985 s] 3.983 s (26.5%)
iast_GLOBAL 18.179 s [18.179 s, 18.179 s] 3.177 s (21.2%)
profiling 15.047 s [15.047 s, 15.047 s] 45.0 ms (0.3%)
tracing 14.868 s [14.868 s, 14.868 s] -134.0 ms (-0.9%)

@jpbempel jpbempel requested a review from evanchooly January 21, 2025 10:13
ExceptionProbeStatus exceptionStatus;
if (status instanceof ExceptionProbeStatus) {
exceptionStatus = (ExceptionProbeStatus) status;
exceptionStatus.setCapture(false);
Copy link
Contributor

Choose a reason for hiding this comment

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

why set false here?

Copy link
Member Author

Choose a reason for hiding this comment

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

because by default the status is capture true (for the entry part) then when evaluating it is turned to false until it reached the end of evaluation and this is the exception that we need to report

When there is only exception probes at a specific ode location
we strip down the instrumentation to only capture values inside the
catch (when an exception happens). this way, in normal execution
no overhead is pay for an exception probe
@jpbempel jpbempel force-pushed the jpbempel/custom-exception-inst branch from 7ab6064 to abc89dc Compare January 23, 2025 16:54
@jpbempel jpbempel added comp: debugger Dynamic Instrumentation and removed comp: debugger Dynamic Instrumentation labels Jan 23, 2025
@jpbempel jpbempel merged commit 56d4919 into master Jan 23, 2025
178 of 179 checks passed
@jpbempel jpbempel deleted the jpbempel/custom-exception-inst branch January 23, 2025 17:40
@github-actions github-actions bot added this to the 1.46.0 milestone Jan 23, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jan 31, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.25.4` -> `2.26.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |

---

### Release Notes

<details>
<summary>googleapis/java-datastore
(com.google.cloud:google-cloud-datastore)</summary>

###
[`v2.26.0`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2260-2025-01-29)

##### Features

- Add firestoreInDatastoreMode for datastore emulator
([#&#8203;1698](googleapis/java-datastore#1698))
([50f106d](googleapis/java-datastore@50f106d))

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.42.0
([#&#8203;1725](googleapis/java-datastore#1725))
([1cbaf22](googleapis/java-datastore@1cbaf22))

</details>

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

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

##### Breaking Changes

> \[!WARNING]
> jnr-unixsocket is now an external dependency of dd-trace-ot and must
be included when deploying dd-trace-ot.

> \[!NOTE]
> The API `TracerScope.setAsync(boolean)`, used to manually control
asynchronous span propagation, does no more apply to the scope instance
but to the active span scope.

##### Components

##### Application Security Management (IAST)

- 🐛 Fix String.replace instrumentation for IAST
([#&#8203;8281](DataDog/dd-trace-java#8281) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Exclude false positive weak randomness
([#&#8203;8232](DataDog/dd-trace-java#8232) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Add security control metrics
([#&#8203;8175](DataDog/dd-trace-java#8175) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Increase IAST propagation to StringBuffer setLength
([#&#8203;8128](DataDog/dd-trace-java#8128) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Add IAST taint tracking for DB values
([#&#8203;8072](DataDog/dd-trace-java#8072) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Application Security Management (WAF)

- 🐛 Prevents a NPE when there is no subscriber for user events
([#&#8203;8258](DataDog/dd-trace-java#8258) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Ensure cached subscriptions are cleared on reconfiguration via
RC ([#&#8203;8229](DataDog/dd-trace-java#8229)
-
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Create span tag: \_dd.appsec.rasp.timeout
([#&#8203;8269](DataDog/dd-trace-java#8269) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Build & Tooling

- 🐛 Ensure shaded helpers have unique names when injected into
class-loaders
([#&#8203;8192](DataDog/dd-trace-java#8192) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Configuration at Runtime

- 🐛 Remove filtering of `DD_SERVICE` and `DD_ENV` from the tracer
([#&#8203;8176](DataDog/dd-trace-java#8176) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Continuous Integration Visibility

- 🧹 Generalize TestRetryPolicy to TestExecutionPolicy
([#&#8203;8302](DataDog/dd-trace-java#8302) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Parallelize CI Visibility settings requests
([#&#8203;8299](DataDog/dd-trace-java#8299) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize test retry logic
([#&#8203;8289](DataDog/dd-trace-java#8289) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize tests skipping logic
([#&#8203;8288](DataDog/dd-trace-java#8288) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Remove skip and shouldBeSkipped methods from TestEventsHandler
in favor of isSkippable
([#&#8203;8286](DataDog/dd-trace-java#8286) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Optimize Git repository information computation
([#&#8203;8270](DataDog/dd-trace-java#8270) -
[@&#8203;dougqh](https://github.com/dougqh))
- ✨ Always request known tests from the backend
([#&#8203;8268](DataDog/dd-trace-java#8268) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Fix NPE when trying to get retry analyzer in Test NG
([#&#8203;8253](DataDog/dd-trace-java#8253) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Set test framework and test framework version tags atomically
([#&#8203;8252](DataDog/dd-trace-java#8252) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add debug logging to Android Gradle module layout logic
([#&#8203;8251](DataDog/dd-trace-java#8251) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix source and destination folders computation for Android
Gradle projects
([#&#8203;8190](DataDog/dd-trace-java#8190) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add basic Scala Weaver sbt support
([#&#8203;8189](DataDog/dd-trace-java#8189) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement impacted tests detection
([#&#8203;8188](DataDog/dd-trace-java#8188) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

##### Data Streams Monitoring

- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Database Monitoring

- Add peer service tag in dbm sql commenter
([#&#8203;7913](DataDog/dd-trace-java#7913) -
[@&#8203;jordan-wong](https://github.com/jordan-wong))

##### Dynamic Instrumentation

- ✨ Add support for SymDB to scan directories
([#&#8203;8306](DataDog/dd-trace-java#8306) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add SymDB report for any jar scanning failures
([#&#8203;8300](DataDog/dd-trace-java#8300) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Use two budgets depending on type
([#&#8203;8283](DataDog/dd-trace-java#8283) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Institute a 10 snapshot per probe per trace budget
([#&#8203;8277](DataDog/dd-trace-java#8277) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Avoid double snapshots for Exception Replay
([#&#8203;8273](DataDog/dd-trace-java#8273) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Simplify code origins. Separate out snapshot generation.
([#&#8203;8263](DataDog/dd-trace-java#8263) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add Exception probe custom instrumentation
([#&#8203;8230](DataDog/dd-trace-java#8230) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Enhance log probes to honor debug session tags
([#&#8203;8215](DataDog/dd-trace-java#8215) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Don't redact env tokens from debugger probe snapshots
([#&#8203;8211](DataDog/dd-trace-java#8211) -
[@&#8203;watson](https://github.com/watson))
- ✨⚡ Move Trace/SpanId capture at commit time
([#&#8203;8184](DataDog/dd-trace-java#8184) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Capture values at entry for method probe
([#&#8203;8169](DataDog/dd-trace-java#8169) -
[@&#8203;jpbempel](https://github.com/jpbempel))

##### JMX fetch

- 🐛 Mute JMXFetch Shutdown in progress error
([#&#8203;8068](DataDog/dd-trace-java#8068) -
[@&#8203;ygree](https://github.com/ygree))

##### OpenTracing

- ⚠️🧹 Make jnr-unixsocket an explicit dependency of
dd-trace-ot
([#&#8203;8307](DataDog/dd-trace-java#8307) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Profiling

- 🐛 Avoid unsupported API call for creating folders on windows
([#&#8203;8304](DataDog/dd-trace-java#8304) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Tag profiles for serverless
([#&#8203;8279](DataDog/dd-trace-java#8279) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ add queue type and length to queue events
([#&#8203;8242](DataDog/dd-trace-java#8242) -
[@&#8203;richardstartin](https://github.com/richardstartin))
- 🐛 TempLocationManager Fixes and Improvements
([#&#8203;8191](DataDog/dd-trace-java#8191) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Bump ddprof to 1.18.0
([#&#8203;8173](DataDog/dd-trace-java#8173) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Report profiler initialization and configuration errors to
telemetry
([#&#8203;8171](DataDog/dd-trace-java#8171) -
[@&#8203;jbachorik](https://github.com/jbachorik))

##### Telemetry

- ✨ Add pending traces report in tracer flares
([#&#8203;8053](DataDog/dd-trace-java#8053) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Testing

- ✨ Test http server requests in parallel
([#&#8203;8222](DataDog/dd-trace-java#8222) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Trace context propagation

- ✨ Add non default propagator registration
([#&#8203;8310](DataDog/dd-trace-java#8310) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Tracer core

- ✨ Probe for existence of IBMSASL or ACCP security providers
([#&#8203;8276](DataDog/dd-trace-java#8276) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨⚡ Overhead improvement to agent feedback based sampling
([#&#8203;8265](DataDog/dd-trace-java#8265) -
[@&#8203;dougqh](https://github.com/dougqh))
- 🧹 Move async propagation API from scope to tracer
([#&#8203;8231](DataDog/dd-trace-java#8231) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Introduce context propagation API
([#&#8203;8161](DataDog/dd-trace-java#8161) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🧪 Use env-entry to add tags per webapp deployment
([#&#8203;8138](DataDog/dd-trace-java#8138) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Introduce context helpers API
([#&#8203;8134](DataDog/dd-trace-java#8134) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Support IPv6 values for `DD_AGENT_HOST` and
`DD_TRACE_AGENT_URL`
([#&#8203;7984](DataDog/dd-trace-java#7984) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Instrumentations

##### Apache HttpComponents

- 🐛 Properly finish spans and support latest apache httpclient5
([#&#8203;8272](DataDog/dd-trace-java#8272) -
[@&#8203;amarziali](https://github.com/amarziali))

##### AWS Lambda instrumentation

- 🐛 Properly capture lambda payloads for all handler types.
([#&#8203;8264](DataDog/dd-trace-java#8264) -
[@&#8203;purple4reina](https://github.com/purple4reina))

##### AWS S3 instrumentation

- 💡 Create S3 instrumentation + add span pointers
([#&#8203;8075](DataDog/dd-trace-java#8075) -
[@&#8203;nhulston](https://github.com/nhulston))

##### AWS SDK instrumentation

- 🐛 Revert "Add avoid double instrumenting lambda non-streaming
handlers."
([#&#8203;8247](DataDog/dd-trace-java#8247) -
[@&#8203;nhulston](https://github.com/nhulston))

##### Cassandra

- ✨ Allow extracting keyspace from statement result
([#&#8203;8239](DataDog/dd-trace-java#8239) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Core Java language instrumentation

- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Eclipse Vert.x instrumentation

- 🐛 Fix vertx worker propagation and error handling
([#&#8203;8237](DataDog/dd-trace-java#8237) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support vertx 5
([#&#8203;8220](DataDog/dd-trace-java#8220) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

##### Kafka instrumentation

- 🐛 Prevent possible NPE calculating Kafka record header size
([#&#8203;8292](DataDog/dd-trace-java#8292) -
[@&#8203;ygree](https://github.com/ygree))

##### Mule instrumentation

- 🐛 Fix crash using Mule with JPMS
([#&#8203;8187](DataDog/dd-trace-java#8187) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Protocol Buffer instrumentation

- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Spring instrumentation

- 🐛 Preserve getQualifier from spring scheduling runnables
([#&#8203;8293](DataDog/dd-trace-java#8293) -
[@&#8203;amarziali](https://github.com/amarziali))

</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**: Whenever PR becomes conflicted, 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: bb09d47e4eed77a003f630273b4d0a84003eb899
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants