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 trace injection for prepared statements in Postgres #7940

Merged
merged 20 commits into from
Dec 12, 2024

Conversation

nenadnoveljic
Copy link
Contributor

@nenadnoveljic nenadnoveljic commented Nov 12, 2024

What Does This Do

Adding trace injection for prepared statements in Postgres.

Motivation

90% of APM/DBM correlation attempts for Postgres involve prepared statements, but we can't retrieve execution plans for these. Injecting trace context into prepared statements will greatly improve the success rate.

Additional Notes

It's not possible to inject trace context into comments for prepared statements. Instead, the tracer sets the application_name with the trace parent, which the Agent samples via pg_stat_activity.application_name, and the backend parses.

Disadvantages:

  • Setting application_name requires an extra database round trip.
  • The original application_name is overwritten.

These drawbacks will be noted in the public documentation.

The feature is disabled by default and can be enabled by setting dd.dbm.trace_prepared_statements to true.

image

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@pr-commenter
Copy link

pr-commenter bot commented Nov 12, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master nenadnoveljic/pg-prepared
git_commit_date 1734005386 1734009208
git_commit_sha 9918d21 89f033b
release_version 1.44.0-SNAPSHOT~9918d219cf 1.44.0-SNAPSHOT~89f033b53e
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1734011699 1734011699
ci_job_id 736547726 736547726
ci_pipeline_id 50946480 50946480
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.44.0-SNAPSHOT~89f033b53e, baseline=1.44.0-SNAPSHOT~9918d219cf

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.1 s) : 0, 1099762
Total [baseline] (10.515 s) : 0, 10514797
Agent [candidate] (1.093 s) : 0, 1092899
Total [candidate] (10.438 s) : 0, 10438128
section appsec
Agent [baseline] (1.224 s) : 0, 1224190
Total [baseline] (10.764 s) : 0, 10764406
Agent [candidate] (1.234 s) : 0, 1233881
Total [candidate] (10.734 s) : 0, 10734368
section iast
Agent [baseline] (1.223 s) : 0, 1223399
Total [baseline] (10.998 s) : 0, 10997540
Agent [candidate] (1.222 s) : 0, 1222396
Total [candidate] (10.959 s) : 0, 10958932
section profiling
Agent [baseline] (1.32 s) : 0, 1320286
Total [baseline] (10.801 s) : 0, 10800545
Agent [candidate] (1.327 s) : 0, 1327056
Total [candidate] (10.846 s) : 0, 10845994
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.1 s -
Agent appsec 1.224 s 124.428 ms (11.3%)
Agent iast 1.223 s 123.637 ms (11.2%)
Agent profiling 1.32 s 220.524 ms (20.1%)
Total tracing 10.515 s -
Total appsec 10.764 s 249.609 ms (2.4%)
Total iast 10.998 s 482.743 ms (4.6%)
Total profiling 10.801 s 285.748 ms (2.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.093 s -
Agent appsec 1.234 s 140.982 ms (12.9%)
Agent iast 1.222 s 129.496 ms (11.8%)
Agent profiling 1.327 s 234.156 ms (21.4%)
Total tracing 10.438 s -
Total appsec 10.734 s 296.24 ms (2.8%)
Total iast 10.959 s 520.804 ms (5.0%)
Total profiling 10.846 s 407.866 ms (3.9%)
gantt
    title petclinic - break down per module: candidate=1.44.0-SNAPSHOT~89f033b53e, baseline=1.44.0-SNAPSHOT~9918d219cf

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (699.271 ms) : 0, 699271
BytebuddyAgent [candidate] (695.282 ms) : 0, 695282
GlobalTracer [baseline] (319.715 ms) : 0, 319715
GlobalTracer [candidate] (318.172 ms) : 0, 318172
AppSec [baseline] (54.842 ms) : 0, 54842
AppSec [candidate] (54.354 ms) : 0, 54354
Remote Config [baseline] (694.752 µs) : 0, 695
Remote Config [candidate] (681.884 µs) : 0, 682
Telemetry [baseline] (11.451 ms) : 0, 11451
Telemetry [candidate] (10.613 ms) : 0, 10613
section appsec
BytebuddyAgent [baseline] (710.718 ms) : 0, 710718
BytebuddyAgent [candidate] (717.197 ms) : 0, 717197
GlobalTracer [baseline] (314.529 ms) : 0, 314529
GlobalTracer [candidate] (316.793 ms) : 0, 316793
AppSec [baseline] (167.34 ms) : 0, 167340
AppSec [candidate] (167.84 ms) : 0, 167840
IAST [baseline] (19.64 ms) : 0, 19640
IAST [candidate] (20.091 ms) : 0, 20091
Remote Config [baseline] (648.807 µs) : 0, 649
Remote Config [candidate] (654.889 µs) : 0, 655
Telemetry [baseline] (7.418 ms) : 0, 7418
Telemetry [candidate] (7.482 ms) : 0, 7482
section iast
BytebuddyAgent [baseline] (815.773 ms) : 0, 815773
BytebuddyAgent [candidate] (814.071 ms) : 0, 814071
GlobalTracer [baseline] (306.706 ms) : 0, 306706
GlobalTracer [candidate] (307.052 ms) : 0, 307052
AppSec [baseline] (57.09 ms) : 0, 57090
AppSec [candidate] (58.078 ms) : 0, 58078
IAST [baseline] (21.905 ms) : 0, 21905
IAST [candidate] (21.163 ms) : 0, 21163
Remote Config [baseline] (639.563 µs) : 0, 640
Remote Config [candidate] (643.645 µs) : 0, 644
Telemetry [baseline] (7.498 ms) : 0, 7498
Telemetry [candidate] (7.577 ms) : 0, 7577
section profiling
BytebuddyAgent [baseline] (689.463 ms) : 0, 689463
BytebuddyAgent [candidate] (694.267 ms) : 0, 694267
GlobalTracer [baseline] (436.116 ms) : 0, 436116
GlobalTracer [candidate] (436.929 ms) : 0, 436929
AppSec [baseline] (53.577 ms) : 0, 53577
AppSec [candidate] (54.102 ms) : 0, 54102
Remote Config [baseline] (656.78 µs) : 0, 657
Remote Config [candidate] (673.685 µs) : 0, 674
Telemetry [baseline] (7.677 ms) : 0, 7677
Telemetry [candidate] (7.859 ms) : 0, 7859
ProfilingAgent [baseline] (93.664 ms) : 0, 93664
ProfilingAgent [candidate] (93.816 ms) : 0, 93816
Profiling [baseline] (93.688 ms) : 0, 93688
Profiling [candidate] (93.84 ms) : 0, 93840
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.44.0-SNAPSHOT~89f033b53e, baseline=1.44.0-SNAPSHOT~9918d219cf

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.098 s) : 0, 1098381
Total [baseline] (8.734 s) : 0, 8734463
Agent [candidate] (1.089 s) : 0, 1089438
Total [candidate] (8.653 s) : 0, 8652961
section iast
Agent [baseline] (1.223 s) : 0, 1223035
Total [baseline] (9.264 s) : 0, 9263844
Agent [candidate] (1.221 s) : 0, 1220916
Total [candidate] (9.212 s) : 0, 9212283
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.221 s) : 0, 1221000
Total [baseline] (9.224 s) : 0, 9223993
Agent [candidate] (1.23 s) : 0, 1229572
Total [candidate] (9.228 s) : 0, 9227604
section iast_TELEMETRY_OFF
Agent [baseline] (1.22 s) : 0, 1219956
Total [baseline] (9.182 s) : 0, 9182168
Agent [candidate] (1.224 s) : 0, 1224043
Total [candidate] (9.183 s) : 0, 9183433
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.098 s -
Agent iast 1.223 s 124.654 ms (11.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.221 s 122.619 ms (11.2%)
Agent iast_TELEMETRY_OFF 1.22 s 121.575 ms (11.1%)
Total tracing 8.734 s -
Total iast 9.264 s 529.381 ms (6.1%)
Total iast_HARDCODED_SECRET_DISABLED 9.224 s 489.53 ms (5.6%)
Total iast_TELEMETRY_OFF 9.182 s 447.705 ms (5.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.089 s -
Agent iast 1.221 s 131.478 ms (12.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.23 s 140.135 ms (12.9%)
Agent iast_TELEMETRY_OFF 1.224 s 134.605 ms (12.4%)
Total tracing 8.653 s -
Total iast 9.212 s 559.322 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.228 s 574.643 ms (6.6%)
Total iast_TELEMETRY_OFF 9.183 s 530.472 ms (6.1%)
gantt
    title insecure-bank - break down per module: candidate=1.44.0-SNAPSHOT~89f033b53e, baseline=1.44.0-SNAPSHOT~9918d219cf

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (696.618 ms) : 0, 696618
BytebuddyAgent [candidate] (694.686 ms) : 0, 694686
GlobalTracer [baseline] (321.045 ms) : 0, 321045
GlobalTracer [candidate] (317.587 ms) : 0, 317587
AppSec [baseline] (54.883 ms) : 0, 54883
AppSec [candidate] (54.306 ms) : 0, 54306
Remote Config [baseline] (705.447 µs) : 0, 705
Remote Config [candidate] (690.355 µs) : 0, 690
Telemetry [baseline] (11.367 ms) : 0, 11367
Telemetry [candidate] (8.404 ms) : 0, 8404
section iast
BytebuddyAgent [baseline] (814.727 ms) : 0, 814727
BytebuddyAgent [candidate] (813.168 ms) : 0, 813168
GlobalTracer [baseline] (306.756 ms) : 0, 306756
GlobalTracer [candidate] (306.518 ms) : 0, 306518
AppSec [baseline] (57.997 ms) : 0, 57997
AppSec [candidate] (57.191 ms) : 0, 57191
IAST [baseline] (21.468 ms) : 0, 21468
IAST [candidate] (22.063 ms) : 0, 22063
Remote Config [baseline] (671.6 µs) : 0, 672
Remote Config [candidate] (634.0 µs) : 0, 634
Telemetry [baseline] (7.621 ms) : 0, 7621
Telemetry [candidate] (7.531 ms) : 0, 7531
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (812.702 ms) : 0, 812702
BytebuddyAgent [candidate] (819.448 ms) : 0, 819448
GlobalTracer [baseline] (306.649 ms) : 0, 306649
GlobalTracer [candidate] (308.387 ms) : 0, 308387
AppSec [baseline] (57.48 ms) : 0, 57480
AppSec [candidate] (58.488 ms) : 0, 58488
IAST [baseline] (22.205 ms) : 0, 22205
IAST [candidate] (21.22 ms) : 0, 21220
Remote Config [baseline] (649.174 µs) : 0, 649
Remote Config [candidate] (626.641 µs) : 0, 627
Telemetry [baseline] (7.571 ms) : 0, 7571
Telemetry [candidate] (7.503 ms) : 0, 7503
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (812.45 ms) : 0, 812450
BytebuddyAgent [candidate] (815.054 ms) : 0, 815054
GlobalTracer [baseline] (306.509 ms) : 0, 306509
GlobalTracer [candidate] (308.119 ms) : 0, 308119
AppSec [baseline] (58.132 ms) : 0, 58132
AppSec [candidate] (58.052 ms) : 0, 58052
IAST [baseline] (20.807 ms) : 0, 20807
IAST [candidate] (20.817 ms) : 0, 20817
Remote Config [baseline] (654.677 µs) : 0, 655
Remote Config [candidate] (645.969 µs) : 0, 646
Telemetry [baseline] (7.525 ms) : 0, 7525
Telemetry [candidate] (7.489 ms) : 0, 7489
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-12-12T13:23:01 2024-12-12T13:29:57
git_branch master nenadnoveljic/pg-prepared
git_commit_date 1734005386 1734009208
git_commit_sha 9918d21 89f033b
release_version 1.44.0-SNAPSHOT~9918d219cf 1.44.0-SNAPSHOT~89f033b53e
start_time 2024-12-12T13:22:48 2024-12-12T13:29:44
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1734010548 1734010548
ci_job_id 736547727 736547727
ci_pipeline_id 50946480 50946480
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
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 insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.44.0-SNAPSHOT~89f033b53e, baseline=1.44.0-SNAPSHOT~9918d219cf
    dateFormat X
    axisFormat %s
section baseline
no_agent (376.738 µs) : 357, 396
.   : milestone, 377,
iast (484.252 µs) : 463, 506
.   : milestone, 484,
iast_FULL (644.314 µs) : 623, 666
.   : milestone, 644,
iast_GLOBAL (506.262 µs) : 485, 527
.   : milestone, 506,
iast_HARDCODED_SECRET_DISABLED (495.298 µs) : 473, 517
.   : milestone, 495,
iast_INACTIVE (450.589 µs) : 429, 472
.   : milestone, 451,
iast_TELEMETRY_OFF (476.718 µs) : 455, 498
.   : milestone, 477,
tracing (447.984 µs) : 427, 469
.   : milestone, 448,
section candidate
no_agent (375.336 µs) : 356, 395
.   : milestone, 375,
iast (498.133 µs) : 476, 520
.   : milestone, 498,
iast_FULL (643.729 µs) : 622, 665
.   : milestone, 644,
iast_GLOBAL (505.148 µs) : 484, 527
.   : milestone, 505,
iast_HARDCODED_SECRET_DISABLED (482.549 µs) : 461, 504
.   : milestone, 483,
iast_INACTIVE (448.934 µs) : 428, 470
.   : milestone, 449,
iast_TELEMETRY_OFF (473.644 µs) : 452, 495
.   : milestone, 474,
tracing (442.888 µs) : 422, 464
.   : milestone, 443,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 376.738 µs [357.054 µs, 396.422 µs] -
iast 484.252 µs [462.879 µs, 505.625 µs] 107.514 µs (28.5%)
iast_FULL 644.314 µs [622.888 µs, 665.74 µs] 267.576 µs (71.0%)
iast_GLOBAL 506.262 µs [485.031 µs, 527.493 µs] 129.524 µs (34.4%)
iast_HARDCODED_SECRET_DISABLED 495.298 µs [473.144 µs, 517.453 µs] 118.56 µs (31.5%)
iast_INACTIVE 450.589 µs [428.711 µs, 472.466 µs] 73.851 µs (19.6%)
iast_TELEMETRY_OFF 476.718 µs [455.438 µs, 497.997 µs] 99.98 µs (26.5%)
tracing 447.984 µs [427.332 µs, 468.635 µs] 71.246 µs (18.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 375.336 µs [355.501 µs, 395.171 µs] -
iast 498.133 µs [476.367 µs, 519.9 µs] 122.798 µs (32.7%)
iast_FULL 643.729 µs [622.195 µs, 665.263 µs] 268.393 µs (71.5%)
iast_GLOBAL 505.148 µs [483.767 µs, 526.53 µs] 129.813 µs (34.6%)
iast_HARDCODED_SECRET_DISABLED 482.549 µs [461.374 µs, 503.724 µs] 107.213 µs (28.6%)
iast_INACTIVE 448.934 µs [427.767 µs, 470.1 µs] 73.598 µs (19.6%)
iast_TELEMETRY_OFF 473.644 µs [452.153 µs, 495.134 µs] 98.308 µs (26.2%)
tracing 442.888 µs [422.134 µs, 463.642 µs] 67.552 µs (18.0%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.44.0-SNAPSHOT~89f033b53e, baseline=1.44.0-SNAPSHOT~9918d219cf
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.339 ms) : 1319, 1360
.   : milestone, 1339,
appsec (1.746 ms) : 1721, 1771
.   : milestone, 1746,
appsec_no_iast (1.721 ms) : 1695, 1746
.   : milestone, 1721,
iast (1.494 ms) : 1471, 1517
.   : milestone, 1494,
profiling (1.498 ms) : 1475, 1521
.   : milestone, 1498,
tracing (1.51 ms) : 1486, 1535
.   : milestone, 1510,
section candidate
no_agent (1.341 ms) : 1322, 1360
.   : milestone, 1341,
appsec (1.74 ms) : 1716, 1765
.   : milestone, 1740,
appsec_no_iast (1.763 ms) : 1739, 1788
.   : milestone, 1763,
iast (1.471 ms) : 1448, 1494
.   : milestone, 1471,
profiling (1.488 ms) : 1465, 1511
.   : milestone, 1488,
tracing (1.5 ms) : 1476, 1524
.   : milestone, 1500,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.339 ms [1.319 ms, 1.36 ms] -
appsec 1.746 ms [1.721 ms, 1.771 ms] 406.6 µs (30.4%)
appsec_no_iast 1.721 ms [1.695 ms, 1.746 ms] 381.273 µs (28.5%)
iast 1.494 ms [1.471 ms, 1.517 ms] 154.784 µs (11.6%)
profiling 1.498 ms [1.475 ms, 1.521 ms] 158.563 µs (11.8%)
tracing 1.51 ms [1.486 ms, 1.535 ms] 171.025 µs (12.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.341 ms [1.322 ms, 1.36 ms] -
appsec 1.74 ms [1.716 ms, 1.765 ms] 399.215 µs (29.8%)
appsec_no_iast 1.763 ms [1.739 ms, 1.788 ms] 422.341 µs (31.5%)
iast 1.471 ms [1.448 ms, 1.494 ms] 130.329 µs (9.7%)
profiling 1.488 ms [1.465 ms, 1.511 ms] 146.782 µs (10.9%)
tracing 1.5 ms [1.476 ms, 1.524 ms] 158.875 µs (11.8%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master nenadnoveljic/pg-prepared
git_commit_date 1734005386 1734009208
git_commit_sha 9918d21 89f033b
release_version 1.44.0-SNAPSHOT~9918d219cf 1.44.0-SNAPSHOT~89f033b53e
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1734011248 1734011248
ci_job_id 736547728 736547728
ci_pipeline_id 50946480 50946480
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
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.44.0-SNAPSHOT~89f033b53e, baseline=1.44.0-SNAPSHOT~9918d219cf
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.47 ms) : 1458, 1481
.   : milestone, 1470,
appsec (2.344 ms) : 2302, 2385
.   : milestone, 2344,
iast (2.091 ms) : 2039, 2144
.   : milestone, 2091,
iast_GLOBAL (2.13 ms) : 2076, 2183
.   : milestone, 2130,
profiling (1.981 ms) : 1937, 2025
.   : milestone, 1981,
tracing (1.932 ms) : 1891, 1973
.   : milestone, 1932,
section candidate
no_agent (1.467 ms) : 1456, 1479
.   : milestone, 1467,
appsec (2.343 ms) : 2301, 2385
.   : milestone, 2343,
iast (2.1 ms) : 2047, 2153
.   : milestone, 2100,
iast_GLOBAL (2.146 ms) : 2092, 2200
.   : milestone, 2146,
profiling (1.98 ms) : 1936, 2024
.   : milestone, 1980,
tracing (1.936 ms) : 1895, 1977
.   : milestone, 1936,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.47 ms [1.458 ms, 1.481 ms] -
appsec 2.344 ms [2.302 ms, 2.385 ms] 874.18 µs (59.5%)
iast 2.091 ms [2.039 ms, 2.144 ms] 621.843 µs (42.3%)
iast_GLOBAL 2.13 ms [2.076 ms, 2.183 ms] 660.133 µs (44.9%)
profiling 1.981 ms [1.937 ms, 2.025 ms] 511.375 µs (34.8%)
tracing 1.932 ms [1.891 ms, 1.973 ms] 462.454 µs (31.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.467 ms [1.456 ms, 1.479 ms] -
appsec 2.343 ms [2.301 ms, 2.385 ms] 875.856 µs (59.7%)
iast 2.1 ms [2.047 ms, 2.153 ms] 632.745 µs (43.1%)
iast_GLOBAL 2.146 ms [2.092 ms, 2.2 ms] 678.77 µs (46.3%)
profiling 1.98 ms [1.936 ms, 2.024 ms] 512.99 µs (35.0%)
tracing 1.936 ms [1.895 ms, 1.977 ms] 469.324 µs (32.0%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.44.0-SNAPSHOT~89f033b53e, baseline=1.44.0-SNAPSHOT~9918d219cf
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.276 s) : 15276000, 15276000
.   : milestone, 15276000,
appsec (14.936 s) : 14936000, 14936000
.   : milestone, 14936000,
iast (18.991 s) : 18991000, 18991000
.   : milestone, 18991000,
iast_GLOBAL (18.215 s) : 18215000, 18215000
.   : milestone, 18215000,
profiling (15.235 s) : 15235000, 15235000
.   : milestone, 15235000,
tracing (14.864 s) : 14864000, 14864000
.   : milestone, 14864000,
section candidate
no_agent (14.917 s) : 14917000, 14917000
.   : milestone, 14917000,
appsec (14.981 s) : 14981000, 14981000
.   : milestone, 14981000,
iast (18.889 s) : 18889000, 18889000
.   : milestone, 18889000,
iast_GLOBAL (18.107 s) : 18107000, 18107000
.   : milestone, 18107000,
profiling (14.745 s) : 14745000, 14745000
.   : milestone, 14745000,
tracing (14.922 s) : 14922000, 14922000
.   : milestone, 14922000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.276 s [15.276 s, 15.276 s] -
appsec 14.936 s [14.936 s, 14.936 s] -340.0 ms (-2.2%)
iast 18.991 s [18.991 s, 18.991 s] 3.715 s (24.3%)
iast_GLOBAL 18.215 s [18.215 s, 18.215 s] 2.939 s (19.2%)
profiling 15.235 s [15.235 s, 15.235 s] -41.0 ms (-0.3%)
tracing 14.864 s [14.864 s, 14.864 s] -412.0 ms (-2.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.917 s [14.917 s, 14.917 s] -
appsec 14.981 s [14.981 s, 14.981 s] 64.0 ms (0.4%)
iast 18.889 s [18.889 s, 18.889 s] 3.972 s (26.6%)
iast_GLOBAL 18.107 s [18.107 s, 18.107 s] 3.19 s (21.4%)
profiling 14.745 s [14.745 s, 14.745 s] -172.0 ms (-1.2%)
tracing 14.922 s [14.922 s, 14.922 s] 5.0 ms (0.0%)

@nenadnoveljic nenadnoveljic force-pushed the nenadnoveljic/pg-prepared branch from df70fd0 to 2a45328 Compare November 20, 2024 10:08
@nenadnoveljic nenadnoveljic marked this pull request as ready for review November 21, 2024 15:58
@nenadnoveljic nenadnoveljic requested review from a team as code owners November 21, 2024 15:58
…/instrumentation/jdbc/JDBCDecorator.java

Co-authored-by: Raphaël Vandon <[email protected]>
@nenadnoveljic
Copy link
Contributor Author

Tests unrelated to my changes, like :dd-java-agent:instrumentation:grpc-1.5:forkedTest, are failing. Should I merge master into my branch to fix them?

@nenadnoveljic
Copy link
Contributor Author

How can we fix the failing :dd-java-agent:instrumentation:lettuce-5:latestDepTest? (Unrelated to my changes).

@nenadnoveljic
Copy link
Contributor Author

Anything else I need to do on this PR?

@nenadnoveljic nenadnoveljic merged commit 11a429c into master Dec 12, 2024
150 checks passed
@nenadnoveljic nenadnoveljic deleted the nenadnoveljic/pg-prepared branch December 12, 2024 14:01
@github-actions github-actions bot added this to the 1.44.0 milestone Dec 12, 2024
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Dec 16, 2024
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.49.0` -> `2.50.0` |
|
[com.google.cloud:google-cloud-core-http](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.48.0` -> `2.49.0` |
|
[com.google.cloud:google-cloud-spanner](https://github.com/googleapis/java-spanner)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`6.82.0` -> `6.83.0` |
|
[com.google.cloud:google-cloud-logging](https://github.com/googleapis/java-logging)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.20.7` -> `3.21.0` |
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.24.3` -> `2.25.1` |
|
[com.google.cloud:google-cloud-core](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.48.0` -> `2.49.0` |
| [com.google.api:gax](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.58.0` -> `2.59.0` |
|
[com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | patch | `2.6.0` ->
`2.6.1` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.43.0` -> `1.44.1` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.43.0` -> `1.44.1` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
| [com.amazonaws:aws-java-sdk-sqs](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.779` ->
`1.12.780` |
| [com.amazonaws:aws-java-sdk-s3](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.779` ->
`1.12.780` |
|
[com.amazonaws:aws-java-sdk-dynamodb](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.779` ->
`1.12.780` |
| [com.amazonaws:aws-java-sdk-core](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.779` ->
`1.12.780` |

---

### Release Notes

<details>
<summary>googleapis/sdk-platform-java
(com.google.api.grpc:proto-google-common-protos)</summary>

###
[`v2.50.0`](https://github.com/googleapis/sdk-platform-java/blob/HEAD/CHANGELOG.md#2500-2024-11-14)

##### Features

- Add experimental S2A integration in client libraries grpc transport
([#&#8203;3326](googleapis/sdk-platform-java#3326))
([1138ca6](googleapis/sdk-platform-java@1138ca6))
- enable selective generation based on service config include list
([#&#8203;3323](googleapis/sdk-platform-java#3323))
([0cddadb](googleapis/sdk-platform-java@0cddadb))
- introduce `java.time` to java-core
([#&#8203;3330](googleapis/sdk-platform-java#3330))
([f202c3b](googleapis/sdk-platform-java@f202c3b))
- Update Gapic-Generator to generate libraries using `java.time` methods
([#&#8203;3321](googleapis/sdk-platform-java#3321))
([b21c9a4](googleapis/sdk-platform-java@b21c9a4))

##### Bug Fixes

- Fix flaky test
ScheduledRetryingExecutorTest.testCancelOuterFutureAfterStart
([#&#8203;3335](googleapis/sdk-platform-java#3335))
([e73740d](googleapis/sdk-platform-java@e73740d))
- httpjson callables to trace attempts (started, failed)
([#&#8203;3300](googleapis/sdk-platform-java#3300))
([15a64ee](googleapis/sdk-platform-java@15a64ee))
- instantiate GaxProperties at build time to ensure we get the protobuf
version
([#&#8203;3365](googleapis/sdk-platform-java#3365))
([bb2a3be](googleapis/sdk-platform-java@bb2a3be))
- protobuf version not always getting set in headers
([#&#8203;3322](googleapis/sdk-platform-java#3322))
([7f6e470](googleapis/sdk-platform-java@7f6e470))
- use BuildKit instead of legacy builder to build the Hermetic Build
images
([#&#8203;3338](googleapis/sdk-platform-java#3338))
([222fb45](googleapis/sdk-platform-java@222fb45))

##### Dependencies

- update google auth library dependencies to v1.30.0
([#&#8203;3367](googleapis/sdk-platform-java#3367))
([a31c682](googleapis/sdk-platform-java@a31c682))
- update grpc dependencies to v1.68.1
([#&#8203;3240](googleapis/sdk-platform-java#3240))
([c8e3941](googleapis/sdk-platform-java@c8e3941))

##### Documentation

- fix list num
([#&#8203;3356](googleapis/sdk-platform-java#3356))
([b7d6296](googleapis/sdk-platform-java@b7d6296))
- **hermetic-build:** indicate usage of Docker Buildkit in development
guide
([#&#8203;3337](googleapis/sdk-platform-java#3337))
([01e742d](googleapis/sdk-platform-java@01e742d))
- modify hermetic build docs
([#&#8203;3331](googleapis/sdk-platform-java#3331))
([25023af](googleapis/sdk-platform-java@25023af))

</details>

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

###
[`v6.83.0`](https://github.com/googleapis/java-spanner/blob/HEAD/CHANGELOG.md#6830-2024-12-13)

##### Features

- Add Metrics host for built in metrics
([#&#8203;3519](googleapis/java-spanner#3519))
([4ed455a](googleapis/java-spanner@4ed455a))
- Add opt-in for using multiplexed sessions for blind writes
([#&#8203;3540](googleapis/java-spanner#3540))
([216f53e](googleapis/java-spanner@216f53e))
- Add UUID in Spanner TypeCode enum
([41f83dc](googleapis/java-spanner@41f83dc))
- Introduce java.time variables and methods
([#&#8203;3495](googleapis/java-spanner#3495))
([8a7d533](googleapis/java-spanner@8a7d533))
- **spanner:** Support multiplexed session for Partitioned operations
([#&#8203;3231](googleapis/java-spanner#3231))
([4501a3e](googleapis/java-spanner@4501a3e))
- Support 'set local' for retry_aborts_internally
([#&#8203;3532](googleapis/java-spanner#3532))
([331942f](googleapis/java-spanner@331942f))

##### Bug Fixes

- **deps:** Update the Java code generator (gapic-generator-java) to
2.51.0
([41f83dc](googleapis/java-spanner@41f83dc))

##### Dependencies

- Update sdk platform java dependencies
([#&#8203;3549](googleapis/java-spanner#3549))
([6235f0f](googleapis/java-spanner@6235f0f))

</details>

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

###
[`v3.21.0`](https://github.com/googleapis/java-logging/blob/HEAD/CHANGELOG.md#3210-2024-12-13)

##### Features

- Introduce `java.time` methods
([#&#8203;1729](googleapis/java-logging#1729))
([323eb33](googleapis/java-logging@323eb33))

##### Bug Fixes

- **deps:** Update the Java code generator (gapic-generator-java) to
2.51.0
([04d8868](googleapis/java-logging@04d8868))

##### Dependencies

- Update dependency io.opentelemetry:opentelemetry-bom to v1.45.0
([#&#8203;1638](googleapis/java-logging#1638))
([7e007d4](googleapis/java-logging@7e007d4))
- Update sdk platform java dependencies
([#&#8203;1736](googleapis/java-logging#1736))
([88b4cdf](googleapis/java-logging@88b4cdf))

</details>

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

###
[`v2.25.1`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2251-2024-12-13)

##### Bug Fixes

- **deps:** Update the Java code generator (gapic-generator-java) to
2.51.0
([106ee4d](googleapis/java-datastore@106ee4d))

##### Dependencies

- Update sdk platform java dependencies
([#&#8203;1685](googleapis/java-datastore#1685))
([4372350](googleapis/java-datastore@4372350))

###
[`v2.25.0`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2250-2024-12-11)

##### Features

- Introduce `java.time` methods and variables
([#&#8203;1671](googleapis/java-datastore#1671))
([5a78a80](googleapis/java-datastore@5a78a80))

##### Dependencies

- Update dependency com.google.cloud:gapic-libraries-bom to v1.48.0
([#&#8203;1605](googleapis/java-datastore#1605))
([5c6a678](googleapis/java-datastore@5c6a678))

##### Documentation

- Update gapic upgrade installation instructions
([#&#8203;1677](googleapis/java-datastore#1677))
([b3fbfcc](googleapis/java-datastore@b3fbfcc))

</details>

<details>
<summary>autonomousapps/dependency-analysis-android-gradle-plugin
(com.autonomousapps.dependency-analysis)</summary>

###
[`v2.6.1`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-261)

-   \[Fix]: `superClassName` can be null (Object has no superclass).

</details>

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

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

##### Components

##### Continuous Integration Visibility

- 🐛 Fix tracing JUnit5 tests in Maven projects with multiple forks
([#&#8203;8089](DataDog/dd-trace-java#8089) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

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

##### Known Issues

> \[!WARNING]\
> This release contains a known issue that causes failures when using
Test Optimization to trace JUnit 5 tests in a Maven project where Maven
Surefire is configured with `forkCount` > 1.
> The issue is fixed in v1.44.1

##### Breaking Changes

> \[!WARNING]\
> Support for `X-Forwarded` header is dropped from default client IP
resolution.
> It can still be re-activated using the
`dd.trace.client-ip-header=x-forwarded` system property, or the
`DD_TRACE_CLIENT_IP_HEADER=x-forwarded` environment variable. See
[#&#8203;7946](DataDog/dd-trace-java#7946).

##### Components

##### Application Security Management (IAST)

- ✨ Set unexpected IAST exceptions to debug log level
([#&#8203;8044](DataDog/dd-trace-java#8044) -
[@&#8203;smola](https://github.com/smola))
- ✨ Increase IAST propagation to StringBuffer subSequence
([#&#8203;8038](DataDog/dd-trace-java#8038) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Increase IAST propagation to StringBuilder subSequence
([#&#8203;8026](DataDog/dd-trace-java#8026) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Add IAST propagation to String valueOf
([#&#8203;8013](DataDog/dd-trace-java#8013) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Increase IAST propagation to StringBuilder append
([#&#8203;8010](DataDog/dd-trace-java#8010) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Expand SSRF support in IAST to apache-httpclient-5 and
apache-httpasyncclient-4
([#&#8203;7920](DataDog/dd-trace-java#7920) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Build & Tooling

- ✨ Generate Muzzle classes for Groovy instrumentations
([#&#8203;8004](DataDog/dd-trace-java#8004) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

##### Continuous Integration Visibility

- ✨ Support distributed traces in tests
([#&#8203;8078](DataDog/dd-trace-java#8078) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement fail-fast tests ordering for JUnit 5
([#&#8203;8055](DataDog/dd-trace-java#8055) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Mark JUnit 5 setup and teardown action spans as failed if
there is an error
([#&#8203;8033](DataDog/dd-trace-java#8033) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add tracing of setup and teardown actions in JUnit 4
([#&#8203;8030](DataDog/dd-trace-java#8030) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

##### Crash tracking

- ✨ Improve crash tracking install logging
([#&#8203;8045](DataDog/dd-trace-java#8045) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Data Streams Monitoring

- 🐛 Add Data Streams support in AWS SQS without raw message delivery
([#&#8203;8071](DataDog/dd-trace-java#8071) -
[@&#8203;piochelepiotr](https://github.com/piochelepiotr))
- ✨ Add new tag for enabled products / features to DSM
checkpoints
([#&#8203;8051](DataDog/dd-trace-java#8051) -
[@&#8203;kr-igor](https://github.com/kr-igor))
- 💡 Instrument self hosted Kafka connectors
([#&#8203;7959](DataDog/dd-trace-java#7959) -
[@&#8203;piochelepiotr](https://github.com/piochelepiotr))

##### Dynamic Instrumentation

- ✨ Add Micronaut 4 support for code origin for spans
([#&#8203;8039](DataDog/dd-trace-java#8039) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Refactor probe matching for methods
([#&#8203;8021](DataDog/dd-trace-java#8021) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Update the CodeOriginProbe fingerprint to not rely on a
stack walk
([#&#8203;8016](DataDog/dd-trace-java#8016) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Implement code origin support for grpc server entry spans
([#&#8203;7942](DataDog/dd-trace-java#7942) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### GraalVM native-image

- 🐛 Update Graal build-time instrumentation config for
TracePropagationStyle
([#&#8203;8065](DataDog/dd-trace-java#8065) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Fix NoClassDefFoundError: Could not initialize class
DDSpanLink$EncoderHolder in Graal native-image
([#&#8203;8036](DataDog/dd-trace-java#8036) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛🧹 Fix native-image generation of reactive applications
([#&#8203;8012](DataDog/dd-trace-java#8012) -
[@&#8203;mcculls](https://github.com/mcculls))

##### OpenTracing

- 🧹 Custom ScopeManagers are deprecated and will be removed in a
future release of dd-trace-ot
([#&#8203;8058](DataDog/dd-trace-java#8058) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Tracer core

- ✨🧪 Service naming: split by jee deployment
([#&#8203;8064](DataDog/dd-trace-java#8064) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Exclude jboss mdb proxies from instrumenting
([#&#8203;8061](DataDog/dd-trace-java#8061) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add a built-in trace interceptor for keeping traces
depending of their latency
([#&#8203;8040](DataDog/dd-trace-java#8040) -
[@&#8203;cecile75](https://github.com/cecile75))
- 💡 Introduce marker mechanism for eagerly initializing helpers
([#&#8203;8028](DataDog/dd-trace-java#8028) -
[@&#8203;mcculls](https://github.com/mcculls))
- 💡 Add JSON component
([#&#8203;7973](DataDog/dd-trace-java#7973) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨⚠️ Remove support for X-Forwarded in client IP
resolution
([#&#8203;7946](DataDog/dd-trace-java#7946) -
[@&#8203;smola](https://github.com/smola))

##### Instrumentations

##### Apache HttpComponents

- ✨ Expand SSRF support in IAST to apache-httpclient-5 and
apache-httpasyncclient-4
([#&#8203;7920](DataDog/dd-trace-java#7920) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### gRPC instrumentation

- 🐛 Use lower priorities for grpc server errors
([#&#8203;8043](DataDog/dd-trace-java#8043) -
[@&#8203;amarziali](https://github.com/amarziali))

##### JDBC instrumentation

- ✨ Add trace injection for prepared statements in Postgres
([#&#8203;7940](DataDog/dd-trace-java#7940) -
[@&#8203;nenadnoveljic](https://github.com/nenadnoveljic))

##### JMS instrumentation

- 🐛 Protect mdb from instrumenting multiple time the same event
([#&#8203;8062](DataDog/dd-trace-java#8062) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Kafka instrumentation

- 💡 Instrument self hosted Kafka connectors
([#&#8203;7959](DataDog/dd-trace-java#7959) -
[@&#8203;piochelepiotr](https://github.com/piochelepiotr))

##### OpenTelemetry instrumentation

- 🐛 Support using OpenTelemetry Event API inside `@WithSpan`
annotated method
([#&#8203;8019](DataDog/dd-trace-java#8019) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Reactor instrumentation

- 🐛🧹 Fix native-image generation of reactive applications
([#&#8203;8012](DataDog/dd-trace-java#8012) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Spring instrumentation

- 🐛 Avoid double instrumenting lambdas on latest spring scheduling
([#&#8203;8005](DataDog/dd-trace-java#8005) -
[@&#8203;amarziali](https://github.com/amarziali))

##### All other instrumentations

- 🐛 Twilio: allow service name flattening
([#&#8203;8025](DataDog/dd-trace-java#8025) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Instrument Mulesoft 4.5.0+
([#&#8203;7981](DataDog/dd-trace-java#7981) -
[@&#8203;amarziali](https://github.com/amarziali))

</details>

<details>
<summary>aws/aws-sdk-java (com.amazonaws:aws-java-sdk-sqs)</summary>

###
[`v1.12.780`](https://github.com/aws/aws-sdk-java/blob/HEAD/CHANGELOG.md#112780-2024-12-11)

[Compare
Source](aws/aws-sdk-java@1.12.779...1.12.780)

#### **Amazon Simple Storage Service**

-   ### Bugfixes
- AWS SDK for Java 1.x now includes additional validation for Amazon S3
client APIs to handle scenarios where an empty string ('') is passed as
the key argument to the following operations: PutObject, DeleteObject,
ListObjects, GetObjectMetaData, ListObjectsV2, SetObjectTagging,
GetObjectTagging, SetObjectAcl, GetObjectAcl, SetObjectLegalHold,
GetObjectLegalHold, CopyObject, CopyPart, SelectObjectContent,
SetObjectRetention, GetObjectRetention, AbortMultipartUpload,
CompleteMultipartUpload, InitiateMultipartUpload, ListParts, UploadPart,
RestoreObjectV2, and RestoreObject. The SDK will validate the key
argument and throw an exception if it is an empty string, ensuring
correct and expected behavior.

</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: 69831bc62ea4d80cdcd42cef2aa9bd8eda28ae8c
@dorongold
Copy link

@nenadnoveljic Can you please clarify if trace injection for prepared statements is also supported for MySQL?
The public documentation currently says:

Tracer versions 1.44 and greater: Enable the prepared statements tracing using one of the following methods:
Set the system property dd.dbm.trace_prepared_statements=true
Set the environment variable export DD_DBM_TRACE_PREPARED_STATEMENTS=true

Because it does not mention for which databases this is supported, it is implied that it is supported for all of them (Postgres, MySQL, SQL Server, Oracle).

@nenadnoveljic
Copy link
Contributor Author

@dorongold We've updated the public docs. Thanks for letting us know!

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.

7 participants