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

Ensure manually created OpenTelemetry spans are compliant with trace metrics #7138

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented Jun 7, 2024

What Does This Do

Translates the http.response.status_code attribute (OpenTelemetry) to http.status_code (Datadog)

Additional Notes

This PR also fixes an issue where the AttributeKey form of the setAttribute method was not covered for non-array reserved attributes.

@mcculls mcculls added the inst: opentelemetry OpenTelemetry instrumentation label Jun 7, 2024
@mcculls mcculls marked this pull request as ready for review June 7, 2024 10:06
@mcculls mcculls requested review from a team as code owners June 7, 2024 10:06
@pr-commenter
Copy link

pr-commenter bot commented Jun 7, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/map-otel-http.response.status_code-to-http.status_code
git_commit_date 1717749941 1717754510
git_commit_sha edb2c3f 14f02fd
release_version 1.36.0-SNAPSHOT~edb2c3fa17 1.36.0-SNAPSHOT~14f02fda23
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1717758482 1717758482
ci_job_id 535768874 535768874
ci_pipeline_id 36141063 36141063
cpu_model Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8175M 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 55 metrics, 16 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.36.0-SNAPSHOT~14f02fda23, baseline=1.36.0-SNAPSHOT~edb2c3fa17

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.585 s) : 0, 1585333
Total [baseline] (14.296 s) : 0, 14296425
Agent [candidate] (1.591 s) : 0, 1590527
Total [candidate] (14.312 s) : 0, 14311561
section appsec
Agent [baseline] (1.757 s) : 0, 1756777
Total [baseline] (14.442 s) : 0, 14441595
Agent [candidate] (1.767 s) : 0, 1766671
Total [candidate] (14.407 s) : 0, 14407146
section iast
Agent [baseline] (1.71 s) : 0, 1710302
Total [baseline] (14.745 s) : 0, 14744520
Agent [candidate] (1.716 s) : 0, 1715553
Total [candidate] (14.769 s) : 0, 14768509
section profiling
Agent [baseline] (1.89 s) : 0, 1889958
Total [baseline] (14.763 s) : 0, 14762877
Agent [candidate] (1.89 s) : 0, 1890492
Total [candidate] (14.66 s) : 0, 14659880
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.585 s -
Agent appsec 1.757 s 171.444 ms (10.8%)
Agent iast 1.71 s 124.969 ms (7.9%)
Agent profiling 1.89 s 304.625 ms (19.2%)
Total tracing 14.296 s -
Total appsec 14.442 s 145.17 ms (1.0%)
Total iast 14.745 s 448.095 ms (3.1%)
Total profiling 14.763 s 466.451 ms (3.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.591 s -
Agent appsec 1.767 s 176.144 ms (11.1%)
Agent iast 1.716 s 125.026 ms (7.9%)
Agent profiling 1.89 s 299.965 ms (18.9%)
Total tracing 14.312 s -
Total appsec 14.407 s 95.585 ms (0.7%)
Total iast 14.769 s 456.948 ms (3.2%)
Total profiling 14.66 s 348.319 ms (2.4%)
gantt
    title petclinic - break down per module: candidate=1.36.0-SNAPSHOT~14f02fda23, baseline=1.36.0-SNAPSHOT~edb2c3fa17

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (990.168 ms) : 0, 990168
BytebuddyAgent [candidate] (993.528 ms) : 0, 993528
GlobalTracer [baseline] (451.855 ms) : 0, 451855
GlobalTracer [candidate] (452.756 ms) : 0, 452756
AppSec [baseline] (71.522 ms) : 0, 71522
AppSec [candidate] (72.05 ms) : 0, 72050
Logs Intake [baseline] (414.8 µs) : 0, 415
Logs Intake [candidate] (415.956 µs) : 0, 416
Remote Config [baseline] (887.277 µs) : 0, 887
Remote Config [candidate] (901.838 µs) : 0, 902
Telemetry [baseline] (9.848 ms) : 0, 9848
Telemetry [candidate] (9.88 ms) : 0, 9880
section appsec
BytebuddyAgent [baseline] (1.001 s) : 0, 1001314
BytebuddyAgent [candidate] (1.007 s) : 0, 1006705
GlobalTracer [baseline] (440.404 ms) : 0, 440404
GlobalTracer [candidate] (443.505 ms) : 0, 443505
AppSec [baseline] (231.385 ms) : 0, 231385
AppSec [candidate] (232.049 ms) : 0, 232049
IAST [baseline] (26.034 ms) : 0, 26034
IAST [candidate] (25.422 ms) : 0, 25422
Logs Intake [baseline] (421.868 µs) : 0, 422
Logs Intake [candidate] (425.505 µs) : 0, 426
Remote Config [baseline] (797.989 µs) : 0, 798
Remote Config [candidate] (793.961 µs) : 0, 794
Telemetry [baseline] (8.834 ms) : 0, 8834
Telemetry [candidate] (9.589 ms) : 0, 9589
section iast
BytebuddyAgent [baseline] (1.148 s) : 0, 1148455
BytebuddyAgent [candidate] (1.15 s) : 0, 1149826
GlobalTracer [baseline] (433.114 ms) : 0, 433114
GlobalTracer [candidate] (433.329 ms) : 0, 433329
AppSec [baseline] (66.122 ms) : 0, 66122
AppSec [candidate] (66.59 ms) : 0, 66590
IAST [baseline] (30.006 ms) : 0, 30006
IAST [candidate] (30.819 ms) : 0, 30819
Logs Intake [baseline] (396.676 µs) : 0, 397
Logs Intake [candidate] (390.988 µs) : 0, 391
Remote Config [baseline] (754.658 µs) : 0, 755
Remote Config [candidate] (746.471 µs) : 0, 746
Telemetry [baseline] (11.7 ms) : 0, 11700
Telemetry [candidate] (14.024 ms) : 0, 14024
section profiling
BytebuddyAgent [baseline] (982.746 ms) : 0, 982746
BytebuddyAgent [candidate] (982.416 ms) : 0, 982416
GlobalTracer [baseline] (579.264 ms) : 0, 579264
GlobalTracer [candidate] (579.847 ms) : 0, 579847
AppSec [baseline] (73.356 ms) : 0, 73356
AppSec [candidate] (72.64 ms) : 0, 72640
Logs Intake [baseline] (426.652 µs) : 0, 427
Logs Intake [candidate] (414.818 µs) : 0, 415
Remote Config [baseline] (951.588 µs) : 0, 952
Remote Config [candidate] (953.302 µs) : 0, 953
Telemetry [baseline] (9.525 ms) : 0, 9525
Telemetry [candidate] (9.476 ms) : 0, 9476
ProfilingAgent [baseline] (149.817 ms) : 0, 149817
ProfilingAgent [candidate] (151.291 ms) : 0, 151291
Profiling [baseline] (149.883 ms) : 0, 149883
Profiling [candidate] (151.356 ms) : 0, 151356
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.36.0-SNAPSHOT~14f02fda23, baseline=1.36.0-SNAPSHOT~edb2c3fa17

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.579 s) : 0, 1578503
Total [baseline] (11.912 s) : 0, 11912082
Agent [candidate] (1.586 s) : 0, 1585765
Total [candidate] (11.969 s) : 0, 11968576
section iast
Agent [baseline] (1.715 s) : 0, 1715453
Total [baseline] (12.626 s) : 0, 12625720
Agent [candidate] (1.708 s) : 0, 1707742
Total [candidate] (12.525 s) : 0, 12524929
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.711 s) : 0, 1710724
Total [baseline] (12.464 s) : 0, 12463658
Agent [candidate] (1.709 s) : 0, 1708730
Total [candidate] (12.45 s) : 0, 12450155
section iast_TELEMETRY_OFF
Agent [baseline] (1.707 s) : 0, 1707220
Total [baseline] (12.563 s) : 0, 12563018
Agent [candidate] (1.702 s) : 0, 1702487
Total [candidate] (12.53 s) : 0, 12529534
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.579 s -
Agent iast 1.715 s 136.95 ms (8.7%)
Agent iast_HARDCODED_SECRET_DISABLED 1.711 s 132.221 ms (8.4%)
Agent iast_TELEMETRY_OFF 1.707 s 128.717 ms (8.2%)
Total tracing 11.912 s -
Total iast 12.626 s 713.639 ms (6.0%)
Total iast_HARDCODED_SECRET_DISABLED 12.464 s 551.576 ms (4.6%)
Total iast_TELEMETRY_OFF 12.563 s 650.936 ms (5.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.586 s -
Agent iast 1.708 s 121.977 ms (7.7%)
Agent iast_HARDCODED_SECRET_DISABLED 1.709 s 122.965 ms (7.8%)
Agent iast_TELEMETRY_OFF 1.702 s 116.722 ms (7.4%)
Total tracing 11.969 s -
Total iast 12.525 s 556.353 ms (4.6%)
Total iast_HARDCODED_SECRET_DISABLED 12.45 s 481.578 ms (4.0%)
Total iast_TELEMETRY_OFF 12.53 s 560.957 ms (4.7%)
gantt
    title insecure-bank - break down per module: candidate=1.36.0-SNAPSHOT~14f02fda23, baseline=1.36.0-SNAPSHOT~edb2c3fa17

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (985.198 ms) : 0, 985198
BytebuddyAgent [candidate] (989.309 ms) : 0, 989309
GlobalTracer [baseline] (450.114 ms) : 0, 450114
GlobalTracer [candidate] (452.594 ms) : 0, 452594
AppSec [baseline] (71.519 ms) : 0, 71519
AppSec [candidate] (71.859 ms) : 0, 71859
Logs Intake [baseline] (412.706 µs) : 0, 413
Logs Intake [candidate] (414.104 µs) : 0, 414
Remote Config [baseline] (891.512 µs) : 0, 892
Remote Config [candidate] (874.207 µs) : 0, 874
Telemetry [baseline] (9.743 ms) : 0, 9743
Telemetry [candidate] (9.803 ms) : 0, 9803
section iast
BytebuddyAgent [baseline] (1.151 s) : 0, 1151172
BytebuddyAgent [candidate] (1.146 s) : 0, 1145663
GlobalTracer [baseline] (434.198 ms) : 0, 434198
GlobalTracer [candidate] (431.898 ms) : 0, 431898
AppSec [baseline] (67.049 ms) : 0, 67049
AppSec [candidate] (65.861 ms) : 0, 65861
IAST [baseline] (31.122 ms) : 0, 31122
IAST [candidate] (29.975 ms) : 0, 29975
Logs Intake [baseline] (397.259 µs) : 0, 397
Logs Intake [candidate] (393.308 µs) : 0, 393
Remote Config [baseline] (764.359 µs) : 0, 764
Remote Config [candidate] (758.01 µs) : 0, 758
Telemetry [baseline] (10.91 ms) : 0, 10910
Telemetry [candidate] (13.35 ms) : 0, 13350
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (1.145 s) : 0, 1145498
BytebuddyAgent [candidate] (1.144 s) : 0, 1144114
GlobalTracer [baseline] (432.704 ms) : 0, 432704
GlobalTracer [candidate] (431.725 ms) : 0, 431725
AppSec [baseline] (67.58 ms) : 0, 67580
AppSec [candidate] (66.989 ms) : 0, 66989
IAST [baseline] (34.987 ms) : 0, 34987
IAST [candidate] (33.298 ms) : 0, 33298
Logs Intake [baseline] (383.643 µs) : 0, 384
Logs Intake [candidate] (391.388 µs) : 0, 391
Remote Config [baseline] (742.424 µs) : 0, 742
Remote Config [candidate] (773.249 µs) : 0, 773
Telemetry [baseline] (8.982 ms) : 0, 8982
Telemetry [candidate] (11.557 ms) : 0, 11557
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (1.145 s) : 0, 1145361
BytebuddyAgent [candidate] (1.141 s) : 0, 1140609
GlobalTracer [baseline] (432.689 ms) : 0, 432689
GlobalTracer [candidate] (432.576 ms) : 0, 432576
AppSec [baseline] (66.976 ms) : 0, 66976
AppSec [candidate] (68.102 ms) : 0, 68102
IAST [baseline] (31.301 ms) : 0, 31301
IAST [candidate] (30.37 ms) : 0, 30370
Logs Intake [baseline] (408.163 µs) : 0, 408
Logs Intake [candidate] (385.597 µs) : 0, 386
Remote Config [baseline] (757.522 µs) : 0, 758
Remote Config [candidate] (737.164 µs) : 0, 737
Telemetry [baseline] (9.848 ms) : 0, 9848
Telemetry [candidate] (9.766 ms) : 0, 9766
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-06-07T10:26:21 2024-06-07T10:33:15
git_branch master mcculls/map-otel-http.response.status_code-to-http.status_code
git_commit_date 1717749941 1717754510
git_commit_sha edb2c3f 14f02fd
release_version 1.36.0-SNAPSHOT~edb2c3fa17 1.36.0-SNAPSHOT~14f02fda23
start_time 2024-06-07T10:26:08 2024-06-07T10:33:01
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1717756743 1717756743
ci_job_id 535768875 535768875
ci_pipeline_id 36141063 36141063
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 petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.36.0-SNAPSHOT~14f02fda23, baseline=1.36.0-SNAPSHOT~edb2c3fa17
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.366 ms) : 1345, 1386
.   : milestone, 1366,
appsec (1.742 ms) : 1718, 1767
.   : milestone, 1742,
appsec_no_iast (1.727 ms) : 1703, 1751
.   : milestone, 1727,
iast (1.481 ms) : 1458, 1504
.   : milestone, 1481,
profiling (1.529 ms) : 1503, 1554
.   : milestone, 1529,
tracing (1.498 ms) : 1471, 1524
.   : milestone, 1498,
section candidate
no_agent (1.363 ms) : 1344, 1382
.   : milestone, 1363,
appsec (1.751 ms) : 1724, 1777
.   : milestone, 1751,
appsec_no_iast (1.765 ms) : 1741, 1789
.   : milestone, 1765,
iast (1.481 ms) : 1458, 1504
.   : milestone, 1481,
profiling (1.553 ms) : 1528, 1578
.   : milestone, 1553,
tracing (1.46 ms) : 1435, 1484
.   : milestone, 1460,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.366 ms [1.345 ms, 1.386 ms] -
appsec 1.742 ms [1.718 ms, 1.767 ms] 376.546 µs (27.6%)
appsec_no_iast 1.727 ms [1.703 ms, 1.751 ms] 361.349 µs (26.5%)
iast 1.481 ms [1.458 ms, 1.504 ms] 115.316 µs (8.4%)
profiling 1.529 ms [1.503 ms, 1.554 ms] 162.633 µs (11.9%)
tracing 1.498 ms [1.471 ms, 1.524 ms] 131.638 µs (9.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.363 ms [1.344 ms, 1.382 ms] -
appsec 1.751 ms [1.724 ms, 1.777 ms] 387.825 µs (28.5%)
appsec_no_iast 1.765 ms [1.741 ms, 1.789 ms] 402.407 µs (29.5%)
iast 1.481 ms [1.458 ms, 1.504 ms] 118.374 µs (8.7%)
profiling 1.553 ms [1.528 ms, 1.578 ms] 190.319 µs (14.0%)
tracing 1.46 ms [1.435 ms, 1.484 ms] 96.74 µs (7.1%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.36.0-SNAPSHOT~14f02fda23, baseline=1.36.0-SNAPSHOT~edb2c3fa17
    dateFormat X
    axisFormat %s
section baseline
no_agent (374.244 µs) : 354, 394
.   : milestone, 374,
iast (491.263 µs) : 470, 512
.   : milestone, 491,
iast_FULL (561.178 µs) : 540, 583
.   : milestone, 561,
iast_GLOBAL (514.94 µs) : 494, 536
.   : milestone, 515,
iast_HARDCODED_SECRET_DISABLED (487.55 µs) : 466, 509
.   : milestone, 488,
iast_INACTIVE (463.136 µs) : 442, 484
.   : milestone, 463,
iast_TELEMETRY_OFF (478.347 µs) : 457, 499
.   : milestone, 478,
tracing (447.873 µs) : 427, 469
.   : milestone, 448,
section candidate
no_agent (372.643 µs) : 353, 392
.   : milestone, 373,
iast (494.847 µs) : 474, 516
.   : milestone, 495,
iast_FULL (556.741 µs) : 536, 578
.   : milestone, 557,
iast_GLOBAL (509.108 µs) : 488, 530
.   : milestone, 509,
iast_HARDCODED_SECRET_DISABLED (491.799 µs) : 471, 513
.   : milestone, 492,
iast_INACTIVE (456.219 µs) : 435, 477
.   : milestone, 456,
iast_TELEMETRY_OFF (478.042 µs) : 457, 499
.   : milestone, 478,
tracing (450.198 µs) : 429, 471
.   : milestone, 450,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 374.244 µs [354.158 µs, 394.33 µs] -
iast 491.263 µs [470.114 µs, 512.413 µs] 117.019 µs (31.3%)
iast_FULL 561.178 µs [539.759 µs, 582.597 µs] 186.934 µs (49.9%)
iast_GLOBAL 514.94 µs [493.686 µs, 536.194 µs] 140.696 µs (37.6%)
iast_HARDCODED_SECRET_DISABLED 487.55 µs [466.348 µs, 508.752 µs] 113.306 µs (30.3%)
iast_INACTIVE 463.136 µs [441.959 µs, 484.313 µs] 88.892 µs (23.8%)
iast_TELEMETRY_OFF 478.347 µs [457.464 µs, 499.229 µs] 104.102 µs (27.8%)
tracing 447.873 µs [426.836 µs, 468.909 µs] 73.628 µs (19.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 372.643 µs [352.947 µs, 392.339 µs] -
iast 494.847 µs [473.592 µs, 516.102 µs] 122.204 µs (32.8%)
iast_FULL 556.741 µs [535.812 µs, 577.671 µs] 184.099 µs (49.4%)
iast_GLOBAL 509.108 µs [488.234 µs, 529.982 µs] 136.466 µs (36.6%)
iast_HARDCODED_SECRET_DISABLED 491.799 µs [470.77 µs, 512.827 µs] 119.156 µs (32.0%)
iast_INACTIVE 456.219 µs [435.414 µs, 477.025 µs] 83.577 µs (22.4%)
iast_TELEMETRY_OFF 478.042 µs [456.901 µs, 499.182 µs] 105.399 µs (28.3%)
tracing 450.198 µs [429.387 µs, 471.009 µs] 77.555 µs (20.8%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/map-otel-http.response.status_code-to-http.status_code
git_commit_date 1717749941 1717754510
git_commit_sha edb2c3f 14f02fd
release_version 1.36.0-SNAPSHOT~edb2c3fa17 1.36.0-SNAPSHOT~14f02fda23
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1717757257 1717757257
ci_job_id 535768876 535768876
ci_pipeline_id 36141063 36141063
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.36.0-SNAPSHOT~14f02fda23, baseline=1.36.0-SNAPSHOT~edb2c3fa17
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.463 ms) : 1451, 1474
.   : milestone, 1463,
appsec (2.21 ms) : 2176, 2245
.   : milestone, 2210,
iast (1.963 ms) : 1922, 2004
.   : milestone, 1963,
iast_GLOBAL (2.009 ms) : 1967, 2050
.   : milestone, 2009,
profiling (1.865 ms) : 1831, 1899
.   : milestone, 1865,
tracing (1.828 ms) : 1796, 1861
.   : milestone, 1828,
section candidate
no_agent (1.475 ms) : 1463, 1486
.   : milestone, 1475,
appsec (2.211 ms) : 2176, 2246
.   : milestone, 2211,
iast (1.961 ms) : 1920, 2001
.   : milestone, 1961,
iast_GLOBAL (2.011 ms) : 1969, 2052
.   : milestone, 2011,
profiling (1.848 ms) : 1814, 1882
.   : milestone, 1848,
tracing (1.83 ms) : 1798, 1862
.   : milestone, 1830,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.463 ms [1.451 ms, 1.474 ms] -
appsec 2.21 ms [2.176 ms, 2.245 ms] 747.443 µs (51.1%)
iast 1.963 ms [1.922 ms, 2.004 ms] 500.426 µs (34.2%)
iast_GLOBAL 2.009 ms [1.967 ms, 2.05 ms] 545.644 µs (37.3%)
profiling 1.865 ms [1.831 ms, 1.899 ms] 402.185 µs (27.5%)
tracing 1.828 ms [1.796 ms, 1.861 ms] 365.596 µs (25.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.463 ms, 1.486 ms] -
appsec 2.211 ms [2.176 ms, 2.246 ms] 736.271 µs (49.9%)
iast 1.961 ms [1.92 ms, 2.001 ms] 486.061 µs (33.0%)
iast_GLOBAL 2.011 ms [1.969 ms, 2.052 ms] 535.852 µs (36.3%)
profiling 1.848 ms [1.814 ms, 1.882 ms] 373.333 µs (25.3%)
tracing 1.83 ms [1.798 ms, 1.862 ms] 354.923 µs (24.1%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.36.0-SNAPSHOT~14f02fda23, baseline=1.36.0-SNAPSHOT~edb2c3fa17
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.208 s) : 15208000, 15208000
.   : milestone, 15208000,
appsec (15.157 s) : 15157000, 15157000
.   : milestone, 15157000,
iast (18.997 s) : 18997000, 18997000
.   : milestone, 18997000,
iast_GLOBAL (17.862 s) : 17862000, 17862000
.   : milestone, 17862000,
profiling (15.257 s) : 15257000, 15257000
.   : milestone, 15257000,
tracing (14.922 s) : 14922000, 14922000
.   : milestone, 14922000,
section candidate
no_agent (15.051 s) : 15051000, 15051000
.   : milestone, 15051000,
appsec (14.991 s) : 14991000, 14991000
.   : milestone, 14991000,
iast (18.969 s) : 18969000, 18969000
.   : milestone, 18969000,
iast_GLOBAL (17.7 s) : 17700000, 17700000
.   : milestone, 17700000,
profiling (15.739 s) : 15739000, 15739000
.   : milestone, 15739000,
tracing (15.206 s) : 15206000, 15206000
.   : milestone, 15206000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.208 s [15.208 s, 15.208 s] -
appsec 15.157 s [15.157 s, 15.157 s] -51.0 ms (-0.3%)
iast 18.997 s [18.997 s, 18.997 s] 3.789 s (24.9%)
iast_GLOBAL 17.862 s [17.862 s, 17.862 s] 2.654 s (17.5%)
profiling 15.257 s [15.257 s, 15.257 s] 49.0 ms (0.3%)
tracing 14.922 s [14.922 s, 14.922 s] -286.0 ms (-1.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.051 s [15.051 s, 15.051 s] -
appsec 14.991 s [14.991 s, 14.991 s] -60.0 ms (-0.4%)
iast 18.969 s [18.969 s, 18.969 s] 3.918 s (26.0%)
iast_GLOBAL 17.7 s [17.7 s, 17.7 s] 2.649 s (17.6%)
profiling 15.739 s [15.739 s, 15.739 s] 688.0 ms (4.6%)
tracing 15.206 s [15.206 s, 15.206 s] 155.0 ms (1.0%)

Copy link
Contributor

@zarirhamza zarirhamza left a comment

Choose a reason for hiding this comment

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

http.request.status_code is an int value as per otel

BUT http.status_code is a string value following datadog standards

Just want to confirm, does this PR follow those standards?

@mcculls
Copy link
Contributor Author

mcculls commented Jun 7, 2024

Hi @zarirhamza - yes, setHttpStatusCode is the method used by all the web integrations.

If you want to follow the sequence it goes:

TL;DR is that this is the same method used by Datadog integrations in the Java tracer to set the HTTP statuis for a span, so given that is producing the right payloads this will also produce the expected payload.

@zarirhamza zarirhamza merged commit fff0006 into master Jun 7, 2024
81 checks passed
@zarirhamza zarirhamza deleted the mcculls/map-otel-http.response.status_code-to-http.status_code branch June 7, 2024 19:23
@github-actions github-actions bot added this to the 1.35.0 milestone Jun 7, 2024
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.

This PR also fixes an issue where the AttributeKey form of the setAttribute method was not covered for non-array reserved attributes.

Nice catch. Do you think I should also improve the original convention tests to check builder and attribute keys too?

@mcculls
Copy link
Contributor Author

mcculls commented Jun 10, 2024

Nice catch. Do you think I should also improve the original convention tests to check builder and attribute keys too?

Yes, it would be good to do at some point

@PerfectSlayer
Copy link
Contributor

I just made a PR about it.

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

Successfully merging this pull request may close these issues.

None yet

4 participants