Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Handle multi-value tagging for server spans #7977

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

sarahchen6
Copy link
Contributor

@sarahchen6 sarahchen6 commented Nov 20, 2024

What Does This Do

The goal of this PR is to handle multi-value tagging for server spans.

Motivation

Currently, the HTTP protocol allows splitting the header into multiple lines per value; however, the Java tracer only allows users to extrace the first value of the HTTP header. This PR will now allow extracting multi-valued multi-line headers. This PR would help allow extracting multi-valued multi-line HTTP headers in conjunction with #7943.

Additional Notes

This PR is made in response to this Jira ticket.

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@sarahchen6 sarahchen6 changed the title Handle multi-value tagging for server spans [WIP] Handle multi-value tagging for server spans Nov 20, 2024
@pr-commenter
Copy link

pr-commenter bot commented Nov 20, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master sarahchen6/allow-multiline-headers-response
git_commit_date 1732022072 1732064023
git_commit_sha 137948f 076071c
release_version 1.43.0-SNAPSHOT~137948ff59 1.43.0-SNAPSHOT~076071c80d
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1732066604 1732066604
ci_job_id 713246979 713246979
ci_pipeline_id 49452736 49452736
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 52 metrics, 11 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.43.0-SNAPSHOT~076071c80d, baseline=1.43.0-SNAPSHOT~137948ff59

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.079 s) : 0, 1078607
Total [baseline] (8.55 s) : 0, 8550295
Agent [candidate] (1.088 s) : 0, 1087603
Total [candidate] (8.549 s) : 0, 8549236
section iast
Agent [baseline] (1.205 s) : 0, 1204560
Total [baseline] (9.113 s) : 0, 9113195
Agent [candidate] (1.202 s) : 0, 1202394
Total [candidate] (9.098 s) : 0, 9098068
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.214 s) : 0, 1214418
Total [baseline] (9.09 s) : 0, 9089721
Agent [candidate] (1.208 s) : 0, 1207549
Total [candidate] (9.095 s) : 0, 9095499
section iast_TELEMETRY_OFF
Agent [baseline] (1.213 s) : 0, 1212824
Total [baseline] (9.153 s) : 0, 9152517
Agent [candidate] (1.209 s) : 0, 1209370
Total [candidate] (9.093 s) : 0, 9092552
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.079 s -
Agent iast 1.205 s 125.952 ms (11.7%)
Agent iast_HARDCODED_SECRET_DISABLED 1.214 s 135.81 ms (12.6%)
Agent iast_TELEMETRY_OFF 1.213 s 134.217 ms (12.4%)
Total tracing 8.55 s -
Total iast 9.113 s 562.9 ms (6.6%)
Total iast_HARDCODED_SECRET_DISABLED 9.09 s 539.426 ms (6.3%)
Total iast_TELEMETRY_OFF 9.153 s 602.222 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.088 s -
Agent iast 1.202 s 114.79 ms (10.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.208 s 119.945 ms (11.0%)
Agent iast_TELEMETRY_OFF 1.209 s 121.766 ms (11.2%)
Total tracing 8.549 s -
Total iast 9.098 s 548.832 ms (6.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.095 s 546.263 ms (6.4%)
Total iast_TELEMETRY_OFF 9.093 s 543.316 ms (6.4%)
gantt
    title insecure-bank - break down per module: candidate=1.43.0-SNAPSHOT~076071c80d, baseline=1.43.0-SNAPSHOT~137948ff59

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (687.369 ms) : 0, 687369
BytebuddyAgent [candidate] (691.582 ms) : 0, 691582
GlobalTracer [baseline] (314.4 ms) : 0, 314400
GlobalTracer [candidate] (315.814 ms) : 0, 315814
AppSec [baseline] (54.079 ms) : 0, 54079
AppSec [candidate] (54.49 ms) : 0, 54490
Remote Config [baseline] (675.147 µs) : 0, 675
Remote Config [candidate] (679.203 µs) : 0, 679
Telemetry [baseline] (8.447 ms) : 0, 8447
Telemetry [candidate] (11.306 ms) : 0, 11306
section iast
BytebuddyAgent [baseline] (801.534 ms) : 0, 801534
BytebuddyAgent [candidate] (799.736 ms) : 0, 799736
GlobalTracer [baseline] (303.708 ms) : 0, 303708
GlobalTracer [candidate] (303.324 ms) : 0, 303324
AppSec [baseline] (55.555 ms) : 0, 55555
AppSec [candidate] (55.649 ms) : 0, 55649
IAST [baseline] (22.158 ms) : 0, 22158
IAST [candidate] (22.144 ms) : 0, 22144
Remote Config [baseline] (618.189 µs) : 0, 618
Remote Config [candidate] (591.276 µs) : 0, 591
Telemetry [baseline] (7.358 ms) : 0, 7358
Telemetry [candidate] (7.325 ms) : 0, 7325
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (807.638 ms) : 0, 807638
BytebuddyAgent [candidate] (802.617 ms) : 0, 802617
GlobalTracer [baseline] (306.105 ms) : 0, 306105
GlobalTracer [candidate] (305.204 ms) : 0, 305204
AppSec [baseline] (56.292 ms) : 0, 56292
AppSec [candidate] (56.644 ms) : 0, 56644
IAST [baseline] (22.532 ms) : 0, 22532
IAST [candidate] (21.335 ms) : 0, 21335
Remote Config [baseline] (616.385 µs) : 0, 616
Remote Config [candidate] (607.94 µs) : 0, 608
Telemetry [baseline] (7.522 ms) : 0, 7522
Telemetry [candidate] (7.472 ms) : 0, 7472
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (806.66 ms) : 0, 806660
BytebuddyAgent [candidate] (805.959 ms) : 0, 805959
GlobalTracer [baseline] (305.845 ms) : 0, 305845
GlobalTracer [candidate] (303.88 ms) : 0, 303880
AppSec [baseline] (57.363 ms) : 0, 57363
AppSec [candidate] (57.565 ms) : 0, 57565
IAST [baseline] (21.151 ms) : 0, 21151
IAST [candidate] (20.292 ms) : 0, 20292
Remote Config [baseline] (607.002 µs) : 0, 607
Remote Config [candidate] (618.695 µs) : 0, 619
Telemetry [baseline] (7.448 ms) : 0, 7448
Telemetry [candidate] (7.353 ms) : 0, 7353
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.43.0-SNAPSHOT~076071c80d, baseline=1.43.0-SNAPSHOT~137948ff59

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.091 s) : 0, 1090946
Total [baseline] (10.453 s) : 0, 10453230
Agent [candidate] (1.081 s) : 0, 1081355
Total [candidate] (10.392 s) : 0, 10391795
section appsec
Agent [baseline] (1.215 s) : 0, 1215304
Total [baseline] (10.615 s) : 0, 10614662
Agent [candidate] (1.215 s) : 0, 1214694
Total [candidate] (10.641 s) : 0, 10641489
section iast
Agent [baseline] (1.205 s) : 0, 1204942
Total [baseline] (10.858 s) : 0, 10858406
Agent [candidate] (1.213 s) : 0, 1213474
Total [candidate] (10.873 s) : 0, 10872956
section profiling
Agent [baseline] (1.285 s) : 0, 1284620
Total [baseline] (10.773 s) : 0, 10772600
Agent [candidate] (1.279 s) : 0, 1279252
Total [candidate] (10.696 s) : 0, 10695802
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.091 s -
Agent appsec 1.215 s 124.358 ms (11.4%)
Agent iast 1.205 s 113.996 ms (10.4%)
Agent profiling 1.285 s 193.674 ms (17.8%)
Total tracing 10.453 s -
Total appsec 10.615 s 161.432 ms (1.5%)
Total iast 10.858 s 405.176 ms (3.9%)
Total profiling 10.773 s 319.37 ms (3.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.081 s -
Agent appsec 1.215 s 133.34 ms (12.3%)
Agent iast 1.213 s 132.119 ms (12.2%)
Agent profiling 1.279 s 197.898 ms (18.3%)
Total tracing 10.392 s -
Total appsec 10.641 s 249.694 ms (2.4%)
Total iast 10.873 s 481.16 ms (4.6%)
Total profiling 10.696 s 304.007 ms (2.9%)
gantt
    title petclinic - break down per module: candidate=1.43.0-SNAPSHOT~076071c80d, baseline=1.43.0-SNAPSHOT~137948ff59

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (694.562 ms) : 0, 694562
BytebuddyAgent [candidate] (687.668 ms) : 0, 687668
GlobalTracer [baseline] (317.992 ms) : 0, 317992
GlobalTracer [candidate] (315.12 ms) : 0, 315120
AppSec [baseline] (54.087 ms) : 0, 54087
AppSec [candidate] (54.192 ms) : 0, 54192
Remote Config [baseline] (682.959 µs) : 0, 683
Remote Config [candidate] (685.702 µs) : 0, 686
Telemetry [baseline] (9.869 ms) : 0, 9869
Telemetry [candidate] (10.01 ms) : 0, 10010
section appsec
BytebuddyAgent [baseline] (705.235 ms) : 0, 705235
BytebuddyAgent [candidate] (704.061 ms) : 0, 704061
GlobalTracer [baseline] (312.852 ms) : 0, 312852
GlobalTracer [candidate] (312.377 ms) : 0, 312377
AppSec [baseline] (165.095 ms) : 0, 165095
AppSec [candidate] (166.2 ms) : 0, 166200
Remote Config [baseline] (628.818 µs) : 0, 629
Remote Config [candidate] (635.398 µs) : 0, 635
Telemetry [baseline] (7.73 ms) : 0, 7730
Telemetry [candidate] (7.753 ms) : 0, 7753
IAST [baseline] (20.279 ms) : 0, 20279
IAST [candidate] (20.1 ms) : 0, 20100
section iast
BytebuddyAgent [baseline] (801.53 ms) : 0, 801530
BytebuddyAgent [candidate] (807.19 ms) : 0, 807190
GlobalTracer [baseline] (303.624 ms) : 0, 303624
GlobalTracer [candidate] (305.932 ms) : 0, 305932
AppSec [baseline] (57.299 ms) : 0, 57299
AppSec [candidate] (56.86 ms) : 0, 56860
Remote Config [baseline] (598.325 µs) : 0, 598
Remote Config [candidate] (627.198 µs) : 0, 627
Telemetry [baseline] (7.41 ms) : 0, 7410
Telemetry [candidate] (7.565 ms) : 0, 7565
IAST [baseline] (20.866 ms) : 0, 20866
IAST [candidate] (21.565 ms) : 0, 21565
section profiling
ProfilingAgent [baseline] (93.289 ms) : 0, 93289
ProfilingAgent [candidate] (89.472 ms) : 0, 89472
BytebuddyAgent [baseline] (685.371 ms) : 0, 685371
BytebuddyAgent [candidate] (684.08 ms) : 0, 684080
GlobalTracer [baseline] (399.203 ms) : 0, 399203
GlobalTracer [candidate] (397.574 ms) : 0, 397574
AppSec [baseline] (55.037 ms) : 0, 55037
AppSec [candidate] (54.554 ms) : 0, 54554
Remote Config [baseline] (675.667 µs) : 0, 676
Remote Config [candidate] (661.339 µs) : 0, 661
Telemetry [baseline] (11.972 ms) : 0, 11972
Telemetry [candidate] (13.903 ms) : 0, 13903
Profiling [baseline] (93.312 ms) : 0, 93312
Profiling [candidate] (89.496 ms) : 0, 89496
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-11-20T01:07:10 2024-11-20T01:14:05
git_branch master sarahchen6/allow-multiline-headers-response
git_commit_date 1732022072 1732064023
git_commit_sha 137948f 076071c
release_version 1.43.0-SNAPSHOT~137948ff59 1.43.0-SNAPSHOT~076071c80d
start_time 2024-11-20T01:06:56 2024-11-20T01:13:52
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1732065594 1732065594
ci_job_id 713246980 713246980
ci_pipeline_id 49452736 49452736
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant iast iast

Summary

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

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.43.0-SNAPSHOT~076071c80d, baseline=1.43.0-SNAPSHOT~137948ff59
    dateFormat X
    axisFormat %s
section baseline
no_agent (372.779 µs) : 353, 393
.   : milestone, 373,
iast (486.026 µs) : 465, 507
.   : milestone, 486,
iast_FULL (642.321 µs) : 621, 664
.   : milestone, 642,
iast_GLOBAL (521.526 µs) : 498, 545
.   : milestone, 522,
iast_HARDCODED_SECRET_DISABLED (492.343 µs) : 471, 513
.   : milestone, 492,
iast_INACTIVE (453.089 µs) : 432, 474
.   : milestone, 453,
iast_TELEMETRY_OFF (471.6 µs) : 451, 493
.   : milestone, 472,
tracing (444.853 µs) : 424, 466
.   : milestone, 445,
section candidate
no_agent (369.332 µs) : 349, 390
.   : milestone, 369,
iast (483.347 µs) : 462, 505
.   : milestone, 483,
iast_FULL (640.34 µs) : 619, 662
.   : milestone, 640,
iast_GLOBAL (519.701 µs) : 498, 542
.   : milestone, 520,
iast_HARDCODED_SECRET_DISABLED (489.744 µs) : 468, 511
.   : milestone, 490,
iast_INACTIVE (443.405 µs) : 423, 464
.   : milestone, 443,
iast_TELEMETRY_OFF (482.211 µs) : 460, 504
.   : milestone, 482,
tracing (441.979 µs) : 421, 463
.   : milestone, 442,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 372.779 µs [352.925 µs, 392.634 µs] -
iast 486.026 µs [464.914 µs, 507.137 µs] 113.246 µs (30.4%)
iast_FULL 642.321 µs [620.892 µs, 663.75 µs] 269.542 µs (72.3%)
iast_GLOBAL 521.526 µs [497.61 µs, 545.443 µs] 148.747 µs (39.9%)
iast_HARDCODED_SECRET_DISABLED 492.343 µs [471.256 µs, 513.43 µs] 119.563 µs (32.1%)
iast_INACTIVE 453.089 µs [432.28 µs, 473.899 µs] 80.31 µs (21.5%)
iast_TELEMETRY_OFF 471.6 µs [450.611 µs, 492.589 µs] 98.821 µs (26.5%)
tracing 444.853 µs [424.074 µs, 465.632 µs] 72.073 µs (19.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 369.332 µs [349.158 µs, 389.507 µs] -
iast 483.347 µs [462.055 µs, 504.639 µs] 114.015 µs (30.9%)
iast_FULL 640.34 µs [619.039 µs, 661.641 µs] 271.007 µs (73.4%)
iast_GLOBAL 519.701 µs [497.861 µs, 541.54 µs] 150.368 µs (40.7%)
iast_HARDCODED_SECRET_DISABLED 489.744 µs [468.166 µs, 511.322 µs] 120.411 µs (32.6%)
iast_INACTIVE 443.405 µs [422.769 µs, 464.042 µs] 74.073 µs (20.1%)
iast_TELEMETRY_OFF 482.211 µs [460.246 µs, 504.176 µs] 112.878 µs (30.6%)
tracing 441.979 µs [421.132 µs, 462.826 µs] 72.647 µs (19.7%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.43.0-SNAPSHOT~076071c80d, baseline=1.43.0-SNAPSHOT~137948ff59
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.335 ms) : 1316, 1354
.   : milestone, 1335,
appsec (1.737 ms) : 1712, 1761
.   : milestone, 1737,
appsec_no_iast (1.712 ms) : 1687, 1737
.   : milestone, 1712,
iast (1.49 ms) : 1468, 1513
.   : milestone, 1490,
profiling (1.496 ms) : 1472, 1519
.   : milestone, 1496,
tracing (1.469 ms) : 1444, 1495
.   : milestone, 1469,
section candidate
no_agent (1.343 ms) : 1324, 1363
.   : milestone, 1343,
appsec (1.72 ms) : 1694, 1745
.   : milestone, 1720,
appsec_no_iast (1.74 ms) : 1716, 1764
.   : milestone, 1740,
iast (1.48 ms) : 1458, 1502
.   : milestone, 1480,
profiling (1.462 ms) : 1439, 1485
.   : milestone, 1462,
tracing (1.458 ms) : 1433, 1482
.   : milestone, 1458,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.335 ms [1.316 ms, 1.354 ms] -
appsec 1.737 ms [1.712 ms, 1.761 ms] 401.425 µs (30.1%)
appsec_no_iast 1.712 ms [1.687 ms, 1.737 ms] 376.803 µs (28.2%)
iast 1.49 ms [1.468 ms, 1.513 ms] 154.942 µs (11.6%)
profiling 1.496 ms [1.472 ms, 1.519 ms] 160.479 µs (12.0%)
tracing 1.469 ms [1.444 ms, 1.495 ms] 134.175 µs (10.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.343 ms [1.324 ms, 1.363 ms] -
appsec 1.72 ms [1.694 ms, 1.745 ms] 376.052 µs (28.0%)
appsec_no_iast 1.74 ms [1.716 ms, 1.764 ms] 396.487 µs (29.5%)
iast 1.48 ms [1.458 ms, 1.502 ms] 136.563 µs (10.2%)
profiling 1.462 ms [1.439 ms, 1.485 ms] 118.772 µs (8.8%)
tracing 1.458 ms [1.433 ms, 1.482 ms] 114.268 µs (8.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master sarahchen6/allow-multiline-headers-response
git_commit_date 1732022072 1732064023
git_commit_sha 137948f 076071c
release_version 1.43.0-SNAPSHOT~137948ff59 1.43.0-SNAPSHOT~076071c80d
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1732066138 1732066138
ci_job_id 713246981 713246981
ci_pipeline_id 49452736 49452736
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 biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.43.0-SNAPSHOT~076071c80d, baseline=1.43.0-SNAPSHOT~137948ff59
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.979 s) : 14979000, 14979000
.   : milestone, 14979000,
appsec (15.157 s) : 15157000, 15157000
.   : milestone, 15157000,
iast (18.432 s) : 18432000, 18432000
.   : milestone, 18432000,
iast_GLOBAL (18.269 s) : 18269000, 18269000
.   : milestone, 18269000,
profiling (14.885 s) : 14885000, 14885000
.   : milestone, 14885000,
tracing (15.282 s) : 15282000, 15282000
.   : milestone, 15282000,
section candidate
no_agent (15.086 s) : 15086000, 15086000
.   : milestone, 15086000,
appsec (15.419 s) : 15419000, 15419000
.   : milestone, 15419000,
iast (18.982 s) : 18982000, 18982000
.   : milestone, 18982000,
iast_GLOBAL (18.29 s) : 18290000, 18290000
.   : milestone, 18290000,
profiling (14.971 s) : 14971000, 14971000
.   : milestone, 14971000,
tracing (15.032 s) : 15032000, 15032000
.   : milestone, 15032000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.979 s [14.979 s, 14.979 s] -
appsec 15.157 s [15.157 s, 15.157 s] 178.0 ms (1.2%)
iast 18.432 s [18.432 s, 18.432 s] 3.453 s (23.1%)
iast_GLOBAL 18.269 s [18.269 s, 18.269 s] 3.29 s (22.0%)
profiling 14.885 s [14.885 s, 14.885 s] -94.0 ms (-0.6%)
tracing 15.282 s [15.282 s, 15.282 s] 303.0 ms (2.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.086 s [15.086 s, 15.086 s] -
appsec 15.419 s [15.419 s, 15.419 s] 333.0 ms (2.2%)
iast 18.982 s [18.982 s, 18.982 s] 3.896 s (25.8%)
iast_GLOBAL 18.29 s [18.29 s, 18.29 s] 3.204 s (21.2%)
profiling 14.971 s [14.971 s, 14.971 s] -115.0 ms (-0.8%)
tracing 15.032 s [15.032 s, 15.032 s] -54.0 ms (-0.4%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.43.0-SNAPSHOT~076071c80d, baseline=1.43.0-SNAPSHOT~137948ff59
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.482 ms) : 1470, 1493
.   : milestone, 1482,
appsec (2.369 ms) : 2327, 2411
.   : milestone, 2369,
iast (2.095 ms) : 2043, 2147
.   : milestone, 2095,
iast_GLOBAL (2.134 ms) : 2082, 2186
.   : milestone, 2134,
profiling (1.943 ms) : 1902, 1984
.   : milestone, 1943,
tracing (1.928 ms) : 1888, 1968
.   : milestone, 1928,
section candidate
no_agent (1.476 ms) : 1465, 1488
.   : milestone, 1476,
appsec (2.355 ms) : 2314, 2396
.   : milestone, 2355,
iast (2.094 ms) : 2042, 2146
.   : milestone, 2094,
iast_GLOBAL (2.138 ms) : 2086, 2191
.   : milestone, 2138,
profiling (1.955 ms) : 1912, 1998
.   : milestone, 1955,
tracing (1.935 ms) : 1895, 1975
.   : milestone, 1935,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.482 ms [1.47 ms, 1.493 ms] -
appsec 2.369 ms [2.327 ms, 2.411 ms] 886.759 µs (59.8%)
iast 2.095 ms [2.043 ms, 2.147 ms] 613.126 µs (41.4%)
iast_GLOBAL 2.134 ms [2.082 ms, 2.186 ms] 652.033 µs (44.0%)
profiling 1.943 ms [1.902 ms, 1.984 ms] 461.007 µs (31.1%)
tracing 1.928 ms [1.888 ms, 1.968 ms] 445.96 µs (30.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.476 ms [1.465 ms, 1.488 ms] -
appsec 2.355 ms [2.314 ms, 2.396 ms] 878.764 µs (59.5%)
iast 2.094 ms [2.042 ms, 2.146 ms] 618.074 µs (41.9%)
iast_GLOBAL 2.138 ms [2.086 ms, 2.191 ms] 662.069 µs (44.9%)
profiling 1.955 ms [1.912 ms, 1.998 ms] 478.703 µs (32.4%)
tracing 1.935 ms [1.895 ms, 1.975 ms] 458.795 µs (31.1%)

if (existing_val == null) {
span.setTag(mappedKey, value);
} else {
span.setTag(mappedKey, existing_val.toString() + value);
Copy link
Contributor

Choose a reason for hiding this comment

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

First, you might need to ensure the existing value is a String, otherwise you might end up with weird values calling toString().
Then, aren't the multiple header values supposed to be coma-separated? (I honestly don't know but I am curious about just being able to concatenate them 🤔 )

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants