Skip to content

Surface process tags in dsm payloads and use them for base hash calculation #8836

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 7 commits into from
May 22, 2025

Conversation

amarziali
Copy link
Collaborator

What Does This Do

This PR adds process tags information to the DSM payloads in the ProcessTags field. Those tags are encoded as a msgpack list. Each entry is encoded as key:value

Also, the process tags are now used to calculate data streams base hash. For this reason, the process tag list is not ordered (since order matters when hashing).
For perf improvement, I kept a copy of the tag as a UTF8ByteString list that avoids extra charset encoding when serializing. The string list version is still used by the remote config writer.

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@amarziali amarziali requested review from a team as code owners May 16, 2025 09:06
@amarziali amarziali requested a review from smola May 16, 2025 09:06
Copy link
Contributor

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@pr-commenter
Copy link

pr-commenter bot commented May 16, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/dsm
git_commit_date 1747906691 1747907850
git_commit_sha 4ca8a41 53c0187
release_version 1.50.0-SNAPSHOT~4ca8a4184f 1.50.0-SNAPSHOT~53c0187ddf
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1747910302 1747910302
ci_job_id 949748965 949748965
ci_pipeline_id 65834830 65834830
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-pw3vcngw-project-304-concurrent-0-hih0jma7 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-pw3vcngw-project-304-concurrent-0-hih0jma7 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 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 56 metrics, 15 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~53c0187ddf, baseline=1.50.0-SNAPSHOT~4ca8a4184f

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.031 s) : 0, 1031158
Total [baseline] (8.677 s) : 0, 8676575
Agent [candidate] (1.021 s) : 0, 1020552
Total [candidate] (8.65 s) : 0, 8650476
section iast
Agent [baseline] (1.156 s) : 0, 1156384
Total [baseline] (9.287 s) : 0, 9286989
Agent [candidate] (1.154 s) : 0, 1154124
Total [candidate] (9.256 s) : 0, 9255606
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.153 s) : 0, 1153238
Total [baseline] (9.223 s) : 0, 9222699
Agent [candidate] (1.159 s) : 0, 1159170
Total [candidate] (9.246 s) : 0, 9246473
section iast_TELEMETRY_OFF
Agent [baseline] (1.145 s) : 0, 1145230
Total [baseline] (9.228 s) : 0, 9227872
Agent [candidate] (1.142 s) : 0, 1142093
Total [candidate] (9.218 s) : 0, 9218125
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.031 s -
Agent iast 1.156 s 125.225 ms (12.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.153 s 122.079 ms (11.8%)
Agent iast_TELEMETRY_OFF 1.145 s 114.072 ms (11.1%)
Total tracing 8.677 s -
Total iast 9.287 s 610.414 ms (7.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.223 s 546.124 ms (6.3%)
Total iast_TELEMETRY_OFF 9.228 s 551.297 ms (6.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.021 s -
Agent iast 1.154 s 133.573 ms (13.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.159 s 138.619 ms (13.6%)
Agent iast_TELEMETRY_OFF 1.142 s 121.541 ms (11.9%)
Total tracing 8.65 s -
Total iast 9.256 s 605.13 ms (7.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.246 s 595.997 ms (6.9%)
Total iast_TELEMETRY_OFF 9.218 s 567.649 ms (6.6%)
gantt
    title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~53c0187ddf, baseline=1.50.0-SNAPSHOT~4ca8a4184f

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (691.659 ms) : 0, 691659
BytebuddyAgent [candidate] (682.092 ms) : 0, 682092
GlobalTracer [baseline] (241.132 ms) : 0, 241132
GlobalTracer [candidate] (240.027 ms) : 0, 240027
AppSec [baseline] (54.873 ms) : 0, 54873
AppSec [candidate] (54.601 ms) : 0, 54601
Debugger [baseline] (8.308 ms) : 0, 8308
Debugger [candidate] (8.986 ms) : 0, 8986
Remote Config [baseline] (706.232 µs) : 0, 706
Remote Config [candidate] (698.582 µs) : 0, 699
Telemetry [baseline] (10.642 ms) : 0, 10642
Telemetry [candidate] (10.638 ms) : 0, 10638
section iast
BytebuddyAgent [baseline] (807.743 ms) : 0, 807743
BytebuddyAgent [candidate] (805.883 ms) : 0, 805883
GlobalTracer [baseline] (231.748 ms) : 0, 231748
GlobalTracer [candidate] (231.464 ms) : 0, 231464
IAST [baseline] (26.765 ms) : 0, 26765
IAST [candidate] (29.977 ms) : 0, 29977
AppSec [baseline] (49.695 ms) : 0, 49695
AppSec [candidate] (48.821 ms) : 0, 48821
Debugger [baseline] (5.885 ms) : 0, 5885
Debugger [candidate] (5.909 ms) : 0, 5909
Remote Config [baseline] (598.101 µs) : 0, 598
Remote Config [candidate] (583.516 µs) : 0, 584
Telemetry [baseline] (7.96 ms) : 0, 7960
Telemetry [candidate] (7.918 ms) : 0, 7918
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (805.258 ms) : 0, 805258
BytebuddyAgent [candidate] (808.957 ms) : 0, 808957
GlobalTracer [baseline] (230.82 ms) : 0, 230820
GlobalTracer [candidate] (232.641 ms) : 0, 232641
IAST [baseline] (29.471 ms) : 0, 29471
IAST [candidate] (29.477 ms) : 0, 29477
AppSec [baseline] (47.934 ms) : 0, 47934
AppSec [candidate] (49.897 ms) : 0, 49897
Debugger [baseline] (5.926 ms) : 0, 5926
Debugger [candidate] (5.983 ms) : 0, 5983
Remote Config [baseline] (591.083 µs) : 0, 591
Remote Config [candidate] (608.876 µs) : 0, 609
Telemetry [baseline] (7.964 ms) : 0, 7964
Telemetry [candidate] (7.975 ms) : 0, 7975
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (798.043 ms) : 0, 798043
BytebuddyAgent [candidate] (796.395 ms) : 0, 796395
GlobalTracer [baseline] (230.505 ms) : 0, 230505
GlobalTracer [candidate] (230.251 ms) : 0, 230251
IAST [baseline] (22.381 ms) : 0, 22381
IAST [candidate] (23.015 ms) : 0, 23015
AppSec [baseline] (56.281 ms) : 0, 56281
AppSec [candidate] (54.656 ms) : 0, 54656
Debugger [baseline] (6.027 ms) : 0, 6027
Debugger [candidate] (5.948 ms) : 0, 5948
Remote Config [baseline] (602.925 µs) : 0, 603
Remote Config [candidate] (599.899 µs) : 0, 600
Telemetry [baseline] (7.868 ms) : 0, 7868
Telemetry [candidate] (7.754 ms) : 0, 7754
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~53c0187ddf, baseline=1.50.0-SNAPSHOT~4ca8a4184f

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.02 s) : 0, 1019832
Total [baseline] (10.536 s) : 0, 10536264
Agent [candidate] (1.019 s) : 0, 1019453
Total [candidate] (10.423 s) : 0, 10423280
section appsec
Agent [baseline] (1.161 s) : 0, 1160686
Total [baseline] (10.667 s) : 0, 10666876
Agent [candidate] (1.168 s) : 0, 1168343
Total [candidate] (10.728 s) : 0, 10727937
section iast
Agent [baseline] (1.149 s) : 0, 1149384
Total [baseline] (10.928 s) : 0, 10927978
Agent [candidate] (1.155 s) : 0, 1155060
Total [candidate] (11.003 s) : 0, 11003095
section profiling
Agent [baseline] (1.279 s) : 0, 1279447
Total [baseline] (10.874 s) : 0, 10873750
Agent [candidate] (1.272 s) : 0, 1271854
Total [candidate] (10.867 s) : 0, 10866779
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.02 s -
Agent appsec 1.161 s 140.854 ms (13.8%)
Agent iast 1.149 s 129.552 ms (12.7%)
Agent profiling 1.279 s 259.615 ms (25.5%)
Total tracing 10.536 s -
Total appsec 10.667 s 130.612 ms (1.2%)
Total iast 10.928 s 391.714 ms (3.7%)
Total profiling 10.874 s 337.487 ms (3.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.019 s -
Agent appsec 1.168 s 148.89 ms (14.6%)
Agent iast 1.155 s 135.607 ms (13.3%)
Agent profiling 1.272 s 252.401 ms (24.8%)
Total tracing 10.423 s -
Total appsec 10.728 s 304.657 ms (2.9%)
Total iast 11.003 s 579.815 ms (5.6%)
Total profiling 10.867 s 443.499 ms (4.3%)
gantt
    title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~53c0187ddf, baseline=1.50.0-SNAPSHOT~4ca8a4184f

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (682.979 ms) : 0, 682979
BytebuddyAgent [candidate] (682.346 ms) : 0, 682346
GlobalTracer [baseline] (240.936 ms) : 0, 240936
GlobalTracer [candidate] (240.043 ms) : 0, 240043
AppSec [baseline] (54.664 ms) : 0, 54664
AppSec [candidate] (54.966 ms) : 0, 54966
Debugger [baseline] (6.954 ms) : 0, 6954
Debugger [candidate] (8.896 ms) : 0, 8896
Remote Config [baseline] (707.985 µs) : 0, 708
Remote Config [candidate] (691.427 µs) : 0, 691
Telemetry [baseline] (9.884 ms) : 0, 9884
Telemetry [candidate] (8.917 ms) : 0, 8917
section appsec
BytebuddyAgent [baseline] (700.116 ms) : 0, 700116
BytebuddyAgent [candidate] (704.213 ms) : 0, 704213
GlobalTracer [baseline] (236.417 ms) : 0, 236417
GlobalTracer [candidate] (238.305 ms) : 0, 238305
IAST [baseline] (21.555 ms) : 0, 21555
IAST [candidate] (21.887 ms) : 0, 21887
AppSec [baseline] (175.254 ms) : 0, 175254
AppSec [candidate] (177.062 ms) : 0, 177062
Debugger [baseline] (6.249 ms) : 0, 6249
Debugger [candidate] (6.039 ms) : 0, 6039
Remote Config [baseline] (623.459 µs) : 0, 623
Remote Config [candidate] (634.243 µs) : 0, 634
Telemetry [baseline] (7.68 ms) : 0, 7680
Telemetry [candidate] (7.536 ms) : 0, 7536
section iast
BytebuddyAgent [baseline] (802.166 ms) : 0, 802166
BytebuddyAgent [candidate] (806.406 ms) : 0, 806406
GlobalTracer [baseline] (230.701 ms) : 0, 230701
GlobalTracer [candidate] (231.87 ms) : 0, 231870
IAST [baseline] (29.155 ms) : 0, 29155
IAST [candidate] (29.399 ms) : 0, 29399
AppSec [baseline] (49.397 ms) : 0, 49397
AppSec [candidate] (49.356 ms) : 0, 49356
Debugger [baseline] (5.947 ms) : 0, 5947
Debugger [candidate] (5.885 ms) : 0, 5885
Remote Config [baseline] (606.994 µs) : 0, 607
Remote Config [candidate] (611.429 µs) : 0, 611
Telemetry [baseline] (7.913 ms) : 0, 7913
Telemetry [candidate] (7.966 ms) : 0, 7966
section profiling
BytebuddyAgent [baseline] (683.159 ms) : 0, 683159
BytebuddyAgent [candidate] (678.792 ms) : 0, 678792
GlobalTracer [baseline] (362.666 ms) : 0, 362666
GlobalTracer [candidate] (361.798 ms) : 0, 361798
AppSec [baseline] (62.335 ms) : 0, 62335
AppSec [candidate] (62.251 ms) : 0, 62251
Debugger [baseline] (6.397 ms) : 0, 6397
Debugger [candidate] (6.307 ms) : 0, 6307
Remote Config [baseline] (669.269 µs) : 0, 669
Remote Config [candidate] (654.703 µs) : 0, 655
Telemetry [baseline] (8.333 ms) : 0, 8333
Telemetry [candidate] (8.165 ms) : 0, 8165
ProfilingAgent [baseline] (104.332 ms) : 0, 104332
ProfilingAgent [candidate] (102.615 ms) : 0, 102615
Profiling [baseline] (104.357 ms) : 0, 104357
Profiling [candidate] (102.638 ms) : 0, 102638
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-05-22T10:08:35 2025-05-22T10:16:24
git_branch master andrea.marziali/dsm
git_commit_date 1747906691 1747907850
git_commit_sha 4ca8a41 53c0187
release_version 1.50.0-SNAPSHOT~4ca8a4184f 1.50.0-SNAPSHOT~53c0187ddf
start_time 2025-05-22T10:08:20 2025-05-22T10:16:10
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1747909383 1747909383
ci_job_id 949748966 949748966
ci_pipeline_id 65834830 65834830
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-3qkfhwhr-project-304-concurrent-2-gkqmow66 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-3qkfhwhr-project-304-concurrent-2-gkqmow66 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 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, 18 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~53c0187ddf, baseline=1.50.0-SNAPSHOT~4ca8a4184f
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.38 ms) : 1361, 1400
.   : milestone, 1380,
appsec (1.754 ms) : 1730, 1777
.   : milestone, 1754,
appsec_no_iast (1.751 ms) : 1727, 1774
.   : milestone, 1751,
code_origins (1.672 ms) : 1645, 1700
.   : milestone, 1672,
iast (1.538 ms) : 1514, 1563
.   : milestone, 1538,
profiling (1.529 ms) : 1505, 1553
.   : milestone, 1529,
tracing (1.5 ms) : 1475, 1526
.   : milestone, 1500,
section candidate
no_agent (1.378 ms) : 1358, 1397
.   : milestone, 1378,
appsec (1.738 ms) : 1714, 1762
.   : milestone, 1738,
appsec_no_iast (1.743 ms) : 1720, 1767
.   : milestone, 1743,
code_origins (1.67 ms) : 1644, 1697
.   : milestone, 1670,
iast (1.52 ms) : 1496, 1544
.   : milestone, 1520,
profiling (1.519 ms) : 1495, 1543
.   : milestone, 1519,
tracing (1.505 ms) : 1480, 1530
.   : milestone, 1505,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.38 ms [1.361 ms, 1.4 ms] -
appsec 1.754 ms [1.73 ms, 1.777 ms] 373.347 µs (27.0%)
appsec_no_iast 1.751 ms [1.727 ms, 1.774 ms] 370.398 µs (26.8%)
code_origins 1.672 ms [1.645 ms, 1.7 ms] 291.888 µs (21.1%)
iast 1.538 ms [1.514 ms, 1.563 ms] 157.908 µs (11.4%)
profiling 1.529 ms [1.505 ms, 1.553 ms] 148.616 µs (10.8%)
tracing 1.5 ms [1.475 ms, 1.526 ms] 119.88 µs (8.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.378 ms [1.358 ms, 1.397 ms] -
appsec 1.738 ms [1.714 ms, 1.762 ms] 360.478 µs (26.2%)
appsec_no_iast 1.743 ms [1.72 ms, 1.767 ms] 365.703 µs (26.5%)
code_origins 1.67 ms [1.644 ms, 1.697 ms] 292.474 µs (21.2%)
iast 1.52 ms [1.496 ms, 1.544 ms] 142.579 µs (10.3%)
profiling 1.519 ms [1.495 ms, 1.543 ms] 141.624 µs (10.3%)
tracing 1.505 ms [1.48 ms, 1.53 ms] 127.228 µs (9.2%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~53c0187ddf, baseline=1.50.0-SNAPSHOT~4ca8a4184f
    dateFormat X
    axisFormat %s
section baseline
no_agent (388.102 µs) : 368, 408
.   : milestone, 388,
iast (529.846 µs) : 508, 552
.   : milestone, 530,
iast_FULL (741.612 µs) : 720, 764
.   : milestone, 742,
iast_GLOBAL (566.688 µs) : 545, 589
.   : milestone, 567,
iast_HARDCODED_SECRET_DISABLED (542.4 µs) : 519, 566
.   : milestone, 542,
iast_INACTIVE (475.13 µs) : 453, 497
.   : milestone, 475,
iast_TELEMETRY_OFF (510.334 µs) : 487, 533
.   : milestone, 510,
tracing (470.699 µs) : 448, 493
.   : milestone, 471,
section candidate
no_agent (385.878 µs) : 366, 406
.   : milestone, 386,
iast (520.697 µs) : 499, 542
.   : milestone, 521,
iast_FULL (737.32 µs) : 715, 759
.   : milestone, 737,
iast_GLOBAL (564.317 µs) : 543, 586
.   : milestone, 564,
iast_HARDCODED_SECRET_DISABLED (526.965 µs) : 504, 550
.   : milestone, 527,
iast_INACTIVE (474.998 µs) : 452, 498
.   : milestone, 475,
iast_TELEMETRY_OFF (517.754 µs) : 494, 541
.   : milestone, 518,
tracing (465.108 µs) : 443, 487
.   : milestone, 465,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 388.102 µs [368.354 µs, 407.849 µs] -
iast 529.846 µs [507.946 µs, 551.747 µs] 141.745 µs (36.5%)
iast_FULL 741.612 µs [719.684 µs, 763.539 µs] 353.51 µs (91.1%)
iast_GLOBAL 566.688 µs [544.519 µs, 588.858 µs] 178.587 µs (46.0%)
iast_HARDCODED_SECRET_DISABLED 542.4 µs [519.271 µs, 565.529 µs] 154.298 µs (39.8%)
iast_INACTIVE 475.13 µs [452.929 µs, 497.33 µs] 87.028 µs (22.4%)
iast_TELEMETRY_OFF 510.334 µs [487.235 µs, 533.433 µs] 122.233 µs (31.5%)
tracing 470.699 µs [448.103 µs, 493.294 µs] 82.597 µs (21.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 385.878 µs [365.843 µs, 405.914 µs] -
iast 520.697 µs [499.079 µs, 542.315 µs] 134.819 µs (34.9%)
iast_FULL 737.32 µs [715.255 µs, 759.386 µs] 351.442 µs (91.1%)
iast_GLOBAL 564.317 µs [542.737 µs, 585.898 µs] 178.439 µs (46.2%)
iast_HARDCODED_SECRET_DISABLED 526.965 µs [503.838 µs, 550.091 µs] 141.086 µs (36.6%)
iast_INACTIVE 474.998 µs [451.684 µs, 498.312 µs] 89.12 µs (23.1%)
iast_TELEMETRY_OFF 517.754 µs [494.455 µs, 541.054 µs] 131.876 µs (34.2%)
tracing 465.108 µs [442.874 µs, 487.342 µs] 79.23 µs (20.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/dsm
git_commit_date 1747906691 1747907850
git_commit_sha 4ca8a41 53c0187
release_version 1.50.0-SNAPSHOT~4ca8a4184f 1.50.0-SNAPSHOT~53c0187ddf
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1747909931 1747909931
ci_job_id 949748967 949748967
ci_pipeline_id 65834830 65834830
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-pw3vcngw-project-304-concurrent-1-6zutba6g 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-pw3vcngw-project-304-concurrent-1-6zutba6g 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 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.50.0-SNAPSHOT~53c0187ddf, baseline=1.50.0-SNAPSHOT~4ca8a4184f
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.487 ms) : 1475, 1499
.   : milestone, 1487,
appsec (2.429 ms) : 2380, 2478
.   : milestone, 2429,
iast (2.203 ms) : 2142, 2264
.   : milestone, 2203,
iast_GLOBAL (2.245 ms) : 2183, 2307
.   : milestone, 2245,
profiling (2.044 ms) : 1995, 2093
.   : milestone, 2044,
tracing (2.014 ms) : 1967, 2061
.   : milestone, 2014,
section candidate
no_agent (1.487 ms) : 1476, 1499
.   : milestone, 1487,
appsec (2.419 ms) : 2370, 2467
.   : milestone, 2419,
iast (2.194 ms) : 2133, 2256
.   : milestone, 2194,
iast_GLOBAL (2.242 ms) : 2180, 2303
.   : milestone, 2242,
profiling (2.073 ms) : 2022, 2123
.   : milestone, 2073,
tracing (2.011 ms) : 1964, 2058
.   : milestone, 2011,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.487 ms [1.475 ms, 1.499 ms] -
appsec 2.429 ms [2.38 ms, 2.478 ms] 942.007 µs (63.3%)
iast 2.203 ms [2.142 ms, 2.264 ms] 715.904 µs (48.1%)
iast_GLOBAL 2.245 ms [2.183 ms, 2.307 ms] 758.028 µs (51.0%)
profiling 2.044 ms [1.995 ms, 2.093 ms] 557.082 µs (37.5%)
tracing 2.014 ms [1.967 ms, 2.061 ms] 526.85 µs (35.4%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.487 ms [1.476 ms, 1.499 ms] -
appsec 2.419 ms [2.37 ms, 2.467 ms] 931.274 µs (62.6%)
iast 2.194 ms [2.133 ms, 2.256 ms] 707.048 µs (47.5%)
iast_GLOBAL 2.242 ms [2.18 ms, 2.303 ms] 754.499 µs (50.7%)
profiling 2.073 ms [2.022 ms, 2.123 ms] 585.452 µs (39.4%)
tracing 2.011 ms [1.964 ms, 2.058 ms] 523.563 µs (35.2%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~53c0187ddf, baseline=1.50.0-SNAPSHOT~4ca8a4184f
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.039 s) : 15039000, 15039000
.   : milestone, 15039000,
appsec (15.059 s) : 15059000, 15059000
.   : milestone, 15059000,
iast (19.02 s) : 19020000, 19020000
.   : milestone, 19020000,
iast_GLOBAL (18.075 s) : 18075000, 18075000
.   : milestone, 18075000,
profiling (15.715 s) : 15715000, 15715000
.   : milestone, 15715000,
tracing (14.935 s) : 14935000, 14935000
.   : milestone, 14935000,
section candidate
no_agent (15.396 s) : 15396000, 15396000
.   : milestone, 15396000,
appsec (15.068 s) : 15068000, 15068000
.   : milestone, 15068000,
iast (18.802 s) : 18802000, 18802000
.   : milestone, 18802000,
iast_GLOBAL (17.66 s) : 17660000, 17660000
.   : milestone, 17660000,
profiling (15.036 s) : 15036000, 15036000
.   : milestone, 15036000,
tracing (15.154 s) : 15154000, 15154000
.   : milestone, 15154000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.039 s [15.039 s, 15.039 s] -
appsec 15.059 s [15.059 s, 15.059 s] 20.0 ms (0.1%)
iast 19.02 s [19.02 s, 19.02 s] 3.981 s (26.5%)
iast_GLOBAL 18.075 s [18.075 s, 18.075 s] 3.036 s (20.2%)
profiling 15.715 s [15.715 s, 15.715 s] 676.0 ms (4.5%)
tracing 14.935 s [14.935 s, 14.935 s] -104.0 ms (-0.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.396 s [15.396 s, 15.396 s] -
appsec 15.068 s [15.068 s, 15.068 s] -328.0 ms (-2.1%)
iast 18.802 s [18.802 s, 18.802 s] 3.406 s (22.1%)
iast_GLOBAL 17.66 s [17.66 s, 17.66 s] 2.264 s (14.7%)
profiling 15.036 s [15.036 s, 15.036 s] -360.0 ms (-2.3%)
tracing 15.154 s [15.154 s, 15.154 s] -242.0 ms (-1.6%)

@smola smola requested review from a team, smola and ygree and removed request for a team and smola May 20, 2025 12:54
@amarziali amarziali requested a review from a team as a code owner May 21, 2025 06:24
Copy link
Contributor

@ygree ygree left a comment

Choose a reason for hiding this comment

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

LGTM

@amarziali amarziali enabled auto-merge (squash) May 22, 2025 09:57
@amarziali amarziali disabled auto-merge May 22, 2025 09:58
@amarziali amarziali enabled auto-merge (squash) May 22, 2025 12:54
@amarziali amarziali merged commit 9a79db3 into master May 22, 2025
574 of 588 checks passed
@amarziali amarziali deleted the andrea.marziali/dsm branch May 22, 2025 13:14
@github-actions github-actions bot added this to the 1.50.0 milestone May 22, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jun 20, 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.49.0` -> `1.50.0` |

---

### Release Notes

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

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

### Deprecation Notice

> \[!NOTE]
> `DD_RUNTIME_ID_ENABLED` has been deprecated and will be removed in
future releases. Please use `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED`
instead.

### Components

#### Application Security Management (WAF)

- 🐛 Add String length truncation limit to ObjectIntrospector and
update truncation metrics
([#&#8203;8825](DataDog/dd-trace-java#8825) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Adapt standalone ASM to support API Security
([#&#8203;8804](DataDog/dd-trace-java#8804) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add appsec.waf.input\_truncated metric
([#&#8203;8791](DataDog/dd-trace-java#8791) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request body collection
([#&#8203;8748](DataDog/dd-trace-java#8748) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request/response headers collection
([#&#8203;8724](DataDog/dd-trace-java#8724) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Build & Tooling

- ✨ Add artifacts to public s3 bucket
([#&#8203;8947](DataDog/dd-trace-java#8947) -
[@&#8203;randomanderson](https://github.com/randomanderson))

#### Continuous Integration Visibility

- ✨ Improve PR information building
([#&#8203;8908](DataDog/dd-trace-java#8908) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Truncate span stack traces when Test Optimization is
enabled
([#&#8203;8903](DataDog/dd-trace-java#8903) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Ensure auto-detected service name is the same for every process
in the same build
([#&#8203;8902](DataDog/dd-trace-java#8902) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Use tag as fallback in api requests if no branch is available
([#&#8203;8876](DataDog/dd-trace-java#8876) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add support for JUnit 5.13-RC1
([#&#8203;8865](DataDog/dd-trace-java#8865),
[#&#8203;8871](DataDog/dd-trace-java#8871) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement attempt to fix v3 and v4 and bump capability
version
([#&#8203;8824](DataDog/dd-trace-java#8824) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🧹 Align retry logic for all test framework instrumentations
([#&#8203;8803](DataDog/dd-trace-java#8803) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Always build ci workspace without trailing separator
([#&#8203;8788](DataDog/dd-trace-java#8788) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add commit discrepancies telemetry when building repository
git information
([#&#8203;8763](DataDog/dd-trace-java#8763) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Data Streams Monitoring

- 💡 Surface process tags in dsm payloads and use them for base hash
calculation
([#&#8203;8836](DataDog/dd-trace-java#8836) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Dynamic Instrumentation

- ✨ Optimized allocations for collection filter functions
([#&#8203;8896](DataDog/dd-trace-java#8896) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix SymDB upload size check
([#&#8203;8887](DataDog/dd-trace-java#8887) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for Set in filter function
([#&#8203;8873](DataDog/dd-trace-java#8873) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for isDefined in log template
([#&#8203;8859](DataDog/dd-trace-java#8859) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix Max captured frames for Exception Replay
([#&#8203;8856](DataDog/dd-trace-java#8856) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Remove static inherited fields collection
([#&#8203;8832](DataDog/dd-trace-java#8832) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 💡 Add process tags to dynamic instrumentation intake payload
([#&#8203;8779](DataDog/dd-trace-java#8779) -
[@&#8203;amarziali](https://github.com/amarziali))

#### GraalVM native-image

- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add JMXFetch support for GraalVM Native
([#&#8203;8569](DataDog/dd-trace-java#8569) -
[@&#8203;ygree](https://github.com/ygree))

#### JMX fetch

- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))

#### Library Injection

- ✨ Deny oracle db jvm based tools
([#&#8203;8909](DataDog/dd-trace-java#8909) -
[@&#8203;bric3](https://github.com/bric3))

#### OpenTracing

- 🐛 Fix OT packaging for exception replay
([#&#8203;8912](DataDog/dd-trace-java#8912) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### Profiling

- ✨ Bump ddprof to 1.27.0
([#&#8203;8893](DataDog/dd-trace-java#8893) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Properly handle the adaptive sampling interval overflow by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#213
- Fix [#&#8203;200](DataDog/dd-trace-java#200)
Crash related to aligned\_alloc and free in context by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#208
- Explicitly initialize empty context page by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#210
- Re-connect crash recursion protection with VM stackwalker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#214
- ✨ Enable ZSTD compression for profiling
([#&#8203;8862](DataDog/dd-trace-java#8862) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 💡 Collect process tags for profiling upload requests
([#&#8203;8780](DataDog/dd-trace-java#8780) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Telemetry

- 💡 Surface process tags on telemetry payloads
([#&#8203;8837](DataDog/dd-trace-java#8837) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Trace context propagation

- ✨ Migrating all HttpClient Instrumentations to Inject Full
Context
([#&#8203;8826](DataDog/dd-trace-java#8826) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Migrating all HttpServer Instrumentations to Extract full
Context
([#&#8203;8820](DataDog/dd-trace-java#8820) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer core

- ✨⚡ Skip JAXB generated classes classloader
([#&#8203;9003](DataDog/dd-trace-java#9003) -
[@&#8203;bric3](https://github.com/bric3))
- ✨ Add DD\_RUNTIME\_METRICS\_RUNTIME\_ID\_ENABLED alias for
runtime id generation
([#&#8203;8981](DataDog/dd-trace-java#8981) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Use resolved address for peer.hostname when available without
hitting the cache
([#&#8203;8915](DataDog/dd-trace-java#8915) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface server name process tag for tomcat
([#&#8203;8894](DataDog/dd-trace-java#8894) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface websphere cell and server name on process tags
([#&#8203;8880](DataDog/dd-trace-java#8880) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Added special lightweight pre-main class that skips
installation on incompatible JVMs.
([#&#8203;8855](DataDog/dd-trace-java#8855) -
[@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD))
- 💡 Add entrypoint type to process tags
([#&#8203;8839](DataDog/dd-trace-java#8839) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Notify listeners when the scope top changes after switching
scope stacks
([#&#8203;8797](DataDog/dd-trace-java#8797) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Read hsperfdata for Java PIDs if jvmstat is unavailable
([#&#8203;8792](DataDog/dd-trace-java#8792) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Turn JDK socket support on by default
([#&#8203;8752](DataDog/dd-trace-java#8752) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Simplify context propagation
([#&#8203;8719](DataDog/dd-trace-java#8719) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Add JSON parsing support
([#&#8203;8579](DataDog/dd-trace-java#8579) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer internal logging

- ✨ Fix printing format of span identifiers
([#&#8203;8897](DataDog/dd-trace-java#8897) -
[@&#8203;vandonr](https://github.com/vandonr))

#### Tracer public API

- 💡 Track the source of installation
([#&#8203;8956](DataDog/dd-trace-java#8956) -
[@&#8203;mabdinur](https://github.com/mabdinur))
- ✨ Enforce size limit on application\_monitoring.yaml files
([#&#8203;8789](DataDog/dd-trace-java#8789) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Enabling baggage cache to support limits and non-ascii
characters
([#&#8203;8713](DataDog/dd-trace-java#8713) -
[@&#8203;mhlidd](https://github.com/mhlidd))

### Instrumentations

#### AWS Lambda instrumentation

- ✨ Pass Lambda Request ID to Extension
([#&#8203;8814](DataDog/dd-trace-java#8814) -
[@&#8203;nhulston](https://github.com/nhulston))

#### Core Java language instrumentation

- ✨ Ensure ClassloadingInstrumentation is always applied even
with `DD_TRACE_ENABLED=false`
([#&#8203;8863](DataDog/dd-trace-java#8863) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Eclipse Vert.x instrumentation

- 🐛 Do not override route with / in vertx instrumentation
([#&#8203;8881](DataDog/dd-trace-java#8881) -
[@&#8203;vandonr](https://github.com/vandonr))

#### IBM Liberty

- 🐛 Fix error mark on http status for IBM liberty
([#&#8203;8822](DataDog/dd-trace-java#8822) -
[@&#8203;amarziali](https://github.com/amarziali))

#### JDBC instrumentation

- 🐛 Do not prepend DBM <> APM trace comment in SQLCommenter if there
is a pg plan hint
([#&#8203;8864](DataDog/dd-trace-java#8864) -
[@&#8203;edengorevoy](https://github.com/edengorevoy))

#### JMS instrumentation

- ✨ Add jms as an extra integration name where there is JMS
involved
([#&#8203;8933](DataDog/dd-trace-java#8933) -
[@&#8203;vandonr](https://github.com/vandonr))

#### Kotlin instrumentation

- ✨ Enable kotlin\_coroutine integration by default
([#&#8203;8848](DataDog/dd-trace-java#8848) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🧹 Rework Kotlin coroutines instrumentation around coroutine
context
([#&#8203;8774](DataDog/dd-trace-java#8774) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🐛 Support WithSpan inheritContext attribute
([#&#8203;8858](DataDog/dd-trace-java#8858) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Play Framework instrumentation

- 🐛 Fix the Play Framework's span resource name priority so that the
client JAX-RS 404 cannot override it
([#&#8203;8591](DataDog/dd-trace-java#8591) -
[@&#8203;ygree](https://github.com/ygree))

#### Quarkus Instrumentation

- 🐛 Ignore quarkus jaxrs stubs and cdi wrapper proxies
([#&#8203;8891](DataDog/dd-trace-java#8891) -
[@&#8203;amarziali](https://github.com/amarziali))

#### ServiceTalk

- ✨ Improve ServiceTalk Captured Context API Instrumentation
for v0.42.56+
([#&#8203;8821](DataDog/dd-trace-java#8821) -
[@&#8203;ygree](https://github.com/ygree))

#### Spring instrumentation

- ✨ Supporting Baggage for Instrumentations used in Weblog
Tests
([#&#8203;8773](DataDog/dd-trace-java#8773) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### WebSocket Instrumentation

- 💡 Trace websocket for spring webflux reactive handlers
([#&#8203;8831](DataDog/dd-trace-java#8831) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡:test\_tube: WebSocket support for Netty
([#&#8203;8632](DataDog/dd-trace-java#8632) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))

#### Zio Instrumentation

- 🧹 Cleanup Zio fiber instrumentation to avoid repeated activation
of continuation
([#&#8203;8798](DataDog/dd-trace-java#8798) -
[@&#8203;mcculls](https://github.com/mcculls))

</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**: Enabled.

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

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- 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: 9207366cdb6a1bd098082305d354a0a3c4622d7a
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.

4 participants