Skip to content

Conversation

dougqh
Copy link
Contributor

@dougqh dougqh commented Jan 22, 2025

What Does This Do

Moves computation of git repository null path into static variable

Motivation

Provides a 3% improvement on span creation benchmarks

Moving repeated null path computation into static variable.
This change provides a 3% improvement on span creation benchmarks.
@dougqh dougqh added the tag: performance Performance related changes label Jan 22, 2025
@dougqh dougqh requested a review from a team as a code owner January 22, 2025 14:47
@dougqh dougqh requested a review from PerfectSlayer January 22, 2025 14:47
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.

Copy link
Contributor

@amarziali amarziali left a comment

Choose a reason for hiding this comment

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

Nice improvement

@pr-commenter
Copy link

pr-commenter bot commented Jan 22, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/git-info-optimization
git_commit_date 1737548458 1737557162
git_commit_sha 523df01 11ff523
release_version 1.46.0-SNAPSHOT~523df01c66 1.46.0-SNAPSHOT~11ff5237c9
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1737559494 1737559494
ci_job_id 775934200 775934200
ci_pipeline_id 53689209 53689209
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 59 metrics, 4 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1055663
Total [baseline] (10.522 s) : 0, 10521835
Agent [candidate] (1.058 s) : 0, 1057540
Total [candidate] (10.503 s) : 0, 10502594
section appsec
Agent [baseline] (1.188 s) : 0, 1188312
Total [baseline] (10.768 s) : 0, 10768443
Agent [candidate] (1.192 s) : 0, 1192112
Total [candidate] (10.785 s) : 0, 10784912
section iast
Agent [baseline] (1.186 s) : 0, 1185608
Total [baseline] (10.961 s) : 0, 10960868
Agent [candidate] (1.186 s) : 0, 1186187
Total [candidate] (10.994 s) : 0, 10994315
section profiling
Agent [baseline] (1.258 s) : 0, 1258027
Total [baseline] (10.881 s) : 0, 10880789
Agent [candidate] (1.273 s) : 0, 1272770
Total [candidate] (10.935 s) : 0, 10934551
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent appsec 1.188 s 132.649 ms (12.6%)
Agent iast 1.186 s 129.944 ms (12.3%)
Agent profiling 1.258 s 202.364 ms (19.2%)
Total tracing 10.522 s -
Total appsec 10.768 s 246.609 ms (2.3%)
Total iast 10.961 s 439.033 ms (4.2%)
Total profiling 10.881 s 358.954 ms (3.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.058 s -
Agent appsec 1.192 s 134.572 ms (12.7%)
Agent iast 1.186 s 128.647 ms (12.2%)
Agent profiling 1.273 s 215.23 ms (20.4%)
Total tracing 10.503 s -
Total appsec 10.785 s 282.318 ms (2.7%)
Total iast 10.994 s 491.721 ms (4.7%)
Total profiling 10.935 s 431.957 ms (4.1%)
gantt
    title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.748 ms) : 0, 714748
BytebuddyAgent [candidate] (715.348 ms) : 0, 715348
GlobalTracer [baseline] (256.06 ms) : 0, 256060
GlobalTracer [candidate] (255.937 ms) : 0, 255937
AppSec [baseline] (56.313 ms) : 0, 56313
AppSec [candidate] (56.377 ms) : 0, 56377
Remote Config [baseline] (740.141 µs) : 0, 740
Remote Config [candidate] (738.386 µs) : 0, 738
Telemetry [baseline] (12.929 ms) : 0, 12929
Telemetry [candidate] (14.145 ms) : 0, 14145
section appsec
BytebuddyAgent [baseline] (731.009 ms) : 0, 731009
BytebuddyAgent [candidate] (733.521 ms) : 0, 733521
GlobalTracer [baseline] (252.816 ms) : 0, 252816
GlobalTracer [candidate] (253.64 ms) : 0, 253640
AppSec [baseline] (170.75 ms) : 0, 170750
AppSec [candidate] (171.118 ms) : 0, 171118
Remote Config [baseline] (660.654 µs) : 0, 661
Remote Config [candidate] (670.433 µs) : 0, 670
Telemetry [baseline] (8.502 ms) : 0, 8502
Telemetry [candidate] (8.455 ms) : 0, 8455
IAST [baseline] (19.243 ms) : 0, 19243
IAST [candidate] (19.346 ms) : 0, 19346
section iast
BytebuddyAgent [baseline] (833.182 ms) : 0, 833182
BytebuddyAgent [candidate] (834.246 ms) : 0, 834246
GlobalTracer [baseline] (247.527 ms) : 0, 247527
GlobalTracer [candidate] (247.343 ms) : 0, 247343
AppSec [baseline] (58.529 ms) : 0, 58529
AppSec [candidate] (58.305 ms) : 0, 58305
Remote Config [baseline] (679.272 µs) : 0, 679
Remote Config [candidate] (672.749 µs) : 0, 673
Telemetry [baseline] (8.812 ms) : 0, 8812
Telemetry [candidate] (8.821 ms) : 0, 8821
IAST [baseline] (21.855 ms) : 0, 21855
IAST [candidate] (21.634 ms) : 0, 21634
section profiling
ProfilingAgent [baseline] (95.832 ms) : 0, 95832
ProfilingAgent [candidate] (96.606 ms) : 0, 96606
BytebuddyAgent [baseline] (705.662 ms) : 0, 705662
BytebuddyAgent [candidate] (714.164 ms) : 0, 714164
GlobalTracer [baseline] (350.071 ms) : 0, 350071
GlobalTracer [candidate] (354.875 ms) : 0, 354875
AppSec [baseline] (54.941 ms) : 0, 54941
AppSec [candidate] (54.864 ms) : 0, 54864
Remote Config [baseline] (725.639 µs) : 0, 726
Remote Config [candidate] (738.565 µs) : 0, 739
Telemetry [baseline] (8.761 ms) : 0, 8761
Telemetry [candidate] (8.914 ms) : 0, 8914
Profiling [baseline] (95.856 ms) : 0, 95856
Profiling [candidate] (96.632 ms) : 0, 96632
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1054259
Total [baseline] (8.613 s) : 0, 8613282
Agent [candidate] (1.055 s) : 0, 1055453
Total [candidate] (8.657 s) : 0, 8657349
section iast
Agent [baseline] (1.184 s) : 0, 1184078
Total [baseline] (9.237 s) : 0, 9237428
Agent [candidate] (1.186 s) : 0, 1185572
Total [candidate] (9.257 s) : 0, 9256866
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.184 s) : 0, 1184313
Total [baseline] (9.19 s) : 0, 9189681
Agent [candidate] (1.19 s) : 0, 1190463
Total [candidate] (9.203 s) : 0, 9202807
section iast_TELEMETRY_OFF
Agent [baseline] (1.181 s) : 0, 1181151
Total [baseline] (9.235 s) : 0, 9234994
Agent [candidate] (1.18 s) : 0, 1180139
Total [candidate] (9.193 s) : 0, 9192536
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent iast 1.184 s 129.819 ms (12.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.184 s 130.054 ms (12.3%)
Agent iast_TELEMETRY_OFF 1.181 s 126.892 ms (12.0%)
Total tracing 8.613 s -
Total iast 9.237 s 624.146 ms (7.2%)
Total iast_HARDCODED_SECRET_DISABLED 9.19 s 576.399 ms (6.7%)
Total iast_TELEMETRY_OFF 9.235 s 621.712 ms (7.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent iast 1.186 s 130.118 ms (12.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.19 s 135.01 ms (12.8%)
Agent iast_TELEMETRY_OFF 1.18 s 124.685 ms (11.8%)
Total tracing 8.657 s -
Total iast 9.257 s 599.517 ms (6.9%)
Total iast_HARDCODED_SECRET_DISABLED 9.203 s 545.458 ms (6.3%)
Total iast_TELEMETRY_OFF 9.193 s 535.188 ms (6.2%)
gantt
    title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (715.131 ms) : 0, 715131
BytebuddyAgent [candidate] (714.011 ms) : 0, 714011
GlobalTracer [baseline] (255.654 ms) : 0, 255654
GlobalTracer [candidate] (255.339 ms) : 0, 255339
AppSec [baseline] (55.598 ms) : 0, 55598
AppSec [candidate] (55.581 ms) : 0, 55581
Remote Config [baseline] (751.926 µs) : 0, 752
Remote Config [candidate] (738.143 µs) : 0, 738
Telemetry [baseline] (12.22 ms) : 0, 12220
Telemetry [candidate] (14.835 ms) : 0, 14835
section iast
BytebuddyAgent [baseline] (832.924 ms) : 0, 832924
BytebuddyAgent [candidate] (833.843 ms) : 0, 833843
GlobalTracer [baseline] (247.239 ms) : 0, 247239
GlobalTracer [candidate] (247.694 ms) : 0, 247694
AppSec [baseline] (58.134 ms) : 0, 58134
AppSec [candidate] (58.032 ms) : 0, 58032
Remote Config [baseline] (659.499 µs) : 0, 659
Remote Config [candidate] (661.76 µs) : 0, 662
Telemetry [baseline] (8.722 ms) : 0, 8722
Telemetry [candidate] (8.736 ms) : 0, 8736
IAST [baseline] (21.367 ms) : 0, 21367
IAST [candidate] (21.521 ms) : 0, 21521
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (832.544 ms) : 0, 832544
BytebuddyAgent [candidate] (836.145 ms) : 0, 836145
GlobalTracer [baseline] (247.253 ms) : 0, 247253
GlobalTracer [candidate] (249.302 ms) : 0, 249302
AppSec [baseline] (58.306 ms) : 0, 58306
AppSec [candidate] (58.72 ms) : 0, 58720
Remote Config [baseline] (680.581 µs) : 0, 681
Remote Config [candidate] (677.889 µs) : 0, 678
Telemetry [baseline] (8.834 ms) : 0, 8834
Telemetry [candidate] (8.904 ms) : 0, 8904
IAST [baseline] (21.608 ms) : 0, 21608
IAST [candidate] (21.635 ms) : 0, 21635
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (830.544 ms) : 0, 830544
BytebuddyAgent [candidate] (829.765 ms) : 0, 829765
GlobalTracer [baseline] (246.97 ms) : 0, 246970
GlobalTracer [candidate] (246.83 ms) : 0, 246830
AppSec [baseline] (58.166 ms) : 0, 58166
AppSec [candidate] (58.062 ms) : 0, 58062
Remote Config [baseline] (673.647 µs) : 0, 674
Remote Config [candidate] (670.417 µs) : 0, 670
Telemetry [baseline] (8.643 ms) : 0, 8643
Telemetry [candidate] (8.716 ms) : 0, 8716
IAST [baseline] (21.123 ms) : 0, 21123
IAST [candidate] (21.094 ms) : 0, 21094
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-01-22T14:57:05 2025-01-22T15:04:09
git_branch master dougqh/git-info-optimization
git_commit_date 1737548458 1737557162
git_commit_sha 523df01 11ff523
release_version 1.46.0-SNAPSHOT~523df01c66 1.46.0-SNAPSHOT~11ff5237c9
start_time 2025-01-22T14:56:51 2025-01-22T15:03:55
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1737558608 1737558608
ci_job_id 775934203 775934203
ci_pipeline_id 53689209 53689209
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 11 metrics, 17 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.37 ms) : 1350, 1389
.   : milestone, 1370,
appsec (1.753 ms) : 1730, 1777
.   : milestone, 1753,
appsec_no_iast (1.747 ms) : 1722, 1772
.   : milestone, 1747,
iast (1.508 ms) : 1483, 1533
.   : milestone, 1508,
profiling (1.522 ms) : 1499, 1545
.   : milestone, 1522,
tracing (1.485 ms) : 1460, 1509
.   : milestone, 1485,
section candidate
no_agent (1.361 ms) : 1342, 1380
.   : milestone, 1361,
appsec (1.74 ms) : 1716, 1763
.   : milestone, 1740,
appsec_no_iast (1.767 ms) : 1741, 1792
.   : milestone, 1767,
iast (1.515 ms) : 1490, 1540
.   : milestone, 1515,
profiling (1.564 ms) : 1539, 1590
.   : milestone, 1564,
tracing (1.499 ms) : 1471, 1527
.   : milestone, 1499,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.37 ms [1.35 ms, 1.389 ms] -
appsec 1.753 ms [1.73 ms, 1.777 ms] 383.468 µs (28.0%)
appsec_no_iast 1.747 ms [1.722 ms, 1.772 ms] 377.021 µs (27.5%)
iast 1.508 ms [1.483 ms, 1.533 ms] 138.371 µs (10.1%)
profiling 1.522 ms [1.499 ms, 1.545 ms] 151.89 µs (11.1%)
tracing 1.485 ms [1.46 ms, 1.509 ms] 114.911 µs (8.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.361 ms [1.342 ms, 1.38 ms] -
appsec 1.74 ms [1.716 ms, 1.763 ms] 378.608 µs (27.8%)
appsec_no_iast 1.767 ms [1.741 ms, 1.792 ms] 405.559 µs (29.8%)
iast 1.515 ms [1.49 ms, 1.54 ms] 154.159 µs (11.3%)
profiling 1.564 ms [1.539 ms, 1.59 ms] 203.463 µs (15.0%)
tracing 1.499 ms [1.471 ms, 1.527 ms] 138.069 µs (10.1%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
    dateFormat X
    axisFormat %s
section baseline
no_agent (380.198 µs) : 360, 400
.   : milestone, 380,
iast (506.901 µs) : 485, 529
.   : milestone, 507,
iast_FULL (745.549 µs) : 724, 767
.   : milestone, 746,
iast_GLOBAL (553.73 µs) : 531, 576
.   : milestone, 554,
iast_HARDCODED_SECRET_DISABLED (505.073 µs) : 484, 526
.   : milestone, 505,
iast_INACTIVE (457.617 µs) : 436, 479
.   : milestone, 458,
iast_TELEMETRY_OFF (494.392 µs) : 473, 516
.   : milestone, 494,
tracing (454.534 µs) : 433, 476
.   : milestone, 455,
section candidate
no_agent (372.548 µs) : 352, 393
.   : milestone, 373,
iast (510.409 µs) : 489, 532
.   : milestone, 510,
iast_FULL (747.538 µs) : 726, 769
.   : milestone, 748,
iast_GLOBAL (558.571 µs) : 537, 581
.   : milestone, 559,
iast_HARDCODED_SECRET_DISABLED (507.557 µs) : 486, 529
.   : milestone, 508,
iast_INACTIVE (462.561 µs) : 441, 484
.   : milestone, 463,
iast_TELEMETRY_OFF (494.026 µs) : 472, 516
.   : milestone, 494,
tracing (453.244 µs) : 432, 474
.   : milestone, 453,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 380.198 µs [360.376 µs, 400.02 µs] -
iast 506.901 µs [485.028 µs, 528.773 µs] 126.703 µs (33.3%)
iast_FULL 745.549 µs [723.613 µs, 767.485 µs] 365.351 µs (96.1%)
iast_GLOBAL 553.73 µs [531.414 µs, 576.045 µs] 173.532 µs (45.6%)
iast_HARDCODED_SECRET_DISABLED 505.073 µs [483.801 µs, 526.345 µs] 124.875 µs (32.8%)
iast_INACTIVE 457.617 µs [436.101 µs, 479.134 µs] 77.419 µs (20.4%)
iast_TELEMETRY_OFF 494.392 µs [472.797 µs, 515.987 µs] 114.194 µs (30.0%)
tracing 454.534 µs [433.0 µs, 476.068 µs] 74.336 µs (19.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 372.548 µs [352.27 µs, 392.825 µs] -
iast 510.409 µs [488.816 µs, 532.003 µs] 137.862 µs (37.0%)
iast_FULL 747.538 µs [725.643 µs, 769.432 µs] 374.99 µs (100.7%)
iast_GLOBAL 558.571 µs [536.528 µs, 580.615 µs] 186.024 µs (49.9%)
iast_HARDCODED_SECRET_DISABLED 507.557 µs [485.867 µs, 529.248 µs] 135.009 µs (36.2%)
iast_INACTIVE 462.561 µs [440.81 µs, 484.313 µs] 90.014 µs (24.2%)
iast_TELEMETRY_OFF 494.026 µs [472.363 µs, 515.688 µs] 121.478 µs (32.6%)
tracing 453.244 µs [432.404 µs, 474.085 µs] 80.697 µs (21.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/git-info-optimization
git_commit_date 1737548458 1737557162
git_commit_sha 523df01 11ff523
release_version 1.46.0-SNAPSHOT~523df01c66 1.46.0-SNAPSHOT~11ff5237c9
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1737559159 1737559159
ci_job_id 775934204 775934204
ci_pipeline_id 53689209 53689209
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.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.467 ms) : 1455, 1478
.   : milestone, 1467,
appsec (2.342 ms) : 2300, 2385
.   : milestone, 2342,
iast (2.098 ms) : 2044, 2152
.   : milestone, 2098,
iast_GLOBAL (2.142 ms) : 2088, 2197
.   : milestone, 2142,
profiling (1.975 ms) : 1931, 2019
.   : milestone, 1975,
tracing (1.937 ms) : 1896, 1979
.   : milestone, 1937,
section candidate
no_agent (1.466 ms) : 1454, 1477
.   : milestone, 1466,
appsec (2.355 ms) : 2312, 2398
.   : milestone, 2355,
iast (2.088 ms) : 2034, 2142
.   : milestone, 2088,
iast_GLOBAL (2.147 ms) : 2093, 2202
.   : milestone, 2147,
profiling (1.954 ms) : 1911, 1998
.   : milestone, 1954,
tracing (1.937 ms) : 1896, 1979
.   : milestone, 1937,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.467 ms [1.455 ms, 1.478 ms] -
appsec 2.342 ms [2.3 ms, 2.385 ms] 875.615 µs (59.7%)
iast 2.098 ms [2.044 ms, 2.152 ms] 631.668 µs (43.1%)
iast_GLOBAL 2.142 ms [2.088 ms, 2.197 ms] 675.51 µs (46.1%)
profiling 1.975 ms [1.931 ms, 2.019 ms] 508.269 µs (34.7%)
tracing 1.937 ms [1.896 ms, 1.979 ms] 470.675 µs (32.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.466 ms [1.454 ms, 1.477 ms] -
appsec 2.355 ms [2.312 ms, 2.398 ms] 889.475 µs (60.7%)
iast 2.088 ms [2.034 ms, 2.142 ms] 621.927 µs (42.4%)
iast_GLOBAL 2.147 ms [2.093 ms, 2.202 ms] 681.344 µs (46.5%)
profiling 1.954 ms [1.911 ms, 1.998 ms] 488.59 µs (33.3%)
tracing 1.937 ms [1.896 ms, 1.979 ms] 471.444 µs (32.2%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~11ff5237c9, baseline=1.46.0-SNAPSHOT~523df01c66
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.041 s) : 15041000, 15041000
.   : milestone, 15041000,
appsec (15.091 s) : 15091000, 15091000
.   : milestone, 15091000,
iast (18.697 s) : 18697000, 18697000
.   : milestone, 18697000,
iast_GLOBAL (17.843 s) : 17843000, 17843000
.   : milestone, 17843000,
profiling (14.972 s) : 14972000, 14972000
.   : milestone, 14972000,
tracing (14.941 s) : 14941000, 14941000
.   : milestone, 14941000,
section candidate
no_agent (15.402 s) : 15402000, 15402000
.   : milestone, 15402000,
appsec (15.068 s) : 15068000, 15068000
.   : milestone, 15068000,
iast (18.889 s) : 18889000, 18889000
.   : milestone, 18889000,
iast_GLOBAL (18.046 s) : 18046000, 18046000
.   : milestone, 18046000,
profiling (15.711 s) : 15711000, 15711000
.   : milestone, 15711000,
tracing (15.057 s) : 15057000, 15057000
.   : milestone, 15057000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.041 s [15.041 s, 15.041 s] -
appsec 15.091 s [15.091 s, 15.091 s] 50.0 ms (0.3%)
iast 18.697 s [18.697 s, 18.697 s] 3.656 s (24.3%)
iast_GLOBAL 17.843 s [17.843 s, 17.843 s] 2.802 s (18.6%)
profiling 14.972 s [14.972 s, 14.972 s] -69.0 ms (-0.5%)
tracing 14.941 s [14.941 s, 14.941 s] -100.0 ms (-0.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.402 s [15.402 s, 15.402 s] -
appsec 15.068 s [15.068 s, 15.068 s] -334.0 ms (-2.2%)
iast 18.889 s [18.889 s, 18.889 s] 3.487 s (22.6%)
iast_GLOBAL 18.046 s [18.046 s, 18.046 s] 2.644 s (17.2%)
profiling 15.711 s [15.711 s, 15.711 s] 309.0 ms (2.0%)
tracing 15.057 s [15.057 s, 15.057 s] -345.0 ms (-2.2%)

@PerfectSlayer PerfectSlayer added type: enhancement Enhancements and improvements comp: ci visibility Continuous Integration Visibility labels Jan 22, 2025
@PerfectSlayer PerfectSlayer changed the title GitInfo Optimization Optimize Git repository information computation Jan 22, 2025
Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

That's a lot perf for a single change 👍

@dougqh dougqh merged commit 82d8045 into master Jan 22, 2025
177 of 178 checks passed
@dougqh dougqh deleted the dougqh/git-info-optimization branch January 22, 2025 19:00
@github-actions github-actions bot added this to the 1.46.0 milestone Jan 22, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jan 31, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.25.4` -> `2.26.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |

---

### Release Notes

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

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

##### Features

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

##### Dependencies

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

</details>

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

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

##### Breaking Changes

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

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

##### Components

##### Application Security Management (IAST)

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

##### Application Security Management (WAF)

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

##### Build & Tooling

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

##### Configuration at Runtime

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

##### Continuous Integration Visibility

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

##### Data Streams Monitoring

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

##### Database Monitoring

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

##### Dynamic Instrumentation

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

##### JMX fetch

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

##### OpenTracing

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

##### Profiling

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

##### Telemetry

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

##### Testing

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

##### Trace context propagation

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

##### Tracer core

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

##### Instrumentations

##### Apache HttpComponents

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

##### AWS Lambda instrumentation

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

##### AWS S3 instrumentation

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

##### AWS SDK instrumentation

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

##### Cassandra

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

##### Core Java language instrumentation

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

##### Eclipse Vert.x instrumentation

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

##### Kafka instrumentation

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

##### Mule instrumentation

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

##### Protocol Buffer instrumentation

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

##### Spring instrumentation

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: bb09d47e4eed77a003f630273b4d0a84003eb899
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: ci visibility Continuous Integration Visibility tag: performance Performance related changes type: enhancement Enhancements and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants