Skip to content

Implement APIGW Inferred Proxy Spans #8336

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

Merged
merged 32 commits into from
May 7, 2025
Merged

Implement APIGW Inferred Proxy Spans #8336

merged 32 commits into from
May 7, 2025

Conversation

jordan-wong
Copy link
Contributor

@jordan-wong jordan-wong commented Feb 4, 2025

What Does This Do

Adds an inferred proxy span as the parent of http request spans if http headers with x-dd-proxy are detected

Motivation

We want to have observability of router/ proxy services like AWS API Gateway, that redirect client calls to various targets. There is distinct http header metadata available to us from http requests that can allow us to "infer" the presence of these proxy services.

Additional Notes

Contributor Checklist

Jira ticket: AIDM-547

@pr-commenter
Copy link

pr-commenter bot commented Feb 4, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master inferred-span-tags
git_commit_date 1746634696 1746634734
git_commit_sha 5a5e4a5 ce06b40
release_version 1.50.0-SNAPSHOT~5a5e4a54b8 1.50.0-SNAPSHOT~ce06b40d25
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1746637683 1746637683
ci_job_id 928447907 928447907
ci_pipeline_id 64427866 64427866
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-b8dt8fez-project-304-concurrent-1-xrtkwhvx 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-b8dt8fez-project-304-concurrent-1-xrtkwhvx 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~ce06b40d25, baseline=1.50.0-SNAPSHOT~5a5e4a54b8

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.02 s) : 0, 1020168
Total [baseline] (10.419 s) : 0, 10419442
Agent [candidate] (1.018 s) : 0, 1017550
Total [candidate] (10.399 s) : 0, 10399301
section appsec
Agent [baseline] (1.162 s) : 0, 1162274
Total [baseline] (10.675 s) : 0, 10675442
Agent [candidate] (1.157 s) : 0, 1157180
Total [candidate] (10.702 s) : 0, 10702060
section iast
Agent [baseline] (1.144 s) : 0, 1144339
Total [baseline] (10.833 s) : 0, 10833499
Agent [candidate] (1.148 s) : 0, 1148338
Total [candidate] (10.843 s) : 0, 10842986
section profiling
Agent [baseline] (1.278 s) : 0, 1277964
Total [baseline] (10.804 s) : 0, 10804431
Agent [candidate] (1.279 s) : 0, 1279040
Total [candidate] (10.812 s) : 0, 10811797
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.02 s -
Agent appsec 1.162 s 142.106 ms (13.9%)
Agent iast 1.144 s 124.171 ms (12.2%)
Agent profiling 1.278 s 257.796 ms (25.3%)
Total tracing 10.419 s -
Total appsec 10.675 s 255.999 ms (2.5%)
Total iast 10.833 s 414.057 ms (4.0%)
Total profiling 10.804 s 384.988 ms (3.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.018 s -
Agent appsec 1.157 s 139.63 ms (13.7%)
Agent iast 1.148 s 130.788 ms (12.9%)
Agent profiling 1.279 s 261.49 ms (25.7%)
Total tracing 10.399 s -
Total appsec 10.702 s 302.759 ms (2.9%)
Total iast 10.843 s 443.684 ms (4.3%)
Total profiling 10.812 s 412.496 ms (4.0%)
gantt
    title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~ce06b40d25, baseline=1.50.0-SNAPSHOT~5a5e4a54b8

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (681.648 ms) : 0, 681648
BytebuddyAgent [candidate] (681.837 ms) : 0, 681837
GlobalTracer [baseline] (239.169 ms) : 0, 239169
GlobalTracer [candidate] (239.566 ms) : 0, 239566
AppSec [baseline] (54.865 ms) : 0, 54865
AppSec [candidate] (54.611 ms) : 0, 54611
Debugger [baseline] (11.455 ms) : 0, 11455
Debugger [candidate] (7.607 ms) : 0, 7607
Remote Config [baseline] (678.737 µs) : 0, 679
Remote Config [candidate] (691.424 µs) : 0, 691
Telemetry [baseline] (8.895 ms) : 0, 8895
Telemetry [candidate] (9.814 ms) : 0, 9814
section appsec
BytebuddyAgent [baseline] (701.045 ms) : 0, 701045
BytebuddyAgent [candidate] (697.645 ms) : 0, 697645
GlobalTracer [baseline] (237.109 ms) : 0, 237109
GlobalTracer [candidate] (236.029 ms) : 0, 236029
AppSec [baseline] (175.771 ms) : 0, 175771
AppSec [candidate] (174.957 ms) : 0, 174957
Debugger [baseline] (5.945 ms) : 0, 5945
Debugger [candidate] (5.937 ms) : 0, 5937
Remote Config [baseline] (618.996 µs) : 0, 619
Remote Config [candidate] (616.097 µs) : 0, 616
Telemetry [baseline] (7.429 ms) : 0, 7429
Telemetry [candidate] (7.777 ms) : 0, 7777
IAST [baseline] (21.685 ms) : 0, 21685
IAST [candidate] (21.635 ms) : 0, 21635
section iast
BytebuddyAgent [baseline] (799.354 ms) : 0, 799354
BytebuddyAgent [candidate] (801.688 ms) : 0, 801688
GlobalTracer [baseline] (229.497 ms) : 0, 229497
GlobalTracer [candidate] (230.371 ms) : 0, 230371
AppSec [baseline] (49.113 ms) : 0, 49113
AppSec [candidate] (50.453 ms) : 0, 50453
Debugger [baseline] (5.87 ms) : 0, 5870
Debugger [candidate] (5.869 ms) : 0, 5869
Remote Config [baseline] (584.254 µs) : 0, 584
Remote Config [candidate] (601.426 µs) : 0, 601
Telemetry [baseline] (7.779 ms) : 0, 7779
Telemetry [candidate] (7.837 ms) : 0, 7837
IAST [baseline] (27.295 ms) : 0, 27295
IAST [candidate] (26.62 ms) : 0, 26620
section profiling
ProfilingAgent [baseline] (103.136 ms) : 0, 103136
ProfilingAgent [candidate] (104.359 ms) : 0, 104359
BytebuddyAgent [baseline] (676.388 ms) : 0, 676388
BytebuddyAgent [candidate] (675.825 ms) : 0, 675825
GlobalTracer [baseline] (378.064 ms) : 0, 378064
GlobalTracer [candidate] (379.055 ms) : 0, 379055
AppSec [baseline] (54.732 ms) : 0, 54732
AppSec [candidate] (54.109 ms) : 0, 54109
Debugger [baseline] (6.143 ms) : 0, 6143
Debugger [candidate] (6.218 ms) : 0, 6218
Remote Config [baseline] (662.302 µs) : 0, 662
Remote Config [candidate] (649.694 µs) : 0, 650
Telemetry [baseline] (8.114 ms) : 0, 8114
Telemetry [candidate] (8.172 ms) : 0, 8172
Profiling [baseline] (103.16 ms) : 0, 103160
Profiling [candidate] (104.384 ms) : 0, 104384
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~ce06b40d25, baseline=1.50.0-SNAPSHOT~5a5e4a54b8

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.019 s) : 0, 1019034
Total [baseline] (8.643 s) : 0, 8642743
Agent [candidate] (1.024 s) : 0, 1024417
Total [candidate] (8.638 s) : 0, 8638170
section iast
Agent [baseline] (1.146 s) : 0, 1145690
Total [baseline] (9.181 s) : 0, 9180511
Agent [candidate] (1.149 s) : 0, 1148899
Total [candidate] (9.198 s) : 0, 9198109
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.145 s) : 0, 1145111
Total [baseline] (9.196 s) : 0, 9196358
Agent [candidate] (1.149 s) : 0, 1148970
Total [candidate] (9.175 s) : 0, 9174755
section iast_TELEMETRY_OFF
Agent [baseline] (1.143 s) : 0, 1143381
Total [baseline] (9.21 s) : 0, 9209553
Agent [candidate] (1.14 s) : 0, 1140132
Total [candidate] (9.162 s) : 0, 9162075
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.019 s -
Agent iast 1.146 s 126.657 ms (12.4%)
Agent iast_HARDCODED_SECRET_DISABLED 1.145 s 126.077 ms (12.4%)
Agent iast_TELEMETRY_OFF 1.143 s 124.347 ms (12.2%)
Total tracing 8.643 s -
Total iast 9.181 s 537.769 ms (6.2%)
Total iast_HARDCODED_SECRET_DISABLED 9.196 s 553.615 ms (6.4%)
Total iast_TELEMETRY_OFF 9.21 s 566.811 ms (6.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.024 s -
Agent iast 1.149 s 124.482 ms (12.2%)
Agent iast_HARDCODED_SECRET_DISABLED 1.149 s 124.553 ms (12.2%)
Agent iast_TELEMETRY_OFF 1.14 s 115.715 ms (11.3%)
Total tracing 8.638 s -
Total iast 9.198 s 559.939 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.175 s 536.584 ms (6.2%)
Total iast_TELEMETRY_OFF 9.162 s 523.904 ms (6.1%)
gantt
    title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~ce06b40d25, baseline=1.50.0-SNAPSHOT~5a5e4a54b8

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (682.216 ms) : 0, 682216
BytebuddyAgent [candidate] (686.265 ms) : 0, 686265
GlobalTracer [baseline] (239.339 ms) : 0, 239339
GlobalTracer [candidate] (241.335 ms) : 0, 241335
AppSec [baseline] (55.291 ms) : 0, 55291
AppSec [candidate] (55.326 ms) : 0, 55326
Debugger [baseline] (9.067 ms) : 0, 9067
Debugger [candidate] (9.029 ms) : 0, 9029
Remote Config [baseline] (685.437 µs) : 0, 685
Remote Config [candidate] (670.164 µs) : 0, 670
Telemetry [baseline] (9.05 ms) : 0, 9050
Telemetry [candidate] (8.257 ms) : 0, 8257
section iast
BytebuddyAgent [baseline] (799.897 ms) : 0, 799897
BytebuddyAgent [candidate] (800.802 ms) : 0, 800802
GlobalTracer [baseline] (230.048 ms) : 0, 230048
GlobalTracer [candidate] (231.32 ms) : 0, 231320
IAST [baseline] (27.35 ms) : 0, 27350
IAST [candidate] (27.523 ms) : 0, 27523
AppSec [baseline] (50.815 ms) : 0, 50815
AppSec [candidate] (51.392 ms) : 0, 51392
Debugger [baseline] (5.86 ms) : 0, 5860
Debugger [candidate] (5.997 ms) : 0, 5997
Remote Config [baseline] (579.159 µs) : 0, 579
Remote Config [candidate] (602.114 µs) : 0, 602
Telemetry [baseline] (7.776 ms) : 0, 7776
Telemetry [candidate] (7.884 ms) : 0, 7884
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (798.728 ms) : 0, 798728
BytebuddyAgent [candidate] (801.565 ms) : 0, 801565
GlobalTracer [baseline] (229.91 ms) : 0, 229910
GlobalTracer [candidate] (230.458 ms) : 0, 230458
IAST [baseline] (25.163 ms) : 0, 25163
IAST [candidate] (23.515 ms) : 0, 23515
AppSec [baseline] (50.355 ms) : 0, 50355
AppSec [candidate] (52.413 ms) : 0, 52413
Debugger [baseline] (5.893 ms) : 0, 5893
Debugger [candidate] (5.901 ms) : 0, 5901
Remote Config [baseline] (582.151 µs) : 0, 582
Remote Config [candidate] (572.296 µs) : 0, 572
Telemetry [baseline] (7.889 ms) : 0, 7889
Telemetry [candidate] (7.9 ms) : 0, 7900
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (797.052 ms) : 0, 797052
BytebuddyAgent [candidate] (794.815 ms) : 0, 794815
GlobalTracer [baseline] (229.783 ms) : 0, 229783
GlobalTracer [candidate] (229.46 ms) : 0, 229460
IAST [baseline] (22.45 ms) : 0, 22450
IAST [candidate] (23.039 ms) : 0, 23039
AppSec [baseline] (56.398 ms) : 0, 56398
AppSec [candidate] (55.244 ms) : 0, 55244
Debugger [baseline] (5.924 ms) : 0, 5924
Debugger [candidate] (5.933 ms) : 0, 5933
Remote Config [baseline] (597.12 µs) : 0, 597
Remote Config [candidate] (590.743 µs) : 0, 591
Telemetry [baseline] (7.766 ms) : 0, 7766
Telemetry [candidate] (7.785 ms) : 0, 7785
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-05-07T16:40:30 2025-05-07T16:48:17
git_branch master inferred-span-tags
git_commit_date 1746634696 1746634734
git_commit_sha 5a5e4a5 ce06b40
release_version 1.50.0-SNAPSHOT~5a5e4a54b8 1.50.0-SNAPSHOT~ce06b40d25
start_time 2025-05-07T16:40:16 2025-05-07T16:48:02
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1746636897 1746636897
ci_job_id 928447908 928447908
ci_pipeline_id 64427866 64427866
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-kkuvrsnd-project-304-concurrent-0-fn2hgbii 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-kkuvrsnd-project-304-concurrent-0-fn2hgbii 6.8.0-1027-aws #29~22.04.1-Ubuntu SMP Sun Mar 30 07:45:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

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

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:petclinic:profiling worse
[+59.932µs; +112.668µs] or [+3.976%; +7.474%]
unstable
[-657.482op/s; +429.562op/s] or [-21.368%; +13.961%]
1.594ms 2962.963op/s 1.507ms 3076.923op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~ce06b40d25, baseline=1.50.0-SNAPSHOT~5a5e4a54b8
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.373 ms) : 1353, 1392
.   : milestone, 1373,
appsec (1.751 ms) : 1727, 1775
.   : milestone, 1751,
appsec_no_iast (1.754 ms) : 1731, 1778
.   : milestone, 1754,
code_origins (1.675 ms) : 1648, 1702
.   : milestone, 1675,
iast (1.517 ms) : 1493, 1541
.   : milestone, 1517,
profiling (1.507 ms) : 1484, 1531
.   : milestone, 1507,
tracing (1.52 ms) : 1495, 1545
.   : milestone, 1520,
section candidate
no_agent (1.371 ms) : 1351, 1390
.   : milestone, 1371,
appsec (1.747 ms) : 1723, 1771
.   : milestone, 1747,
appsec_no_iast (1.746 ms) : 1723, 1769
.   : milestone, 1746,
code_origins (1.675 ms) : 1648, 1701
.   : milestone, 1675,
iast (1.524 ms) : 1500, 1548
.   : milestone, 1524,
profiling (1.594 ms) : 1568, 1619
.   : milestone, 1594,
tracing (1.512 ms) : 1487, 1537
.   : milestone, 1512,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.373 ms [1.353 ms, 1.392 ms] -
appsec 1.751 ms [1.727 ms, 1.775 ms] 378.491 µs (27.6%)
appsec_no_iast 1.754 ms [1.731 ms, 1.778 ms] 381.823 µs (27.8%)
code_origins 1.675 ms [1.648 ms, 1.702 ms] 302.137 µs (22.0%)
iast 1.517 ms [1.493 ms, 1.541 ms] 144.535 µs (10.5%)
profiling 1.507 ms [1.484 ms, 1.531 ms] 134.856 µs (9.8%)
tracing 1.52 ms [1.495 ms, 1.545 ms] 147.267 µs (10.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.371 ms [1.351 ms, 1.39 ms] -
appsec 1.747 ms [1.723 ms, 1.771 ms] 376.193 µs (27.4%)
appsec_no_iast 1.746 ms [1.723 ms, 1.769 ms] 375.424 µs (27.4%)
code_origins 1.675 ms [1.648 ms, 1.701 ms] 303.781 µs (22.2%)
iast 1.524 ms [1.5 ms, 1.548 ms] 153.335 µs (11.2%)
profiling 1.594 ms [1.568 ms, 1.619 ms] 222.973 µs (16.3%)
tracing 1.512 ms [1.487 ms, 1.537 ms] 141.228 µs (10.3%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~ce06b40d25, baseline=1.50.0-SNAPSHOT~5a5e4a54b8
    dateFormat X
    axisFormat %s
section baseline
no_agent (390.782 µs) : 369, 413
.   : milestone, 391,
iast (527.828 µs) : 506, 550
.   : milestone, 528,
iast_FULL (740.942 µs) : 719, 763
.   : milestone, 741,
iast_GLOBAL (574.691 µs) : 553, 597
.   : milestone, 575,
iast_HARDCODED_SECRET_DISABLED (523.253 µs) : 500, 546
.   : milestone, 523,
iast_INACTIVE (471.996 µs) : 449, 494
.   : milestone, 472,
iast_TELEMETRY_OFF (517.507 µs) : 494, 541
.   : milestone, 518,
tracing (473.804 µs) : 451, 496
.   : milestone, 474,
section candidate
no_agent (389.899 µs) : 370, 410
.   : milestone, 390,
iast (532.569 µs) : 511, 554
.   : milestone, 533,
iast_FULL (743.451 µs) : 722, 765
.   : milestone, 743,
iast_GLOBAL (576.437 µs) : 553, 600
.   : milestone, 576,
iast_HARDCODED_SECRET_DISABLED (529.016 µs) : 507, 551
.   : milestone, 529,
iast_INACTIVE (483.951 µs) : 461, 507
.   : milestone, 484,
iast_TELEMETRY_OFF (515.638 µs) : 492, 539
.   : milestone, 516,
tracing (470.502 µs) : 448, 493
.   : milestone, 471,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 390.782 µs [368.97 µs, 412.595 µs] -
iast 527.828 µs [505.69 µs, 549.967 µs] 137.046 µs (35.1%)
iast_FULL 740.942 µs [719.171 µs, 762.713 µs] 350.159 µs (89.6%)
iast_GLOBAL 574.691 µs [552.79 µs, 596.592 µs] 183.909 µs (47.1%)
iast_HARDCODED_SECRET_DISABLED 523.253 µs [500.018 µs, 546.489 µs] 132.471 µs (33.9%)
iast_INACTIVE 471.996 µs [449.493 µs, 494.499 µs] 81.214 µs (20.8%)
iast_TELEMETRY_OFF 517.507 µs [494.065 µs, 540.949 µs] 126.725 µs (32.4%)
tracing 473.804 µs [451.214 µs, 496.394 µs] 83.021 µs (21.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 389.899 µs [370.012 µs, 409.786 µs] -
iast 532.569 µs [510.728 µs, 554.409 µs] 142.669 µs (36.6%)
iast_FULL 743.451 µs [721.672 µs, 765.23 µs] 353.552 µs (90.7%)
iast_GLOBAL 576.437 µs [552.788 µs, 600.086 µs] 186.538 µs (47.8%)
iast_HARDCODED_SECRET_DISABLED 529.016 µs [506.573 µs, 551.459 µs] 139.117 µs (35.7%)
iast_INACTIVE 483.951 µs [461.238 µs, 506.665 µs] 94.052 µs (24.1%)
iast_TELEMETRY_OFF 515.638 µs [492.166 µs, 539.11 µs] 125.738 µs (32.2%)
tracing 470.502 µs [448.393 µs, 492.612 µs] 80.603 µs (20.7%)

Dacapo

Copy link
Contributor

Hi! 👋 Looks like you updated a Git Submodule.
If this was not intentional please make sure to:

@jordan-wong jordan-wong marked this pull request as ready for review April 22, 2025 13:51
@jordan-wong jordan-wong requested a review from a team as a code owner April 22, 2025 13:51
@jordan-wong jordan-wong requested a review from smola April 22, 2025 13:51
Copy link
Contributor

github-actions bot commented Apr 22, 2025

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.

@smola smola requested review from a team and amarziali and removed request for a team and smola April 23, 2025 06:39
Copy link
Contributor

Hi! 👋 Looks like you updated a Git Submodule.
If this was not intentional please make sure to:

Copy link
Contributor

github-actions bot commented May 1, 2025

Hi! 👋 Looks like you updated a Git Submodule.
If this was not intentional please make sure to:

@mcculls
Copy link
Contributor

mcculls commented May 1, 2025

Update integrations-core submodule to latest master

you need to set the sub-module back to the version it has on master, which is the 7.60.1 tag:

cd dd-java-agent/agent-jmxfetch/integrations-core
git checkout 7.60.1
cd ../../..
git add dd-java-agent
git commit -m "Undo change to integrations-core submodule"

then follow the instructions here so you don't accidentally change the submodule version when switching between old and new branches.

@amarziali amarziali removed this from the 1.49.0 milestone May 6, 2025
@zarirhamza zarirhamza added this to the 1.50.0 milestone May 6, 2025
@zarirhamza zarirhamza added type: feature request comp: context propagation Trace context propagation and removed type: enhancement comp: api Tracer public API labels May 6, 2025
@zarirhamza zarirhamza enabled auto-merge (squash) May 7, 2025 16:19
InferredProxyContextExtractor() {}

private Map<String, String> parseInferredProxyHeaders(String input) {
Map<String, String> parsedHeaders = new HashMap<>();
Copy link
Contributor

Choose a reason for hiding this comment

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

What's happening here?
If this always, returns an empty Map - Collections.emptyMap might be better.
It depends on whether or not you need the map to be mutable.

Copy link
Contributor

@dougqh dougqh left a comment

Choose a reason for hiding this comment

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

I have one question about parseInferredProxyHeaders which appears to always return an empty Map. If that's the case, then returning Collections.emptyMap() would be better.

@zarirhamza zarirhamza merged commit 5098c6f into master May 7, 2025
454 of 455 checks passed
@zarirhamza zarirhamza deleted the inferred-span-tags branch May 7, 2025 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants