Skip to content

Conversation

@amarziali
Copy link
Contributor

What Does This Do

Recently, few tests in CI fails with semeru 11 because of:

java.lang.NullPointerException: null
	at java.base/java.lang.invoke.ArrayVarHandle$ArrayVarHandleOperations$OpObject.computeOffset(ArrayVarHandle.java:142)
	at java.base/java.lang.invoke.ArrayVarHandle$ArrayVarHandleOperations$OpObject.compareAndSet(ArrayVarHandle.java:201)
	at java.base/java.util.concurrent.atomic.AtomicReferenceArray.compareAndSet(AtomicReferenceArray.java:152)
	at datadog.trace.api.cache.RadixTreeCache.computeIfAbsent(RadixTreeCache.java:59)

This PR tries to alleviate this by:

  • Removing the need of the cache for autoboxing of port integers since we have now the possibility to store primitives in the tag map
  • Having a defensive strategy when converting the http status from short to UTF8ByteString

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@amarziali amarziali requested review from a team as code owners December 18, 2025 09:23
@amarziali amarziali requested a review from mcculls December 18, 2025 09:23
@amarziali amarziali added type: bug Bug report and fix comp: core Tracer core labels Dec 18, 2025
@amarziali amarziali requested a review from dougqh December 18, 2025 09:23
} catch (Throwable t) {
// RadixTreeCache seems to have issues on semeru11 - NPE on AtomicReferenceArray cas
// skip the cache in those cases and just create a String
return UTF8BytesString.create(Short.toString(httpStatusCode));
Copy link
Contributor

Choose a reason for hiding this comment

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

question: Will this create too many allocations.

Copy link
Contributor Author

@amarziali amarziali Dec 18, 2025

Choose a reason for hiding this comment

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

it's not supposed to fail the cache acccess. Note that this method is on the hot path when finish is called on the root span -> write is called. If this throw we might bubble the application code IMO. Better to allocate something than throw

Copy link
Contributor

Choose a reason for hiding this comment

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

Is the failure constant on Semeru? Or is it sporadic?
If it is constant, we should probably detect the failure and then just bypass the cache there after.

I've started debating using UTF8BytesString for values, since we now have the UTF8 cache. I also have some evidence that some caches are doing more harm than good now.

Long term, I'm hoping that TagMap will provide a more elegant solution to these problems, but unfortunately, I'm not there yet.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

well I think more that there are no failures in the real life but only happens in CI. The stacktrace is very weird since it sounds like implying that either unsafe is null (sounds impossible) either the array is itself is null (that sounds not possible as well unless the class is unsafely allocated). In CI it passes on a retry run on a fresh JVM that looks indicating that something is gets corrupted on the used jvm? I put this catch in a defensive way - I can remove if needed

Copy link
Contributor

Choose a reason for hiding this comment

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

How many semeru 11 hosts can be impacted ?

@pr-commenter
Copy link

pr-commenter bot commented Dec 18, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/npe-base
git_commit_date 1767618465 1767620839
git_commit_sha 5627283 0d51cb0
release_version 1.58.0-SNAPSHOT~5627283442 1.58.0-SNAPSHOT~0d51cb0ba3
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1767622684 1767622684
ci_job_id 1326531022 1326531022
ci_pipeline_id 88915332 88915332
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-ikfyqvum 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-ikfyqvum 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

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

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.58.0-SNAPSHOT~0d51cb0ba3, baseline=1.58.0-SNAPSHOT~5627283442

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.09 s) : 0, 1090257
Total [baseline] (8.806 s) : 0, 8806426
Agent [candidate] (1.093 s) : 0, 1092692
Total [candidate] (8.75 s) : 0, 8749878
section iast
Agent [baseline] (1.228 s) : 0, 1227677
Total [baseline] (9.303 s) : 0, 9302599
Agent [candidate] (1.219 s) : 0, 1218555
Total [candidate] (9.267 s) : 0, 9267287
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.09 s -
Agent iast 1.228 s 137.419 ms (12.6%)
Total tracing 8.806 s -
Total iast 9.303 s 496.173 ms (5.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.093 s -
Agent iast 1.219 s 125.863 ms (11.5%)
Total tracing 8.75 s -
Total iast 9.267 s 517.41 ms (5.9%)
gantt
    title insecure-bank - break down per module: candidate=1.58.0-SNAPSHOT~0d51cb0ba3, baseline=1.58.0-SNAPSHOT~5627283442

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.196 ms) : 0, 1196
crashtracking [candidate] (1.192 ms) : 0, 1192
BytebuddyAgent [baseline] (655.112 ms) : 0, 655112
BytebuddyAgent [candidate] (656.537 ms) : 0, 656537
GlobalTracer [baseline] (283.92 ms) : 0, 283920
GlobalTracer [candidate] (284.343 ms) : 0, 284343
AppSec [baseline] (33.037 ms) : 0, 33037
AppSec [candidate] (33.069 ms) : 0, 33069
Debugger [baseline] (67.796 ms) : 0, 67796
Debugger [candidate] (68.277 ms) : 0, 68277
Remote Config [baseline] (651.024 µs) : 0, 651
Remote Config [candidate] (633.827 µs) : 0, 634
Telemetry [baseline] (9.098 ms) : 0, 9098
Telemetry [candidate] (9.136 ms) : 0, 9136
Flare Poller [baseline] (3.819 ms) : 0, 3819
Flare Poller [candidate] (3.811 ms) : 0, 3811
section iast
crashtracking [baseline] (1.188 ms) : 0, 1188
crashtracking [candidate] (1.197 ms) : 0, 1197
BytebuddyAgent [baseline] (795.52 ms) : 0, 795520
BytebuddyAgent [candidate] (788.432 ms) : 0, 788432
GlobalTracer [baseline] (256.592 ms) : 0, 256592
GlobalTracer [candidate] (255.118 ms) : 0, 255118
IAST [baseline] (27.13 ms) : 0, 27130
IAST [candidate] (26.837 ms) : 0, 26837
AppSec [baseline] (33.645 ms) : 0, 33645
AppSec [candidate] (34.295 ms) : 0, 34295
Debugger [baseline] (65.365 ms) : 0, 65365
Debugger [candidate] (64.712 ms) : 0, 64712
Remote Config [baseline] (615.313 µs) : 0, 615
Remote Config [candidate] (624.832 µs) : 0, 625
Telemetry [baseline] (8.415 ms) : 0, 8415
Telemetry [candidate] (8.461 ms) : 0, 8461
Flare Poller [baseline] (3.586 ms) : 0, 3586
Flare Poller [candidate] (3.564 ms) : 0, 3564
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.58.0-SNAPSHOT~0d51cb0ba3, baseline=1.58.0-SNAPSHOT~5627283442

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.088 s) : 0, 1088189
Total [baseline] (10.744 s) : 0, 10743975
Agent [candidate] (1.088 s) : 0, 1088023
Total [candidate] (10.874 s) : 0, 10873538
section appsec
Agent [baseline] (1.265 s) : 0, 1264760
Total [baseline] (10.875 s) : 0, 10875086
Agent [candidate] (1.271 s) : 0, 1271306
Total [candidate] (10.992 s) : 0, 10992138
section iast
Agent [baseline] (1.221 s) : 0, 1220597
Total [baseline] (11.153 s) : 0, 11152543
Agent [candidate] (1.222 s) : 0, 1222479
Total [candidate] (11.17 s) : 0, 11169563
section profiling
Agent [baseline] (1.208 s) : 0, 1208070
Total [baseline] (10.846 s) : 0, 10846239
Agent [candidate] (1.209 s) : 0, 1208853
Total [candidate] (10.987 s) : 0, 10986783
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.088 s -
Agent appsec 1.265 s 176.571 ms (16.2%)
Agent iast 1.221 s 132.408 ms (12.2%)
Agent profiling 1.208 s 119.881 ms (11.0%)
Total tracing 10.744 s -
Total appsec 10.875 s 131.111 ms (1.2%)
Total iast 11.153 s 408.567 ms (3.8%)
Total profiling 10.846 s 102.263 ms (1.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.088 s -
Agent appsec 1.271 s 183.283 ms (16.8%)
Agent iast 1.222 s 134.456 ms (12.4%)
Agent profiling 1.209 s 120.83 ms (11.1%)
Total tracing 10.874 s -
Total appsec 10.992 s 118.599 ms (1.1%)
Total iast 11.17 s 296.025 ms (2.7%)
Total profiling 10.987 s 113.245 ms (1.0%)
gantt
    title petclinic - break down per module: candidate=1.58.0-SNAPSHOT~0d51cb0ba3, baseline=1.58.0-SNAPSHOT~5627283442

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.19 ms) : 0, 1190
crashtracking [candidate] (1.206 ms) : 0, 1206
BytebuddyAgent [baseline] (653.794 ms) : 0, 653794
BytebuddyAgent [candidate] (652.14 ms) : 0, 652140
GlobalTracer [baseline] (283.544 ms) : 0, 283544
GlobalTracer [candidate] (284.119 ms) : 0, 284119
AppSec [baseline] (32.751 ms) : 0, 32751
AppSec [candidate] (32.865 ms) : 0, 32865
Debugger [baseline] (67.996 ms) : 0, 67996
Debugger [candidate] (67.914 ms) : 0, 67914
Remote Config [baseline] (606.726 µs) : 0, 607
Remote Config [candidate] (626.619 µs) : 0, 627
Telemetry [baseline] (9.01 ms) : 0, 9010
Telemetry [candidate] (9.062 ms) : 0, 9062
Flare Poller [baseline] (3.721 ms) : 0, 3721
Flare Poller [candidate] (4.539 ms) : 0, 4539
section appsec
crashtracking [baseline] (1.179 ms) : 0, 1179
crashtracking [candidate] (1.186 ms) : 0, 1186
BytebuddyAgent [baseline] (690.889 ms) : 0, 690889
BytebuddyAgent [candidate] (695.311 ms) : 0, 695311
GlobalTracer [baseline] (257.882 ms) : 0, 257882
GlobalTracer [candidate] (259.002 ms) : 0, 259002
AppSec [baseline] (174.535 ms) : 0, 174535
AppSec [candidate] (174.621 ms) : 0, 174621
Debugger [baseline] (66.519 ms) : 0, 66519
Debugger [candidate] (66.917 ms) : 0, 66917
Remote Config [baseline] (743.371 µs) : 0, 743
Remote Config [candidate] (682.904 µs) : 0, 683
Telemetry [baseline] (9.253 ms) : 0, 9253
Telemetry [candidate] (9.593 ms) : 0, 9593
Flare Poller [baseline] (3.754 ms) : 0, 3754
Flare Poller [candidate] (3.764 ms) : 0, 3764
IAST [baseline] (24.622 ms) : 0, 24622
IAST [candidate] (24.758 ms) : 0, 24758
section iast
crashtracking [baseline] (1.177 ms) : 0, 1177
crashtracking [candidate] (1.176 ms) : 0, 1176
BytebuddyAgent [baseline] (789.787 ms) : 0, 789787
BytebuddyAgent [candidate] (790.393 ms) : 0, 790393
GlobalTracer [baseline] (255.479 ms) : 0, 255479
GlobalTracer [candidate] (255.963 ms) : 0, 255963
AppSec [baseline] (34.127 ms) : 0, 34127
AppSec [candidate] (33.622 ms) : 0, 33622
Debugger [baseline] (65.173 ms) : 0, 65173
Debugger [candidate] (66.233 ms) : 0, 66233
Remote Config [baseline] (598.886 µs) : 0, 599
Remote Config [candidate] (602.036 µs) : 0, 602
Telemetry [baseline] (8.439 ms) : 0, 8439
Telemetry [candidate] (8.525 ms) : 0, 8525
Flare Poller [baseline] (3.552 ms) : 0, 3552
Flare Poller [candidate] (3.583 ms) : 0, 3583
IAST [baseline] (26.953 ms) : 0, 26953
IAST [candidate] (27.042 ms) : 0, 27042
section profiling
ProfilingAgent [baseline] (96.913 ms) : 0, 96913
ProfilingAgent [candidate] (96.022 ms) : 0, 96022
crashtracking [baseline] (1.212 ms) : 0, 1212
crashtracking [candidate] (1.216 ms) : 0, 1216
BytebuddyAgent [baseline] (705.893 ms) : 0, 705893
BytebuddyAgent [candidate] (707.139 ms) : 0, 707139
GlobalTracer [baseline] (220.856 ms) : 0, 220856
GlobalTracer [candidate] (221.491 ms) : 0, 221491
AppSec [baseline] (32.252 ms) : 0, 32252
AppSec [candidate] (32.27 ms) : 0, 32270
Debugger [baseline] (67.921 ms) : 0, 67921
Debugger [candidate] (67.71 ms) : 0, 67710
Remote Config [baseline] (640.055 µs) : 0, 640
Remote Config [candidate] (623.862 µs) : 0, 624
Telemetry [baseline] (8.722 ms) : 0, 8722
Telemetry [candidate] (8.7 ms) : 0, 8700
Flare Poller [baseline] (3.67 ms) : 0, 3670
Flare Poller [candidate] (3.656 ms) : 0, 3656
Profiling [baseline] (97.479 ms) : 0, 97479
Profiling [candidate] (96.588 ms) : 0, 96588
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/npe-base
git_commit_date 1767618465 1767620839
git_commit_sha 5627283 0d51cb0
release_version 1.58.0-SNAPSHOT~5627283442 1.58.0-SNAPSHOT~0d51cb0ba3
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1767623182 1767623182
ci_job_id 1326531023 1326531023
ci_pipeline_id 88915332 88915332
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-5za4wz4n 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-5za4wz4n 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 1 performance improvements and 1 performance regressions! Performance is the same for 18 metrics, 16 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:insecure-bank:profiling:high_load worse
[+63.217µs; +191.312µs] or [+3.945%; +11.940%]
unstable
[+246.901µs; +1160.336µs] or [+5.335%; +25.071%]
unstable
[-516.782op/s; +22.532op/s] or [-22.421%; +0.978%]
1.730ms 5.332ms 2057.812op/s 1.602ms 4.628ms 2304.938op/s
scenario:load:petclinic:no_agent:high_load better
[-2.971ms; -1.507ms] or [-15.803%; -8.018%]
unstable
[-4.565ms; -1.200ms] or [-14.700%; -3.863%]
unstable
[+3.495op/s; +60.193op/s] or [+1.447%; +24.915%]
16.562ms 28.175ms 273.438op/s 18.801ms 31.058ms 241.594op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.58.0-SNAPSHOT~0d51cb0ba3, baseline=1.58.0-SNAPSHOT~5627283442
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.19 ms) : 1178, 1203
.   : milestone, 1190,
iast (3.194 ms) : 3151, 3236
.   : milestone, 3194,
iast_FULL (5.665 ms) : 5610, 5720
.   : milestone, 5665,
iast_GLOBAL (3.574 ms) : 3523, 3626
.   : milestone, 3574,
profiling (1.956 ms) : 1940, 1972
.   : milestone, 1956,
tracing (1.781 ms) : 1767, 1796
.   : milestone, 1781,
section candidate
no_agent (1.184 ms) : 1173, 1196
.   : milestone, 1184,
iast (3.257 ms) : 3211, 3302
.   : milestone, 3257,
iast_FULL (5.785 ms) : 5728, 5843
.   : milestone, 5785,
iast_GLOBAL (3.629 ms) : 3575, 3683
.   : milestone, 3629,
profiling (2.2 ms) : 2179, 2222
.   : milestone, 2200,
tracing (1.783 ms) : 1768, 1798
.   : milestone, 1783,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.19 ms [1.178 ms, 1.203 ms] -
iast 3.194 ms [3.151 ms, 3.236 ms] 2.004 ms (168.4%)
iast_FULL 5.665 ms [5.61 ms, 5.72 ms] 4.475 ms (376.0%)
iast_GLOBAL 3.574 ms [3.523 ms, 3.626 ms] 2.384 ms (200.3%)
profiling 1.956 ms [1.94 ms, 1.972 ms] 765.555 µs (64.3%)
tracing 1.781 ms [1.767 ms, 1.796 ms] 591.06 µs (49.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.184 ms [1.173 ms, 1.196 ms] -
iast 3.257 ms [3.211 ms, 3.302 ms] 2.072 ms (175.0%)
iast_FULL 5.785 ms [5.728 ms, 5.843 ms] 4.601 ms (388.5%)
iast_GLOBAL 3.629 ms [3.575 ms, 3.683 ms] 2.445 ms (206.4%)
profiling 2.2 ms [2.179 ms, 2.222 ms] 1.016 ms (85.8%)
tracing 1.783 ms [1.768 ms, 1.798 ms] 598.629 µs (50.5%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.58.0-SNAPSHOT~0d51cb0ba3, baseline=1.58.0-SNAPSHOT~5627283442
    dateFormat X
    axisFormat %s
section baseline
no_agent (19.319 ms) : 19118, 19520
.   : milestone, 19319,
appsec (18.946 ms) : 18756, 19137
.   : milestone, 18946,
code_origins (17.884 ms) : 17705, 18063
.   : milestone, 17884,
iast (17.462 ms) : 17288, 17637
.   : milestone, 17462,
profiling (18.457 ms) : 18275, 18640
.   : milestone, 18457,
tracing (17.789 ms) : 17614, 17963
.   : milestone, 17789,
section candidate
no_agent (17.059 ms) : 16887, 17231
.   : milestone, 17059,
appsec (19.378 ms) : 19179, 19577
.   : milestone, 19378,
code_origins (18.087 ms) : 17906, 18269
.   : milestone, 18087,
iast (17.408 ms) : 17238, 17578
.   : milestone, 17408,
profiling (19.05 ms) : 18859, 19241
.   : milestone, 19050,
tracing (17.861 ms) : 17684, 18038
.   : milestone, 17861,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.319 ms [19.118 ms, 19.52 ms] -
appsec 18.946 ms [18.756 ms, 19.137 ms] -372.719 µs (-1.9%)
code_origins 17.884 ms [17.705 ms, 18.063 ms] -1.435 ms (-7.4%)
iast 17.462 ms [17.288 ms, 17.637 ms] -1.857 ms (-9.6%)
profiling 18.457 ms [18.275 ms, 18.64 ms] -861.827 µs (-4.5%)
tracing 17.789 ms [17.614 ms, 17.963 ms] -1.531 ms (-7.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.059 ms [16.887 ms, 17.231 ms] -
appsec 19.378 ms [19.179 ms, 19.577 ms] 2.319 ms (13.6%)
code_origins 18.087 ms [17.906 ms, 18.269 ms] 1.028 ms (6.0%)
iast 17.408 ms [17.238 ms, 17.578 ms] 348.815 µs (2.0%)
profiling 19.05 ms [18.859 ms, 19.241 ms] 1.991 ms (11.7%)
tracing 17.861 ms [17.684 ms, 18.038 ms] 801.879 µs (4.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/npe-base
git_commit_date 1767618465 1767620839
git_commit_sha 5627283 0d51cb0
release_version 1.58.0-SNAPSHOT~5627283442 1.58.0-SNAPSHOT~0d51cb0ba3
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1767622851 1767622851
ci_job_id 1326531024 1326531024
ci_pipeline_id 88915332 88915332
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-g4q7231h 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-g4q7231h 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

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

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.58.0-SNAPSHOT~0d51cb0ba3, baseline=1.58.0-SNAPSHOT~5627283442
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.648 s) : 15648000, 15648000
.   : milestone, 15648000,
appsec (14.609 s) : 14609000, 14609000
.   : milestone, 14609000,
iast (18.322 s) : 18322000, 18322000
.   : milestone, 18322000,
iast_GLOBAL (17.646 s) : 17646000, 17646000
.   : milestone, 17646000,
profiling (15.394 s) : 15394000, 15394000
.   : milestone, 15394000,
tracing (14.794 s) : 14794000, 14794000
.   : milestone, 14794000,
section candidate
no_agent (15.635 s) : 15635000, 15635000
.   : milestone, 15635000,
appsec (14.683 s) : 14683000, 14683000
.   : milestone, 14683000,
iast (18.258 s) : 18258000, 18258000
.   : milestone, 18258000,
iast_GLOBAL (17.833 s) : 17833000, 17833000
.   : milestone, 17833000,
profiling (14.926 s) : 14926000, 14926000
.   : milestone, 14926000,
tracing (14.721 s) : 14721000, 14721000
.   : milestone, 14721000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.648 s [15.648 s, 15.648 s] -
appsec 14.609 s [14.609 s, 14.609 s] -1.039 s (-6.6%)
iast 18.322 s [18.322 s, 18.322 s] 2.674 s (17.1%)
iast_GLOBAL 17.646 s [17.646 s, 17.646 s] 1.998 s (12.8%)
profiling 15.394 s [15.394 s, 15.394 s] -254.0 ms (-1.6%)
tracing 14.794 s [14.794 s, 14.794 s] -854.0 ms (-5.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.635 s [15.635 s, 15.635 s] -
appsec 14.683 s [14.683 s, 14.683 s] -952.0 ms (-6.1%)
iast 18.258 s [18.258 s, 18.258 s] 2.623 s (16.8%)
iast_GLOBAL 17.833 s [17.833 s, 17.833 s] 2.198 s (14.1%)
profiling 14.926 s [14.926 s, 14.926 s] -709.0 ms (-4.5%)
tracing 14.721 s [14.721 s, 14.721 s] -914.0 ms (-5.8%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.58.0-SNAPSHOT~0d51cb0ba3, baseline=1.58.0-SNAPSHOT~5627283442
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.474 ms) : 1463, 1486
.   : milestone, 1474,
appsec (3.665 ms) : 3449, 3880
.   : milestone, 3665,
iast (2.221 ms) : 2156, 2286
.   : milestone, 2221,
iast_GLOBAL (2.269 ms) : 2203, 2335
.   : milestone, 2269,
profiling (2.087 ms) : 2033, 2142
.   : milestone, 2087,
tracing (2.047 ms) : 1996, 2098
.   : milestone, 2047,
section candidate
no_agent (1.474 ms) : 1463, 1486
.   : milestone, 1474,
appsec (3.715 ms) : 3495, 3935
.   : milestone, 3715,
iast (2.214 ms) : 2150, 2279
.   : milestone, 2214,
iast_GLOBAL (2.256 ms) : 2191, 2321
.   : milestone, 2256,
profiling (2.074 ms) : 2022, 2127
.   : milestone, 2074,
tracing (2.063 ms) : 2011, 2114
.   : milestone, 2063,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.463 ms, 1.486 ms] -
appsec 3.665 ms [3.449 ms, 3.88 ms] 2.19 ms (148.5%)
iast 2.221 ms [2.156 ms, 2.286 ms] 746.733 µs (50.6%)
iast_GLOBAL 2.269 ms [2.203 ms, 2.335 ms] 794.38 µs (53.9%)
profiling 2.087 ms [2.033 ms, 2.142 ms] 612.95 µs (41.6%)
tracing 2.047 ms [1.996 ms, 2.098 ms] 572.593 µs (38.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.463 ms, 1.486 ms] -
appsec 3.715 ms [3.495 ms, 3.935 ms] 2.24 ms (151.9%)
iast 2.214 ms [2.15 ms, 2.279 ms] 739.619 µs (50.2%)
iast_GLOBAL 2.256 ms [2.191 ms, 2.321 ms] 781.83 µs (53.0%)
profiling 2.074 ms [2.022 ms, 2.127 ms] 599.796 µs (40.7%)
tracing 2.063 ms [2.011 ms, 2.114 ms] 588.243 µs (39.9%)

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

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

Makes sense to me, but I'd like @dougqh / platform team to give final approval

measured,
topLevel,
httpStatusCode == 0 ? null : HTTP_STATUSES.get(httpStatusCode),
httpStatusCode == 0 ? null : shortStatusCodeToString(httpStatusCode),
Copy link
Contributor

Choose a reason for hiding this comment

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

Just curious if we can use int here too? Same as you did with port?
Or it would be a huge refactoring?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Indeed I think it can be just an int (I see we use a short indeed) since in other parts is casted as int

Copy link
Contributor

Choose a reason for hiding this comment

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

According to

// http.status is important because it is expected to be a string downstream

// http.status is important because it is expected to be a string downstream

so at this point in the metadata it should become a string I believe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core type: bug Bug report and fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants