Skip to content

Fix Synapse 3.0 instrumentation bugs and harden span propagation#10892

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 3 commits intomasterfrom
brian.marks/fix-synapse-instrumentation-bugs
Apr 15, 2026
Merged

Fix Synapse 3.0 instrumentation bugs and harden span propagation#10892
gh-worker-dd-mergequeue-cf854d[bot] merged 3 commits intomasterfrom
brian.marks/fix-synapse-instrumentation-bugs

Conversation

@bm1549
Copy link
Copy Markdown
Contributor

@bm1549 bm1549 commented Mar 18, 2026

What Does This Do

Fixes three deterministic bugs in the Synapse 3.0 instrumentation and hardens span propagation across the passthru mechanism.

Motivation

The Synapse tests have been @Flaky since 2023. Investigation revealed three deterministic bugs introduced or exposed over time:

Bug 1: Key mismatch in PassthruInstrumentation

PR #9422 renamed the context key constant in SynapseClientDecorator from "dd.trace.synapse.span" to "dd.trace.synapse.context" but forgot to update the hardcoded string literal in SynapsePassthruInstrumentation. The client instrumentation could never find the parent span, breaking trace linkage in proxy scenarios.

Fix: Use the SYNAPSE_CONTEXT_KEY constant instead of the hardcoded string.

Bug 2: http.url test assertion wrong

QueryObfuscator (a tag post-processor) intentionally recombines http.url + http.query.string after obfuscation. The test expected path-only http.url but the actual value correctly includes the query string -- matching the behavior of all other HTTP server instrumentation tests.

Fix: Updated serverSpan assertion to include the query string in http.url when present.

Bug 3: Missing peer.service in V1 client spans

SynapseClientDecorator.url() returns relative URIs (no host), so UriBasedClientDecorator.onURI() never set peer.hostname. Without it, V1 naming (PeerServiceNamingV1) can't compute peer.service.

Fix: Added peer hostname/IP/port extraction from NHttpClientConnection in ClientRequestAdvice, delegating to BaseDecorator.onPeerConnection() which correctly handles IPv4/IPv6 classification and respects the trace.peer.hostname.enabled config toggle.

Robustness: Connection-based span propagation

SourceHandler.requestReceived() dispatches request processing to a worker thread pool (NativeWorkerPool -> ThreadPoolExecutor). The passthru advice previously relied on activeSpan() (thread-local) which depends on java-concurrent instrumentation propagating context across the thread pool. The fix reads the server span directly from the source connection's context (where SynapseServerInstrumentation stored it), with activeSpan() as fallback.

Additional Notes

  • @Flaky annotation removed from the forked test classes since the underlying bugs are fixed
  • All 10 Synapse forked tests pass consistently across 50+ local runs
  • No changes to public API or behavior -- fixes are internal to the instrumentation and test assertions

Contributor Checklist

  • Format the title according to the contribution guidelines
  • Assign the type: and (comp: or inst:) labels
  • Avoid using close, fix, or any linking keywords when referencing an issue
  • Update the CODEOWNERS file on source file addition, migration, or deletion (N/A -- no files added/removed)
  • Update public documentation (N/A -- no new configuration flags or behaviors)

Jira ticket: N/A

tag: ai generated
tag: no release note

Three deterministic bugs fixed:

1. Key mismatch in PassthruInstrumentation: PR #9422 renamed the context
   key constant but forgot to update the hardcoded string literal in
   SynapsePassthruInstrumentation, breaking parent span propagation
   across the passthru mechanism.

2. http.url test assertion: QueryObfuscator recombines http.url with the
   query string after obfuscation. The test expected path-only but the
   actual value correctly includes the query string.

3. Missing peer.service in V1 client spans: SynapseClientDecorator
   returns relative URIs (no host), so peer.hostname was never set.
   Added peer hostname/IP/port extraction from NHttpClientConnection.

Additionally, hardened the passthru span propagation to read the server
span directly from the source connection context rather than relying
solely on activeSpan(). SourceHandler.requestReceived() dispatches to a
worker thread pool, and while java-concurrent instrumentation normally
handles context propagation across ThreadPoolExecutor, the connection-
based lookup is more robust.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bm1549 bm1549 added type: bug Bug report and fix tag: no release notes Changes to exclude from release notes tag: ai generated Largely based on code generated by an AI or LLM inst: synapse Synapse Instrumentation labels Mar 18, 2026
@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Mar 18, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master brian.marks/fix-synapse-instrumentation-bugs
git_commit_date 1776176155 1776177564
git_commit_sha 8d3cec3 75bcdaa
release_version 1.62.0-SNAPSHOT~8d3cec3b17 1.61.0-SNAPSHOT~75bcdaadb3
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1776179516 1776179516
ci_job_id 1593766760 1593766760
ci_pipeline_id 107605994 107605994
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-7muqkyce 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-7muqkyce 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 60 metrics, 11 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~75bcdaadb3, baseline=1.62.0-SNAPSHOT~8d3cec3b17

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.066 s) : 0, 1066491
Total [baseline] (11.087 s) : 0, 11087183
Agent [candidate] (1.059 s) : 0, 1059055
Total [candidate] (11.065 s) : 0, 11064785
section appsec
Agent [baseline] (1.247 s) : 0, 1247263
Total [baseline] (11.178 s) : 0, 11177955
Agent [candidate] (1.252 s) : 0, 1252001
Total [candidate] (11.109 s) : 0, 11109499
section iast
Agent [baseline] (1.225 s) : 0, 1225454
Total [baseline] (11.193 s) : 0, 11193190
Agent [candidate] (1.222 s) : 0, 1221723
Total [candidate] (11.239 s) : 0, 11239250
section profiling
Agent [baseline] (1.191 s) : 0, 1191063
Total [baseline] (10.94 s) : 0, 10940156
Agent [candidate] (1.192 s) : 0, 1191715
Total [candidate] (11.054 s) : 0, 11054478
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.066 s -
Agent appsec 1.247 s 180.772 ms (17.0%)
Agent iast 1.225 s 158.963 ms (14.9%)
Agent profiling 1.191 s 124.572 ms (11.7%)
Total tracing 11.087 s -
Total appsec 11.178 s 90.772 ms (0.8%)
Total iast 11.193 s 106.007 ms (1.0%)
Total profiling 10.94 s -147.027 ms (-1.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent appsec 1.252 s 192.946 ms (18.2%)
Agent iast 1.222 s 162.668 ms (15.4%)
Agent profiling 1.192 s 132.66 ms (12.5%)
Total tracing 11.065 s -
Total appsec 11.109 s 44.713 ms (0.4%)
Total iast 11.239 s 174.465 ms (1.6%)
Total profiling 11.054 s -10.307 ms (-0.1%)
gantt
    title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~75bcdaadb3, baseline=1.62.0-SNAPSHOT~8d3cec3b17

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.241 ms) : 0, 1241
crashtracking [candidate] (1.209 ms) : 0, 1209
BytebuddyAgent [baseline] (638.413 ms) : 0, 638413
BytebuddyAgent [candidate] (633.908 ms) : 0, 633908
AgentMeter [baseline] (29.602 ms) : 0, 29602
AgentMeter [candidate] (29.404 ms) : 0, 29404
GlobalTracer [baseline] (250.403 ms) : 0, 250403
GlobalTracer [candidate] (248.798 ms) : 0, 248798
AppSec [baseline] (32.568 ms) : 0, 32568
AppSec [candidate] (32.412 ms) : 0, 32412
Debugger [baseline] (60.205 ms) : 0, 60205
Debugger [candidate] (60.138 ms) : 0, 60138
Remote Config [baseline] (595.3 µs) : 0, 595
Remote Config [candidate] (590.868 µs) : 0, 591
Telemetry [baseline] (8.074 ms) : 0, 8074
Telemetry [candidate] (8.109 ms) : 0, 8109
Flare Poller [baseline] (9.059 ms) : 0, 9059
Flare Poller [candidate] (8.379 ms) : 0, 8379
section appsec
crashtracking [baseline] (1.234 ms) : 0, 1234
crashtracking [candidate] (1.224 ms) : 0, 1224
BytebuddyAgent [baseline] (661.3 ms) : 0, 661300
BytebuddyAgent [candidate] (663.323 ms) : 0, 663323
AgentMeter [baseline] (12.043 ms) : 0, 12043
AgentMeter [candidate] (12.136 ms) : 0, 12136
GlobalTracer [baseline] (248.716 ms) : 0, 248716
GlobalTracer [candidate] (249.957 ms) : 0, 249957
AppSec [baseline] (184.96 ms) : 0, 184960
AppSec [candidate] (185.469 ms) : 0, 185469
Debugger [baseline] (65.571 ms) : 0, 65571
Debugger [candidate] (66.238 ms) : 0, 66238
Remote Config [baseline] (615.537 µs) : 0, 616
Remote Config [candidate] (604.367 µs) : 0, 604
Telemetry [baseline] (8.306 ms) : 0, 8306
Telemetry [candidate] (8.367 ms) : 0, 8367
Flare Poller [baseline] (3.465 ms) : 0, 3465
Flare Poller [candidate] (3.567 ms) : 0, 3567
IAST [baseline] (24.633 ms) : 0, 24633
IAST [candidate] (24.652 ms) : 0, 24652
section iast
crashtracking [baseline] (1.249 ms) : 0, 1249
crashtracking [candidate] (1.224 ms) : 0, 1224
BytebuddyAgent [baseline] (801.158 ms) : 0, 801158
BytebuddyAgent [candidate] (799.26 ms) : 0, 799260
AgentMeter [baseline] (11.333 ms) : 0, 11333
AgentMeter [candidate] (11.322 ms) : 0, 11322
GlobalTracer [baseline] (240.082 ms) : 0, 240082
GlobalTracer [candidate] (239.008 ms) : 0, 239008
AppSec [baseline] (33.861 ms) : 0, 33861
AppSec [candidate] (32.546 ms) : 0, 32546
Debugger [baseline] (58.712 ms) : 0, 58712
Debugger [candidate] (60.186 ms) : 0, 60186
Remote Config [baseline] (526.808 µs) : 0, 527
Remote Config [candidate] (528.437 µs) : 0, 528
Telemetry [baseline] (12.783 ms) : 0, 12783
Telemetry [candidate] (12.196 ms) : 0, 12196
Flare Poller [baseline] (3.457 ms) : 0, 3457
Flare Poller [candidate] (3.605 ms) : 0, 3605
IAST [baseline] (25.933 ms) : 0, 25933
IAST [candidate] (25.746 ms) : 0, 25746
section profiling
ProfilingAgent [baseline] (94.731 ms) : 0, 94731
ProfilingAgent [candidate] (94.232 ms) : 0, 94232
crashtracking [baseline] (1.182 ms) : 0, 1182
crashtracking [candidate] (1.184 ms) : 0, 1184
BytebuddyAgent [baseline] (694.794 ms) : 0, 694794
BytebuddyAgent [candidate] (696.789 ms) : 0, 696789
AgentMeter [baseline] (9.167 ms) : 0, 9167
AgentMeter [candidate] (9.093 ms) : 0, 9093
GlobalTracer [baseline] (208.588 ms) : 0, 208588
GlobalTracer [candidate] (208.255 ms) : 0, 208255
AppSec [baseline] (32.996 ms) : 0, 32996
AppSec [candidate] (32.732 ms) : 0, 32732
Debugger [baseline] (65.945 ms) : 0, 65945
Debugger [candidate] (65.819 ms) : 0, 65819
Remote Config [baseline] (587.797 µs) : 0, 588
Remote Config [candidate] (578.594 µs) : 0, 579
Telemetry [baseline] (7.909 ms) : 0, 7909
Telemetry [candidate] (7.869 ms) : 0, 7869
Flare Poller [baseline] (3.622 ms) : 0, 3622
Flare Poller [candidate] (3.627 ms) : 0, 3627
Profiling [baseline] (95.324 ms) : 0, 95324
Profiling [candidate] (94.809 ms) : 0, 94809
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~75bcdaadb3, baseline=1.62.0-SNAPSHOT~8d3cec3b17

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1055878
Total [baseline] (8.859 s) : 0, 8858599
Agent [candidate] (1.053 s) : 0, 1052888
Total [candidate] (8.813 s) : 0, 8812556
section iast
Agent [baseline] (1.225 s) : 0, 1224829
Total [baseline] (9.535 s) : 0, 9534820
Agent [candidate] (1.228 s) : 0, 1228307
Total [candidate] (9.526 s) : 0, 9526320
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent iast 1.225 s 168.951 ms (16.0%)
Total tracing 8.859 s -
Total iast 9.535 s 676.222 ms (7.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.053 s -
Agent iast 1.228 s 175.419 ms (16.7%)
Total tracing 8.813 s -
Total iast 9.526 s 713.763 ms (8.1%)
gantt
    title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~75bcdaadb3, baseline=1.62.0-SNAPSHOT~8d3cec3b17

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.252 ms) : 0, 1252
crashtracking [candidate] (1.223 ms) : 0, 1223
BytebuddyAgent [baseline] (634.938 ms) : 0, 634938
BytebuddyAgent [candidate] (631.715 ms) : 0, 631715
AgentMeter [baseline] (29.294 ms) : 0, 29294
AgentMeter [candidate] (29.268 ms) : 0, 29268
GlobalTracer [baseline] (247.431 ms) : 0, 247431
GlobalTracer [candidate] (248.096 ms) : 0, 248096
AppSec [baseline] (32.425 ms) : 0, 32425
AppSec [candidate] (32.303 ms) : 0, 32303
Debugger [baseline] (59.091 ms) : 0, 59091
Debugger [candidate] (58.939 ms) : 0, 58939
Remote Config [baseline] (590.198 µs) : 0, 590
Remote Config [candidate] (587.344 µs) : 0, 587
Telemetry [baseline] (8.028 ms) : 0, 8028
Telemetry [candidate] (8.047 ms) : 0, 8047
Flare Poller [baseline] (6.695 ms) : 0, 6695
Flare Poller [candidate] (6.624 ms) : 0, 6624
section iast
crashtracking [baseline] (1.23 ms) : 0, 1230
crashtracking [candidate] (1.223 ms) : 0, 1223
BytebuddyAgent [baseline] (803.096 ms) : 0, 803096
BytebuddyAgent [candidate] (804.815 ms) : 0, 804815
AgentMeter [baseline] (11.365 ms) : 0, 11365
AgentMeter [candidate] (11.596 ms) : 0, 11596
GlobalTracer [baseline] (238.63 ms) : 0, 238630
GlobalTracer [candidate] (239.602 ms) : 0, 239602
IAST [baseline] (25.75 ms) : 0, 25750
IAST [candidate] (25.935 ms) : 0, 25935
AppSec [baseline] (29.641 ms) : 0, 29641
AppSec [candidate] (31.512 ms) : 0, 31512
Debugger [baseline] (60.814 ms) : 0, 60814
Debugger [candidate] (60.556 ms) : 0, 60556
Remote Config [baseline] (1.147 ms) : 0, 1147
Remote Config [candidate] (1.143 ms) : 0, 1143
Telemetry [baseline] (13.238 ms) : 0, 13238
Telemetry [candidate] (11.879 ms) : 0, 11879
Flare Poller [baseline] (3.556 ms) : 0, 3556
Flare Poller [candidate] (3.443 ms) : 0, 3443
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master brian.marks/fix-synapse-instrumentation-bugs
git_commit_date 1776176155 1776177564
git_commit_sha 8d3cec3 75bcdaa
release_version 1.62.0-SNAPSHOT~8d3cec3b17 1.61.0-SNAPSHOT~75bcdaadb3
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1776179998 1776179998
ci_job_id 1593766761 1593766761
ci_pipeline_id 107605994 107605994
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-22v9eaq2 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-22v9eaq2 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 2 performance improvements and 5 performance regressions! Performance is the same for 12 metrics, 17 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:iast:high_load worse
[+83.742µs; +176.284µs] or [+3.328%; +7.005%]
unsure
[+4.935µs; +420.047µs] or [+0.066%; +5.649%]
unstable
[-208.125op/s; +105.188op/s] or [-14.798%; +7.479%]
2.647ms 7.649ms 1354.969op/s 2.517ms 7.436ms 1406.438op/s
scenario:load:insecure-bank:iast_FULL:high_load worse
[+116.032µs; +441.622µs] or [+2.128%; +8.101%]
unsure
[+232.003µs; +1095.933µs] or [+1.797%; +8.489%]
unstable
[-115.282op/s; +42.719op/s] or [-15.251%; +5.651%]
5.730ms 13.574ms 719.625op/s 5.452ms 12.910ms 755.906op/s
scenario:load:petclinic:code_origins:high_load worse
[+494.850µs; +1008.382µs] or [+2.888%; +5.885%]
unsure
[+243.794µs; +1510.213µs] or [+0.860%; +5.330%]
unstable
[-36.691op/s; +20.253op/s] or [-13.885%; +7.664%]
17.888ms 29.211ms 256.031op/s 17.136ms 28.334ms 264.250op/s
scenario:load:petclinic:profiling:high_load worse
[+0.767ms; +1.561ms] or [+4.325%; +8.804%]
unsure
[+305.631µs; +1636.608µs] or [+1.053%; +5.640%]
unstable
[-39.057op/s; +16.119op/s] or [-15.305%; +6.317%]
18.894ms 29.989ms 243.719op/s 17.730ms 29.018ms 255.188op/s
scenario:load:petclinic:appsec:high_load better
[-2.488ms; -1.305ms] or [-12.435%; -6.520%]
better
[-3.768ms; -1.341ms] or [-11.746%; -4.182%]
unstable
[-7.109op/s; +46.672op/s] or [-3.054%; +20.052%]
18.113ms 29.523ms 252.531op/s 20.009ms 32.078ms 232.750op/s
scenario:load:petclinic:tracing:high_load worse
[+0.774ms; +1.549ms] or [+4.484%; +8.979%]
unsure
[+234.430µs; +1685.737µs] or [+0.820%; +5.899%]
unstable
[-42.412op/s; +14.600op/s] or [-16.067%; +5.531%]
18.411ms 29.536ms 250.062op/s 17.250ms 28.576ms 263.969op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~75bcdaadb3, baseline=1.62.0-SNAPSHOT~8d3cec3b17
    dateFormat X
    axisFormat %s
section baseline
no_agent (17.413 ms) : 17242, 17584
.   : milestone, 17413,
appsec (20.056 ms) : 19848, 20263
.   : milestone, 20056,
code_origins (17.657 ms) : 17483, 17830
.   : milestone, 17657,
iast (18.113 ms) : 17933, 18293
.   : milestone, 18113,
profiling (18.285 ms) : 18106, 18464
.   : milestone, 18285,
tracing (17.674 ms) : 17498, 17850
.   : milestone, 17674,
section candidate
no_agent (18.447 ms) : 18258, 18635
.   : milestone, 18447,
appsec (18.481 ms) : 18297, 18665
.   : milestone, 18481,
code_origins (18.225 ms) : 18041, 18409
.   : milestone, 18225,
iast (17.84 ms) : 17665, 18014
.   : milestone, 17840,
profiling (19.149 ms) : 18961, 19337
.   : milestone, 19149,
tracing (18.666 ms) : 18479, 18852
.   : milestone, 18666,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.413 ms [17.242 ms, 17.584 ms] -
appsec 20.056 ms [19.848 ms, 20.263 ms] 2.642 ms (15.2%)
code_origins 17.657 ms [17.483 ms, 17.83 ms] 243.158 µs (1.4%)
iast 18.113 ms [17.933 ms, 18.293 ms] 699.861 µs (4.0%)
profiling 18.285 ms [18.106 ms, 18.464 ms] 871.622 µs (5.0%)
tracing 17.674 ms [17.498 ms, 17.85 ms] 260.697 µs (1.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.447 ms [18.258 ms, 18.635 ms] -
appsec 18.481 ms [18.297 ms, 18.665 ms] 34.294 µs (0.2%)
code_origins 18.225 ms [18.041 ms, 18.409 ms] -221.594 µs (-1.2%)
iast 17.84 ms [17.665 ms, 18.014 ms] -607.05 µs (-3.3%)
profiling 19.149 ms [18.961 ms, 19.337 ms] 702.149 µs (3.8%)
tracing 18.666 ms [18.479 ms, 18.852 ms] 218.889 µs (1.2%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~75bcdaadb3, baseline=1.62.0-SNAPSHOT~8d3cec3b17
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.287 ms) : 1274, 1300
.   : milestone, 1287,
iast (3.263 ms) : 3216, 3310
.   : milestone, 3263,
iast_FULL (6.119 ms) : 6057, 6182
.   : milestone, 6119,
iast_GLOBAL (3.724 ms) : 3660, 3788
.   : milestone, 3724,
profiling (2.661 ms) : 2629, 2693
.   : milestone, 2661,
tracing (1.91 ms) : 1895, 1926
.   : milestone, 1910,
section candidate
no_agent (1.243 ms) : 1231, 1255
.   : milestone, 1243,
iast (3.378 ms) : 3328, 3428
.   : milestone, 3378,
iast_FULL (6.431 ms) : 6364, 6498
.   : milestone, 6431,
iast_GLOBAL (3.782 ms) : 3716, 3848
.   : milestone, 3782,
profiling (2.378 ms) : 2353, 2403
.   : milestone, 2378,
tracing (1.934 ms) : 1916, 1951
.   : milestone, 1934,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.287 ms [1.274 ms, 1.3 ms] -
iast 3.263 ms [3.216 ms, 3.31 ms] 1.977 ms (153.6%)
iast_FULL 6.119 ms [6.057 ms, 6.182 ms] 4.832 ms (375.6%)
iast_GLOBAL 3.724 ms [3.66 ms, 3.788 ms] 2.437 ms (189.4%)
profiling 2.661 ms [2.629 ms, 2.693 ms] 1.375 ms (106.8%)
tracing 1.91 ms [1.895 ms, 1.926 ms] 623.638 µs (48.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.243 ms [1.231 ms, 1.255 ms] -
iast 3.378 ms [3.328 ms, 3.428 ms] 2.136 ms (171.8%)
iast_FULL 6.431 ms [6.364 ms, 6.498 ms] 5.188 ms (417.5%)
iast_GLOBAL 3.782 ms [3.716 ms, 3.848 ms] 2.539 ms (204.3%)
profiling 2.378 ms [2.353 ms, 2.403 ms] 1.135 ms (91.3%)
tracing 1.934 ms [1.916 ms, 1.951 ms] 690.867 µs (55.6%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master brian.marks/fix-synapse-instrumentation-bugs
git_commit_date 1776176155 1776177564
git_commit_sha 8d3cec3 75bcdaa
release_version 1.62.0-SNAPSHOT~8d3cec3b17 1.61.0-SNAPSHOT~75bcdaadb3
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1776179793 1776179793
ci_job_id 1593766763 1593766763
ci_pipeline_id 107605994 107605994
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-p4xhmmwa 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-p4xhmmwa 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.61.0-SNAPSHOT~75bcdaadb3, baseline=1.62.0-SNAPSHOT~8d3cec3b17
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.79 s) : 14790000, 14790000
.   : milestone, 14790000,
appsec (14.413 s) : 14413000, 14413000
.   : milestone, 14413000,
iast (18.38 s) : 18380000, 18380000
.   : milestone, 18380000,
iast_GLOBAL (18.291 s) : 18291000, 18291000
.   : milestone, 18291000,
profiling (15.281 s) : 15281000, 15281000
.   : milestone, 15281000,
tracing (15.026 s) : 15026000, 15026000
.   : milestone, 15026000,
section candidate
no_agent (14.897 s) : 14897000, 14897000
.   : milestone, 14897000,
appsec (14.791 s) : 14791000, 14791000
.   : milestone, 14791000,
iast (18.493 s) : 18493000, 18493000
.   : milestone, 18493000,
iast_GLOBAL (17.921 s) : 17921000, 17921000
.   : milestone, 17921000,
profiling (15.308 s) : 15308000, 15308000
.   : milestone, 15308000,
tracing (15.033 s) : 15033000, 15033000
.   : milestone, 15033000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.79 s [14.79 s, 14.79 s] -
appsec 14.413 s [14.413 s, 14.413 s] -377.0 ms (-2.5%)
iast 18.38 s [18.38 s, 18.38 s] 3.59 s (24.3%)
iast_GLOBAL 18.291 s [18.291 s, 18.291 s] 3.501 s (23.7%)
profiling 15.281 s [15.281 s, 15.281 s] 491.0 ms (3.3%)
tracing 15.026 s [15.026 s, 15.026 s] 236.0 ms (1.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.897 s [14.897 s, 14.897 s] -
appsec 14.791 s [14.791 s, 14.791 s] -106.0 ms (-0.7%)
iast 18.493 s [18.493 s, 18.493 s] 3.596 s (24.1%)
iast_GLOBAL 17.921 s [17.921 s, 17.921 s] 3.024 s (20.3%)
profiling 15.308 s [15.308 s, 15.308 s] 411.0 ms (2.8%)
tracing 15.033 s [15.033 s, 15.033 s] 136.0 ms (0.9%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~75bcdaadb3, baseline=1.62.0-SNAPSHOT~8d3cec3b17
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.493 ms) : 1482, 1505
.   : milestone, 1493,
appsec (3.858 ms) : 3634, 4082
.   : milestone, 3858,
iast (2.291 ms) : 2221, 2362
.   : milestone, 2291,
iast_GLOBAL (2.336 ms) : 2265, 2406
.   : milestone, 2336,
profiling (2.12 ms) : 2064, 2176
.   : milestone, 2120,
tracing (2.093 ms) : 2039, 2147
.   : milestone, 2093,
section candidate
no_agent (1.494 ms) : 1482, 1505
.   : milestone, 1494,
appsec (3.81 ms) : 3585, 4036
.   : milestone, 3810,
iast (2.291 ms) : 2221, 2360
.   : milestone, 2291,
iast_GLOBAL (2.338 ms) : 2267, 2408
.   : milestone, 2338,
profiling (2.113 ms) : 2057, 2169
.   : milestone, 2113,
tracing (2.084 ms) : 2030, 2139
.   : milestone, 2084,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.493 ms [1.482 ms, 1.505 ms] -
appsec 3.858 ms [3.634 ms, 4.082 ms] 2.365 ms (158.3%)
iast 2.291 ms [2.221 ms, 2.362 ms] 797.728 µs (53.4%)
iast_GLOBAL 2.336 ms [2.265 ms, 2.406 ms] 842.295 µs (56.4%)
profiling 2.12 ms [2.064 ms, 2.176 ms] 626.647 µs (42.0%)
tracing 2.093 ms [2.039 ms, 2.147 ms] 599.445 µs (40.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.494 ms [1.482 ms, 1.505 ms] -
appsec 3.81 ms [3.585 ms, 4.036 ms] 2.317 ms (155.1%)
iast 2.291 ms [2.221 ms, 2.36 ms] 796.946 µs (53.4%)
iast_GLOBAL 2.338 ms [2.267 ms, 2.408 ms] 844.23 µs (56.5%)
profiling 2.113 ms [2.057 ms, 2.169 ms] 619.303 µs (41.5%)
tracing 2.084 ms [2.03 ms, 2.139 ms] 590.833 µs (39.6%)

@bm1549
Copy link
Copy Markdown
Contributor Author

bm1549 commented Mar 19, 2026

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: acc4558be4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@bm1549 bm1549 closed this Apr 3, 2026
@jordan-wong jordan-wong reopened this Apr 14, 2026
Use DECORATE.onPeerConnection() and setPeerPort() instead of manually
setting peer tags. This correctly classifies IPv6 addresses as peer.ipv6
(instead of forcing peer.ipv4) and honors the trace.peer.hostname.enabled
config toggle for peer.hostname.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bm1549 bm1549 marked this pull request as ready for review April 14, 2026 13:55
@bm1549 bm1549 requested a review from a team as a code owner April 14, 2026 13:55
@bm1549 bm1549 enabled auto-merge April 14, 2026 13:56
Copy link
Copy Markdown
Contributor

@jordan-wong jordan-wong left a comment

Choose a reason for hiding this comment

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

changes deal with failing Synapse tests appropriately. LGTM!

@bm1549 bm1549 added this pull request to the merge queue Apr 14, 2026
@dd-octo-sts
Copy link
Copy Markdown
Contributor

dd-octo-sts bot commented Apr 14, 2026

/merge

@gh-worker-devflow-routing-ef8351
Copy link
Copy Markdown

gh-worker-devflow-routing-ef8351 bot commented Apr 14, 2026

View all feedbacks in Devflow UI.

2026-04-14 20:48:37 UTC ℹ️ Start processing command /merge


2026-04-14 20:48:42 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 2h (p90).


2026-04-14 22:29:20 UTC ℹ️ MergeQueue: Readding this merge request to the queue because another merge request processed with yours failed. No action is needed from your side.


2026-04-15 00:04:55 UTC ℹ️ MergeQueue: This merge request was merged

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Apr 14, 2026
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot merged commit 693449b into master Apr 15, 2026
568 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot deleted the brian.marks/fix-synapse-instrumentation-bugs branch April 15, 2026 00:04
@github-actions github-actions bot added this to the 1.62.0 milestone Apr 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: synapse Synapse Instrumentation tag: ai generated Largely based on code generated by an AI or LLM tag: no release notes Changes to exclude from release notes type: bug Bug report and fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants