Skip to content

Conversation

amarziali
Copy link
Contributor

@amarziali amarziali commented Apr 15, 2025

What Does This Do

This pull request introduces the collection of process tags. They are tags belonging to a process that are collected and sent along all the payloads. This will be one enabler for service renaming.
The goal is to collect process related tags and, for tracing, put them under _dd.tags.process in the form k1:v1,k2,v3,...,kN:vN

The tags are collected by ProcessTags which loads in a lazy way the tags to collect and caches its serialized representations.
If tags are added (it can happen when a process tag is collected by one instrumentation) the serialized form lazily recalculated when it's requested.

By default the collection is disabled. It's behind the opt-in feature flag DD_EXPERIMENTAL_PROPAGATE_PROCESS_TAGS_ENABLED

The process tags are only added to the first span of each chunk since the agent just extract them from the first one. It's an optimization to avoid having the same values on all the spans.

This PR adds the process tags only to:

  • General -
  • entrypoint.name -> The name of the main class or the jar name (with .jar stripped)
  • entrypoint.workingdir -> the current working dir (last path segment)
  • entrypoint.basedir -> the dir where the jar is placed (last path segment)
  • Spring boot -
  • springboot.application -> the spring boot application name as defined in the spring context (only for spring boot apps)
  • springboot.profile -> the first spring boot active profile
  • jboss -
  • jboss.home -> the jboss home (last path segment) if the observed process is a jboss
  • 'jboss.mode` -> can be standalone or domain
  • server.name -> the server name

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@amarziali amarziali added type: enhancement Enhancements and improvements tag: do not merge Do not merge changes comp: core Tracer core labels Apr 15, 2025
@pr-commenter
Copy link

pr-commenter bot commented Apr 15, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/processtags
git_commit_date 1745919592 1745917138
git_commit_sha 0698839 9abb9f8
release_version 1.49.0-SNAPSHOT~069883952e 1.49.0-SNAPSHOT~9abb9f8cdb
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1745923509 1745923509
ci_job_id 916248418 916248418
ci_pipeline_id 63581832 63581832
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-4hrjjdkh-project-304-concurrent-0-ugus8jsq 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-4hrjjdkh-project-304-concurrent-0-ugus8jsq 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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 63 metrics, 8 unstable metrics.

Startup time reports for petclinic
gantt title petclinic - global startup overhead: candidate=1.49.0-SNAPSHOT~9abb9f8cdb, baseline=1.49.0-SNAPSHOT~069883952e dateFormat X axisFormat %s section tracing Agent [baseline] (1.004 s) : 0, 1004341 Total [baseline] (10.434 s) : 0, 10434056 Agent [candidate] (1.007 s) : 0, 1007494 Total [candidate] (10.438 s) : 0, 10437786 section appsec Agent [baseline] (1.156 s) : 0, 1155765 Total [baseline] (10.69 s) : 0, 10689683 Agent [candidate] (1.148 s) : 0, 1148079 Total [candidate] (10.687 s) : 0, 10687227 section iast Agent [baseline] (1.134 s) : 0, 1134460 Total [baseline] (10.853 s) : 0, 10853430 Agent [candidate] (1.145 s) : 0, 1145237 Total [candidate] (10.894 s) : 0, 10893990 section profiling Agent [baseline] (1.254 s) : 0, 1254374 Total [baseline] (10.742 s) : 0, 10742357 Agent [candidate] (1.26 s) : 0, 1260453 Total [candidate] (10.882 s) : 0, 10882044 
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.004 s -
Agent appsec 1.156 s 151.424 ms (15.1%)
Agent iast 1.134 s 130.119 ms (13.0%)
Agent profiling 1.254 s 250.033 ms (24.9%)
Total tracing 10.434 s -
Total appsec 10.69 s 255.627 ms (2.4%)
Total iast 10.853 s 419.373 ms (4.0%)
Total profiling 10.742 s 308.301 ms (3.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.007 s -
Agent appsec 1.148 s 140.585 ms (14.0%)
Agent iast 1.145 s 137.743 ms (13.7%)
Agent profiling 1.26 s 252.958 ms (25.1%)
Total tracing 10.438 s -
Total appsec 10.687 s 249.441 ms (2.4%)
Total iast 10.894 s 456.204 ms (4.4%)
Total profiling 10.882 s 444.258 ms (4.3%)
gantt title petclinic - break down per module: candidate=1.49.0-SNAPSHOT~9abb9f8cdb, baseline=1.49.0-SNAPSHOT~069883952e dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (669.798 ms) : 0, 669798 BytebuddyAgent [candidate] (670.643 ms) : 0, 670643 GlobalTracer [baseline] (239.738 ms) : 0, 239738 GlobalTracer [candidate] (240.316 ms) : 0, 240316 AppSec [baseline] (54.465 ms) : 0, 54465 AppSec [candidate] (54.759 ms) : 0, 54759 Debugger [baseline] (6.138 ms) : 0, 6138 Debugger [candidate] (6.184 ms) : 0, 6184 Remote Config [baseline] (688.925 µs) : 0, 689 Remote Config [candidate] (707.19 µs) : 0, 707 Telemetry [baseline] (9.926 ms) : 0, 9926 Telemetry [candidate] (11.385 ms) : 0, 11385 section appsec BytebuddyAgent [baseline] (692.981 ms) : 0, 692981 BytebuddyAgent [candidate] (687.579 ms) : 0, 687579 GlobalTracer [baseline] (237.484 ms) : 0, 237484 GlobalTracer [candidate] (236.239 ms) : 0, 236239 IAST [baseline] (21.827 ms) : 0, 21827 IAST [candidate] (21.71 ms) : 0, 21710 AppSec [baseline] (175.324 ms) : 0, 175324 AppSec [candidate] (175.832 ms) : 0, 175832 Debugger [baseline] (6.297 ms) : 0, 6297 Debugger [candidate] (5.84 ms) : 0, 5840 Remote Config [baseline] (645.364 µs) : 0, 645 Remote Config [candidate] (632.038 µs) : 0, 632 Telemetry [baseline] (8.59 ms) : 0, 8590 Telemetry [candidate] (7.73 ms) : 0, 7730 section iast BytebuddyAgent [baseline] (788.227 ms) : 0, 788227 BytebuddyAgent [candidate] (795.649 ms) : 0, 795649 GlobalTracer [baseline] (229.557 ms) : 0, 229557 GlobalTracer [candidate] (231.523 ms) : 0, 231523 IAST [baseline] (22.7 ms) : 0, 22700 IAST [candidate] (23.163 ms) : 0, 23163 AppSec [baseline] (56.26 ms) : 0, 56260 AppSec [candidate] (57.049 ms) : 0, 57049 Debugger [baseline] (5.891 ms) : 0, 5891 Debugger [candidate] (5.99 ms) : 0, 5990 Remote Config [baseline] (613.297 µs) : 0, 613 Remote Config [candidate] (596.754 µs) : 0, 597 Telemetry [baseline] (7.867 ms) : 0, 7867 Telemetry [candidate] (7.931 ms) : 0, 7931 section profiling BytebuddyAgent [baseline] (661.875 ms) : 0, 661875 BytebuddyAgent [candidate] (666.504 ms) : 0, 666504 GlobalTracer [baseline] (374.917 ms) : 0, 374917 GlobalTracer [candidate] (377.147 ms) : 0, 377147 AppSec [baseline] (54.426 ms) : 0, 54426 AppSec [candidate] (53.889 ms) : 0, 53889 Debugger [baseline] (6.104 ms) : 0, 6104 Debugger [candidate] (6.17 ms) : 0, 6170 Remote Config [baseline] (655.048 µs) : 0, 655 Remote Config [candidate] (653.175 µs) : 0, 653 Telemetry [baseline] (8.139 ms) : 0, 8139 Telemetry [candidate] (8.265 ms) : 0, 8265 ProfilingAgent [baseline] (98.167 ms) : 0, 98167 ProfilingAgent [candidate] (97.448 ms) : 0, 97448 Profiling [baseline] (98.192 ms) : 0, 98192 Profiling [candidate] (97.471 ms) : 0, 97471 
Loading
Startup time reports for insecure-bank
gantt title insecure-bank - global startup overhead: candidate=1.49.0-SNAPSHOT~9abb9f8cdb, baseline=1.49.0-SNAPSHOT~069883952e dateFormat X axisFormat %s section tracing Agent [baseline] (1.013 s) : 0, 1013278 Total [baseline] (8.657 s) : 0, 8657093 Agent [candidate] (1.013 s) : 0, 1013428 Total [candidate] (8.638 s) : 0, 8637668 section iast Agent [baseline] (1.144 s) : 0, 1144049 Total [baseline] (9.229 s) : 0, 9229287 Agent [candidate] (1.138 s) : 0, 1138179 Total [candidate] (9.181 s) : 0, 9181455 section iast_HARDCODED_SECRET_DISABLED Agent [baseline] (1.139 s) : 0, 1138745 Total [baseline] (9.173 s) : 0, 9172669 Agent [candidate] (1.138 s) : 0, 1138437 Total [candidate] (9.173 s) : 0, 9173236 section iast_TELEMETRY_OFF Agent [baseline] (1.131 s) : 0, 1131475 Total [baseline] (9.22 s) : 0, 9219901 Agent [candidate] (1.131 s) : 0, 1130785 Total [candidate] (9.191 s) : 0, 9191276 
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.013 s -
Agent iast 1.144 s 130.771 ms (12.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.139 s 125.467 ms (12.4%)
Agent iast_TELEMETRY_OFF 1.131 s 118.197 ms (11.7%)
Total tracing 8.657 s -
Total iast 9.229 s 572.193 ms (6.6%)
Total iast_HARDCODED_SECRET_DISABLED 9.173 s 515.575 ms (6.0%)
Total iast_TELEMETRY_OFF 9.22 s 562.807 ms (6.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.013 s -
Agent iast 1.138 s 124.752 ms (12.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.138 s 125.01 ms (12.3%)
Agent iast_TELEMETRY_OFF 1.131 s 117.357 ms (11.6%)
Total tracing 8.638 s -
Total iast 9.181 s 543.787 ms (6.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.173 s 535.568 ms (6.2%)
Total iast_TELEMETRY_OFF 9.191 s 553.608 ms (6.4%)
gantt title insecure-bank - break down per module: candidate=1.49.0-SNAPSHOT~9abb9f8cdb, baseline=1.49.0-SNAPSHOT~069883952e dateFormat X axisFormat %s section tracing BytebuddyAgent [baseline] (674.887 ms) : 0, 674887 BytebuddyAgent [candidate] (676.211 ms) : 0, 676211 GlobalTracer [baseline] (241.468 ms) : 0, 241468 GlobalTracer [candidate] (241.846 ms) : 0, 241846 AppSec [baseline] (55.064 ms) : 0, 55064 AppSec [candidate] (54.874 ms) : 0, 54874 Debugger [baseline] (7.662 ms) : 0, 7662 Debugger [candidate] (6.182 ms) : 0, 6182 Remote Config [baseline] (721.204 µs) : 0, 721 Remote Config [candidate] (705.591 µs) : 0, 706 Telemetry [baseline] (9.928 ms) : 0, 9928 Telemetry [candidate] (10.092 ms) : 0, 10092 section iast BytebuddyAgent [baseline] (795.537 ms) : 0, 795537 BytebuddyAgent [candidate] (790.467 ms) : 0, 790467 GlobalTracer [baseline] (231.004 ms) : 0, 231004 GlobalTracer [candidate] (230.706 ms) : 0, 230706 IAST [baseline] (22.861 ms) : 0, 22861 IAST [candidate] (22.856 ms) : 0, 22856 AppSec [baseline] (56.66 ms) : 0, 56660 AppSec [candidate] (56.477 ms) : 0, 56477 Debugger [baseline] (5.868 ms) : 0, 5868 Debugger [candidate] (5.832 ms) : 0, 5832 Remote Config [baseline] (584.592 µs) : 0, 585 Remote Config [candidate] (599.626 µs) : 0, 600 Telemetry [baseline] (7.918 ms) : 0, 7918 Telemetry [candidate] (7.845 ms) : 0, 7845 section iast_HARDCODED_SECRET_DISABLED BytebuddyAgent [baseline] (791.459 ms) : 0, 791459 BytebuddyAgent [candidate] (790.323 ms) : 0, 790323 GlobalTracer [baseline] (230.372 ms) : 0, 230372 GlobalTracer [candidate] (230.575 ms) : 0, 230575 IAST [baseline] (22.877 ms) : 0, 22877 IAST [candidate] (22.879 ms) : 0, 22879 AppSec [baseline] (56.251 ms) : 0, 56251 AppSec [candidate] (56.644 ms) : 0, 56644 Debugger [baseline] (5.856 ms) : 0, 5856 Debugger [candidate] (5.924 ms) : 0, 5924 Remote Config [baseline] (574.747 µs) : 0, 575 Remote Config [candidate] (597.124 µs) : 0, 597 Telemetry [baseline] (7.902 ms) : 0, 7902 Telemetry [candidate] (7.925 ms) : 0, 7925 section iast_TELEMETRY_OFF BytebuddyAgent [baseline] (785.363 ms) : 0, 785363 BytebuddyAgent [candidate] (785.095 ms) : 0, 785095 GlobalTracer [baseline] (229.731 ms) : 0, 229731 GlobalTracer [candidate] (229.583 ms) : 0, 229583 IAST [baseline] (22.224 ms) : 0, 22224 IAST [candidate] (22.172 ms) : 0, 22172 AppSec [baseline] (56.516 ms) : 0, 56516 AppSec [candidate] (56.343 ms) : 0, 56343 Debugger [baseline] (5.907 ms) : 0, 5907 Debugger [candidate] (5.889 ms) : 0, 5889 Remote Config [baseline] (608.114 µs) : 0, 608 Remote Config [candidate] (609.488 µs) : 0, 609 Telemetry [baseline] (7.711 ms) : 0, 7711 Telemetry [candidate] (7.747 ms) : 0, 7747 
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-04-29T10:15:38 2025-04-29T10:23:24
git_branch master andrea.marziali/processtags
git_commit_date 1745919592 1745917138
git_commit_sha 0698839 9abb9f8
release_version 1.49.0-SNAPSHOT~069883952e 1.49.0-SNAPSHOT~9abb9f8cdb
start_time 2025-04-29T10:15:24 2025-04-29T10:23:09
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1745922604 1745922604
ci_job_id 916248420 916248420
ci_pipeline_id 63581832 63581832
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-fqkx7oxa-project-304-concurrent-0-13agzyvl 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-fqkx7oxa-project-304-concurrent-0-13agzyvl 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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 insecure-bank
gantt title insecure-bank - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~9abb9f8cdb, baseline=1.49.0-SNAPSHOT~069883952e dateFormat X axisFormat %s section baseline no_agent (391.185 µs) : 370, 412 . : milestone, 391, iast (533.574 µs) : 511, 556 . : milestone, 534, iast_FULL (737.605 µs) : 714, 761 . : milestone, 738, iast_GLOBAL (572.871 µs) : 550, 596 . : milestone, 573, iast_HARDCODED_SECRET_DISABLED (517.983 µs) : 495, 541 . : milestone, 518, iast_INACTIVE (469.45 µs) : 447, 492 . : milestone, 469, iast_TELEMETRY_OFF (503.724 µs) : 480, 527 . : milestone, 504, tracing (460.021 µs) : 438, 482 . : milestone, 460, section candidate no_agent (381.898 µs) : 362, 402 . : milestone, 382, iast (527.605 µs) : 505, 551 . : milestone, 528, iast_FULL (738.188 µs) : 715, 762 . : milestone, 738, iast_GLOBAL (559.908 µs) : 537, 583 . : milestone, 560, iast_HARDCODED_SECRET_DISABLED (530.229 µs) : 508, 553 . : milestone, 530, iast_INACTIVE (470.275 µs) : 448, 493 . : milestone, 470, iast_TELEMETRY_OFF (523.979 µs) : 501, 547 . : milestone, 524, tracing (460.299 µs) : 438, 482 . : milestone, 460, 
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 391.185 µs [370.292 µs, 412.078 µs] -
iast 533.574 µs [510.738 µs, 556.41 µs] 142.389 µs (36.4%)
iast_FULL 737.605 µs [714.28 µs, 760.931 µs] 346.42 µs (88.6%)
iast_GLOBAL 572.871 µs [549.521 µs, 596.221 µs] 181.686 µs (46.4%)
iast_HARDCODED_SECRET_DISABLED 517.983 µs [494.98 µs, 540.987 µs] 126.799 µs (32.4%)
iast_INACTIVE 469.45 µs [447.044 µs, 491.856 µs] 78.265 µs (20.0%)
iast_TELEMETRY_OFF 503.724 µs [480.328 µs, 527.121 µs] 112.539 µs (28.8%)
tracing 460.021 µs [438.327 µs, 481.716 µs] 68.836 µs (17.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 381.898 µs [362.044 µs, 401.751 µs] -
iast 527.605 µs [504.638 µs, 550.571 µs] 145.707 µs (38.2%)
iast_FULL 738.188 µs [714.83 µs, 761.545 µs] 356.29 µs (93.3%)
iast_GLOBAL 559.908 µs [536.741 µs, 583.075 µs] 178.01 µs (46.6%)
iast_HARDCODED_SECRET_DISABLED 530.229 µs [507.609 µs, 552.848 µs] 148.331 µs (38.8%)
iast_INACTIVE 470.275 µs [447.607 µs, 492.943 µs] 88.377 µs (23.1%)
iast_TELEMETRY_OFF 523.979 µs [500.819 µs, 547.14 µs] 142.081 µs (37.2%)
tracing 460.299 µs [438.279 µs, 482.318 µs] 78.401 µs (20.5%)
Request duration reports for petclinic
gantt title petclinic - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~9abb9f8cdb, baseline=1.49.0-SNAPSHOT~069883952e dateFormat X axisFormat %s section baseline no_agent (1.357 ms) : 1338, 1377 . : milestone, 1357, appsec (1.74 ms) : 1716, 1764 . : milestone, 1740, appsec_no_iast (1.729 ms) : 1705, 1752 . : milestone, 1729, code_origins (1.689 ms) : 1662, 1715 . : milestone, 1689, iast (1.529 ms) : 1504, 1553 . : milestone, 1529, profiling (1.551 ms) : 1525, 1576 . : milestone, 1551, tracing (1.501 ms) : 1476, 1525 . : milestone, 1501, section candidate no_agent (1.386 ms) : 1366, 1405 . : milestone, 1386, appsec (1.731 ms) : 1707, 1754 . : milestone, 1731, appsec_no_iast (1.729 ms) : 1705, 1752 . : milestone, 1729, code_origins (1.698 ms) : 1671, 1725 . : milestone, 1698, iast (1.509 ms) : 1485, 1533 . : milestone, 1509, profiling (1.561 ms) : 1536, 1586 . : milestone, 1561, tracing (1.488 ms) : 1462, 1513 . : milestone, 1488, 
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.357 ms [1.338 ms, 1.377 ms] -
appsec 1.74 ms [1.716 ms, 1.764 ms] 382.88 µs (28.2%)
appsec_no_iast 1.729 ms [1.705 ms, 1.752 ms] 371.281 µs (27.4%)
code_origins 1.689 ms [1.662 ms, 1.715 ms] 331.274 µs (24.4%)
iast 1.529 ms [1.504 ms, 1.553 ms] 171.452 µs (12.6%)
profiling 1.551 ms [1.525 ms, 1.576 ms] 193.351 µs (14.2%)
tracing 1.501 ms [1.476 ms, 1.525 ms] 143.613 µs (10.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.386 ms [1.366 ms, 1.405 ms] -
appsec 1.731 ms [1.707 ms, 1.754 ms] 344.918 µs (24.9%)
appsec_no_iast 1.729 ms [1.705 ms, 1.752 ms] 342.901 µs (24.7%)
code_origins 1.698 ms [1.671 ms, 1.725 ms] 312.36 µs (22.5%)
iast 1.509 ms [1.485 ms, 1.533 ms] 123.131 µs (8.9%)
profiling 1.561 ms [1.536 ms, 1.586 ms] 174.922 µs (12.6%)
tracing 1.488 ms [1.462 ms, 1.513 ms] 102.156 µs (7.4%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/processtags
git_commit_date 1745919592 1745917138
git_commit_sha 0698839 9abb9f8
release_version 1.49.0-SNAPSHOT~069883952e 1.49.0-SNAPSHOT~9abb9f8cdb
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1745923100 1745923100
ci_job_id 916248422 916248422
ci_pipeline_id 63581832 63581832
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-4hrjjdkh-project-304-concurrent-1-j46wosm5 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-4hrjjdkh-project-304-concurrent-1-j46wosm5 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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.49.0-SNAPSHOT~9abb9f8cdb, baseline=1.49.0-SNAPSHOT~069883952e dateFormat X axisFormat %s section baseline no_agent (1.48 ms) : 1468, 1491 . : milestone, 1480, appsec (2.385 ms) : 2339, 2432 . : milestone, 2385, iast (2.163 ms) : 2104, 2222 . : milestone, 2163, iast_GLOBAL (2.212 ms) : 2153, 2272 . : milestone, 2212, profiling (2.015 ms) : 1968, 2062 . : milestone, 2015, tracing (1.984 ms) : 1939, 2029 . : milestone, 1984, section candidate no_agent (1.474 ms) : 1462, 1485 . : milestone, 1474, appsec (2.373 ms) : 2327, 2419 . : milestone, 2373, iast (2.156 ms) : 2097, 2215 . : milestone, 2156, iast_GLOBAL (2.197 ms) : 2138, 2256 . : milestone, 2197, profiling (1.993 ms) : 1947, 2040 . : milestone, 1993, tracing (1.985 ms) : 1940, 2031 . : milestone, 1985, 
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.48 ms [1.468 ms, 1.491 ms] -
appsec 2.385 ms [2.339 ms, 2.432 ms] 905.683 µs (61.2%)
iast 2.163 ms [2.104 ms, 2.222 ms] 683.181 µs (46.2%)
iast_GLOBAL 2.212 ms [2.153 ms, 2.272 ms] 732.619 µs (49.5%)
profiling 2.015 ms [1.968 ms, 2.062 ms] 535.08 µs (36.2%)
tracing 1.984 ms [1.939 ms, 2.029 ms] 504.153 µs (34.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.462 ms, 1.485 ms] -
appsec 2.373 ms [2.327 ms, 2.419 ms] 899.403 µs (61.0%)
iast 2.156 ms [2.097 ms, 2.215 ms] 682.606 µs (46.3%)
iast_GLOBAL 2.197 ms [2.138 ms, 2.256 ms] 723.713 µs (49.1%)
profiling 1.993 ms [1.947 ms, 2.04 ms] 519.776 µs (35.3%)
tracing 1.985 ms [1.94 ms, 2.031 ms] 511.775 µs (34.7%)
Execution time for biojava
gantt title biojava - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~9abb9f8cdb, baseline=1.49.0-SNAPSHOT~069883952e dateFormat X axisFormat %s section baseline no_agent (14.694 s) : 14694000, 14694000 . : milestone, 14694000, appsec (14.731 s) : 14731000, 14731000 . : milestone, 14731000, iast (18.828 s) : 18828000, 18828000 . : milestone, 18828000, iast_GLOBAL (17.508 s) : 17508000, 17508000 . : milestone, 17508000, profiling (15.311 s) : 15311000, 15311000 . : milestone, 15311000, tracing (15.063 s) : 15063000, 15063000 . : milestone, 15063000, section candidate no_agent (15.373 s) : 15373000, 15373000 . : milestone, 15373000, appsec (15.101 s) : 15101000, 15101000 . : milestone, 15101000, iast (18.998 s) : 18998000, 18998000 . : milestone, 18998000, iast_GLOBAL (18.258 s) : 18258000, 18258000 . : milestone, 18258000, profiling (15.649 s) : 15649000, 15649000 . : milestone, 15649000, tracing (15.184 s) : 15184000, 15184000 . : milestone, 15184000, 
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.694 s [14.694 s, 14.694 s] -
appsec 14.731 s [14.731 s, 14.731 s] 37.0 ms (0.3%)
iast 18.828 s [18.828 s, 18.828 s] 4.134 s (28.1%)
iast_GLOBAL 17.508 s [17.508 s, 17.508 s] 2.814 s (19.2%)
profiling 15.311 s [15.311 s, 15.311 s] 617.0 ms (4.2%)
tracing 15.063 s [15.063 s, 15.063 s] 369.0 ms (2.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.373 s [15.373 s, 15.373 s] -
appsec 15.101 s [15.101 s, 15.101 s] -272.0 ms (-1.8%)
iast 18.998 s [18.998 s, 18.998 s] 3.625 s (23.6%)
iast_GLOBAL 18.258 s [18.258 s, 18.258 s] 2.885 s (18.8%)
profiling 15.649 s [15.649 s, 15.649 s] 276.0 ms (1.8%)
tracing 15.184 s [15.184 s, 15.184 s] -189.0 ms (-1.2%)
@amarziali amarziali force-pushed the andrea.marziali/processtags branch 2 times, most recently from 0adb5b9 to fcbe977 Compare April 15, 2025 15:07
Copy link
Member

@raphaelgavache raphaelgavache 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 removed the tag: do not merge Do not merge changes label Apr 18, 2025
@amarziali amarziali marked this pull request as ready for review April 18, 2025 13:38
@amarziali amarziali requested review from a team as code owners April 18, 2025 13:38
@amarziali amarziali requested a review from ygree April 18, 2025 13:38
// property.
// Tested on:
// - OracleJDK, OpenJDK, AdoptOpenJDK, IBM JDK, Azul Zulu JDK, Amazon Coretto JDK
final String command = System.getProperty("sun.java.command");
Copy link
Contributor

Choose a reason for hiding this comment

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

The native image is another use case.

final String applicationName = environment.getProperty("spring.application.name");
if (applicationName != null && !applicationName.isEmpty()) {
AgentTracer.get().updatePreferredServiceName(applicationName);
ProcessTags.addTag("springboot.application", applicationName);
Copy link
Contributor

Choose a reason for hiding this comment

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

Should it be extracted into a helper to avoid duplicating this logic in two places?

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. Left a couple of non critical notes

@amarziali amarziali force-pushed the andrea.marziali/processtags branch from f0fe5bd to d5cd295 Compare April 28, 2025 08:45
@amarziali amarziali force-pushed the andrea.marziali/processtags branch from 78cdcfb to 72beabe Compare April 28, 2025 15:01
@amarziali amarziali enabled auto-merge (squash) April 29, 2025 08:59
@amarziali amarziali disabled auto-merge April 29, 2025 10:00
@amarziali amarziali added comp: core Tracer core and removed comp: core Tracer core labels Apr 29, 2025
@amarziali amarziali merged commit 19f8596 into master Apr 29, 2025
247 of 252 checks passed
@amarziali amarziali deleted the andrea.marziali/processtags branch April 29, 2025 12:45
@github-actions github-actions bot added this to the 1.49.0 milestone Apr 29, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request May 7, 2025
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-logging](https://github.com/googleapis/java-logging) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `3.22.2` -> `3.22.3` | | [com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.28.0` -> `2.28.1` | | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.48.2` -> `1.49.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.36` -> `2.31.37` | --- ### Release Notes <details> <summary>googleapis/java-logging (com.google.cloud:google-cloud-logging)</summary> ### [`v3.22.3`](https://github.com/googleapis/java-logging/blob/HEAD/CHANGELOG.md#3223-2025-05-06) ##### Bug Fixes - **deps:** Update the Java code generator (gapic-generator-java) to 2.56.3 ([844f4fa](googleapis/java-logging@844f4fa)) ##### Dependencies - Update dependency com.google.cloud:sdk-platform-java-config to v3.46.3 ([#&#8203;1801](googleapis/java-logging#1801)) ([d7aa7bc](googleapis/java-logging@d7aa7bc)) - Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0 ([#&#8203;1803](googleapis/java-logging#1803)) ([5967ffe](googleapis/java-logging@5967ffe)) - Update googleapis/sdk-platform-java action to v2.57.0 ([#&#8203;1804](googleapis/java-logging#1804)) ([e9a27ec](googleapis/java-logging@e9a27ec)) </details> <details> <summary>googleapis/java-datastore (com.google.cloud:google-cloud-datastore)</summary> ### [`v2.28.1`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2281-2025-05-06) ##### Dependencies - Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0 ([#&#8203;1841](googleapis/java-datastore#1841)) ([ac393e6](googleapis/java-datastore@ac393e6)) - Update googleapis/sdk-platform-java action to v2.57.0 ([#&#8203;1842](googleapis/java-datastore#1842)) ([0745906](googleapis/java-datastore@0745906)) </details> <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.49.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.49.0): 1.49.0 ### Components #### Configuration at Runtime - ✨ Add process tags as list to remote config payload ([#&#8203;8705](DataDog/dd-trace-java#8705) - [@&#8203;amarziali](https://github.com/amarziali)) #### Continuous Integration Visibility - 🐛 Add span propagation for Pekko scheduled tasks ([#&#8203;8765](DataDog/dd-trace-java#8765) - [@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - ✨ Update test.retry_reason to use full name of the feature ([#&#8203;8689](DataDog/dd-trace-java#8689) - [@&#8203;daniel-mohedano](https://github.com/daniel-mohedano)) - 🧹 Remove unused TestEventsHandler methods ([#&#8203;8674](DataDog/dd-trace-java#8674) - [@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) #### Dynamic Instrumentation - 🐛 Fix exclude identifiers normalization ([#&#8203;8742](DataDog/dd-trace-java#8742) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Make source file tracking asynchronous ([#&#8203;8684](DataDog/dd-trace-java#8684) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Add scope filtering for symbol extraction ([#&#8203;8676](DataDog/dd-trace-java#8676) - [@&#8203;jpbempel](https://github.com/jpbempel)) - ✨ Add support for [@&#8203;key](https://github.com/key) and [@&#8203;value](https://github.com/value) for Map filtering ([#&#8203;8669](DataDog/dd-trace-java#8669) - [@&#8203;jpbempel](https://github.com/jpbempel)) #### Library Injection - ✨ Add system property to force injection of the tracing library even though multiple javaagents have been detected ([#&#8203;8697](DataDog/dd-trace-java#8697) - [@&#8203;cecile75](https://github.com/cecile75)) #### Metrics - ✨ Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT ([#&#8203;8693](DataDog/dd-trace-java#8693) - [@&#8203;randomanderson](https://github.com/randomanderson)) #### Profiling - ✨ Bump ddprof-java to 1.25.1 ([#&#8203;8750](DataDog/dd-trace-java#8750) - [@&#8203;jbachorik](https://github.com/jbachorik)) - 🐛 Remove cleanup-on-shutdown for temporary files ([#&#8203;8746](DataDog/dd-trace-java#8746) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨⚡ Replace a regex-based SMAP parser with a hand-crafted one ([#&#8203;8730](DataDog/dd-trace-java#8730) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨ Improve error reporting on profiler startup ([#&#8203;8714](DataDog/dd-trace-java#8714) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨ Exclude ProxyLeakTask exception from exception profiling ([#&#8203;8666](DataDog/dd-trace-java#8666) - [@&#8203;jbachorik](https://github.com/jbachorik)) - ✨ Use jvmstat for JDKs 9+ programmatically ([#&#8203;8641](DataDog/dd-trace-java#8641) - [@&#8203;MattAlp](https://github.com/MattAlp)) #### Telemetry - ✨ Allow dogstatsd port to be configurable with DD_DOGSTATSD_PORT ([#&#8203;8693](DataDog/dd-trace-java#8693) - [@&#8203;randomanderson](https://github.com/randomanderson)) - 🐛 Fix appsec.waf.requests telemetry metric ([#&#8203;8644](DataDog/dd-trace-java#8644) - [@&#8203;jandro996](https://github.com/jandro996)) #### Tracer core - ✨ Exclude jackson afterburner dynamic classes from instrumentation ([#&#8203;8747](DataDog/dd-trace-java#8747) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Introduce Java 8 bytecode bridge for instrumentation API ([#&#8203;8736](DataDog/dd-trace-java#8736) - [@&#8203;PerfectSlayer](https://github.com/PerfectSlayer)) - ⚡🧹 Use byte-buddy classes optimized for Java8+ ([#&#8203;8735](DataDog/dd-trace-java#8735) - [@&#8203;mcculls](https://github.com/mcculls)) - 🐛 Do not set the hibernate or datanucleus span service name when disabled ([#&#8203;8727](DataDog/dd-trace-java#8727) - [@&#8203;ygree](https://github.com/ygree)) - ✨ Update bytebuddy and ASM to support JDK 24 ([#&#8203;8720](DataDog/dd-trace-java#8720) - [@&#8203;sarahchen6](https://github.com/sarahchen6)) - 🐛 Turn off JDK socket support by default ([#&#8203;8715](DataDog/dd-trace-java#8715) - [@&#8203;mcculls](https://github.com/mcculls)) - 🐛 Log warning when trace buffer overflow occurs ([#&#8203;8712](DataDog/dd-trace-java#8712) - [@&#8203;ygree](https://github.com/ygree)) - ✨🧪 Introducing an internal integration name ([#&#8203;8708](DataDog/dd-trace-java#8708) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Add process tags to client stats payload ([#&#8203;8704](DataDog/dd-trace-java#8704) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Collect process tags for tracing ([#&#8203;8698](DataDog/dd-trace-java#8698) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Stable Config file: target system properties in process_arguments and support template variables in YamlParser ([#&#8203;8690](DataDog/dd-trace-java#8690) - [@&#8203;mtoffl01](https://github.com/mtoffl01)) - ✨⚡ Use prefix trie for proxy ignores ([#&#8203;8678](DataDog/dd-trace-java#8678) - [@&#8203;amarziali](https://github.com/amarziali)) - ✨ Allow agent to be automatically injected when running aside Log4J patch agent ([#&#8203;8648](DataDog/dd-trace-java#8648) - [@&#8203;paullegranddc](https://github.com/paullegranddc)) - ✨ Use jvmstat for JDKs 9+ programmatically ([#&#8203;8641](DataDog/dd-trace-java#8641) - [@&#8203;MattAlp](https://github.com/MattAlp)) #### Tracer internal logging - 🐛 Delete print line ([#&#8203;8686](DataDog/dd-trace-java#8686) - [@&#8203;sarahchen6](https://github.com/sarahchen6)) ### Instrumentations #### Akka instrumentation - 🐛 Handle reentrant scope cleanup in Akka/Pekko actor instrumentations ([#&#8203;8722](DataDog/dd-trace-java#8722) - [@&#8203;mcculls](https://github.com/mcculls)) #### Apache Spark instrumentation - ✨ Use OpenLineage root parent information to generate trace id ([#&#8203;8726](DataDog/dd-trace-java#8726) - [@&#8203;mobuchowski](https://github.com/mobuchowski)) - ✨ Spark job cancellation no longer marks application as failed ([#&#8203;8701](DataDog/dd-trace-java#8701) - [@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd)) #### JDBC instrumentation - 💡 Add support for sybase tds jdbc driver ([#&#8203;8764](DataDog/dd-trace-java#8764) - [@&#8203;amarziali](https://github.com/amarziali)) #### Kotlin instrumentation - 🐛 Take defensive copy of parent scope stack when closing nested coroutines ([#&#8203;8749](DataDog/dd-trace-java#8749) - [@&#8203;mcculls](https://github.com/mcculls)) #### Reactor instrumentation - ✨⚡ Do not inspect reactor context when not needed ([#&#8203;8745](DataDog/dd-trace-java#8745) - [@&#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**: Enabled. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). GitOrigin-RevId: 795f347ae34d056efc1194c2f606cee7bca1beea
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core type: enhancement Enhancements and improvements

3 participants