[DRAFT] APM AI Toolkit: Add Feign HTTP client instrumentation (v8.0+) 2nd run with add-apm-integrations.md - #10855
Conversation
Generated complete instrumentation for Feign HTTP client library using apm-instrumentation-toolkit with add-apm-integrations skill. Implementation: - FeignInstrumentation.java: Main instrumentation targeting feign.Client.execute() - FeignClientDecorator.java: HTTP client decorator with span lifecycle management - RequestInjectAdapter.java: Header injection adapter for distributed tracing - FeignTest.groovy: Comprehensive test suite extending HttpClientTest Key features: - Instruments Feign 8.0+ (version range [8.0,9.0)) - Uses classLoaderMatcher to distinguish from pre-8.0 versions - Direct header injection into mutable headers map - Proper span lifecycle: startSpan → prepareSpan → injectHeaders → activateSpan - All verification passed: compilation, spotless, tests, muzzle, latestDepTest Test results: 100% pass rate Generated by: apm-instrumentation-toolkit Skill: .claude/skills/add-apm-integrations Duration: 665.7s (112 turns) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
BenchmarksStartupParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 62 metrics, 8 unstable metrics.
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~a389ea71ba, baseline=1.61.0-SNAPSHOT~c8e410d922
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.055 s) : 0, 1055006
Total [baseline] (8.846 s) : 0, 8845570
Agent [candidate] (1.056 s) : 0, 1055605
Total [candidate] (8.817 s) : 0, 8817161
section iast
Agent [baseline] (1.234 s) : 0, 1234178
Total [baseline] (9.558 s) : 0, 9557857
Agent [candidate] (1.231 s) : 0, 1231332
Total [candidate] (9.554 s) : 0, 9553539
gantt
title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~a389ea71ba, baseline=1.61.0-SNAPSHOT~c8e410d922
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.212 ms) : 0, 1212
crashtracking [candidate] (1.218 ms) : 0, 1218
BytebuddyAgent [baseline] (627.195 ms) : 0, 627195
BytebuddyAgent [candidate] (626.811 ms) : 0, 626811
AgentMeter [baseline] (29.005 ms) : 0, 29005
AgentMeter [candidate] (29.101 ms) : 0, 29101
GlobalTracer [baseline] (256.469 ms) : 0, 256469
GlobalTracer [candidate] (256.002 ms) : 0, 256002
AppSec [baseline] (31.622 ms) : 0, 31622
AppSec [candidate] (31.515 ms) : 0, 31515
Debugger [baseline] (58.421 ms) : 0, 58421
Debugger [candidate] (58.543 ms) : 0, 58543
Remote Config [baseline] (621.473 µs) : 0, 621
Remote Config [candidate] (579.98 µs) : 0, 580
Telemetry [baseline] (8.641 ms) : 0, 8641
Telemetry [candidate] (8.682 ms) : 0, 8682
Flare Poller [baseline] (5.858 ms) : 0, 5858
Flare Poller [candidate] (7.011 ms) : 0, 7011
section iast
crashtracking [baseline] (1.211 ms) : 0, 1211
crashtracking [candidate] (1.224 ms) : 0, 1224
BytebuddyAgent [baseline] (802.164 ms) : 0, 802164
BytebuddyAgent [candidate] (800.759 ms) : 0, 800759
AgentMeter [baseline] (11.591 ms) : 0, 11591
AgentMeter [candidate] (11.513 ms) : 0, 11513
GlobalTracer [baseline] (248.505 ms) : 0, 248505
GlobalTracer [candidate] (247.974 ms) : 0, 247974
AppSec [baseline] (26.62 ms) : 0, 26620
AppSec [candidate] (27.474 ms) : 0, 27474
Debugger [baseline] (62.461 ms) : 0, 62461
Debugger [candidate] (60.979 ms) : 0, 60979
Remote Config [baseline] (503.765 µs) : 0, 504
Remote Config [candidate] (510.09 µs) : 0, 510
Telemetry [baseline] (14.729 ms) : 0, 14729
Telemetry [candidate] (14.623 ms) : 0, 14623
Flare Poller [baseline] (4.839 ms) : 0, 4839
Flare Poller [candidate] (4.811 ms) : 0, 4811
IAST [baseline] (25.391 ms) : 0, 25391
IAST [candidate] (25.361 ms) : 0, 25361
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~a389ea71ba, baseline=1.61.0-SNAPSHOT~c8e410d922
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.059 s) : 0, 1058771
Total [baseline] (10.988 s) : 0, 10988197
Agent [candidate] (1.06 s) : 0, 1059708
Total [candidate] (11.027 s) : 0, 11027248
section appsec
Agent [baseline] (1.242 s) : 0, 1241613
Total [baseline] (11.181 s) : 0, 11180753
Agent [candidate] (1.242 s) : 0, 1241762
Total [candidate] (11.058 s) : 0, 11057916
section iast
Agent [baseline] (1.23 s) : 0, 1230169
Total [baseline] (11.272 s) : 0, 11271818
Agent [candidate] (1.234 s) : 0, 1233909
Total [candidate] (11.319 s) : 0, 11318602
section profiling
Agent [baseline] (1.196 s) : 0, 1196206
Total [baseline] (11.042 s) : 0, 11041916
Agent [candidate] (1.186 s) : 0, 1186467
Total [candidate] (10.971 s) : 0, 10971111
gantt
title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~a389ea71ba, baseline=1.61.0-SNAPSHOT~c8e410d922
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.193 ms) : 0, 1193
crashtracking [candidate] (1.208 ms) : 0, 1208
BytebuddyAgent [baseline] (628.197 ms) : 0, 628197
BytebuddyAgent [candidate] (628.614 ms) : 0, 628614
AgentMeter [baseline] (29.059 ms) : 0, 29059
AgentMeter [candidate] (29.126 ms) : 0, 29126
GlobalTracer [baseline] (256.47 ms) : 0, 256470
GlobalTracer [candidate] (257.203 ms) : 0, 257203
AppSec [baseline] (31.507 ms) : 0, 31507
AppSec [candidate] (31.501 ms) : 0, 31501
Debugger [baseline] (59.131 ms) : 0, 59131
Debugger [candidate] (59.521 ms) : 0, 59521
Remote Config [baseline] (608.127 µs) : 0, 608
Remote Config [candidate] (586.63 µs) : 0, 587
Telemetry [baseline] (8.673 ms) : 0, 8673
Telemetry [candidate] (8.713 ms) : 0, 8713
Flare Poller [baseline] (7.98 ms) : 0, 7980
Flare Poller [candidate] (7.295 ms) : 0, 7295
section appsec
crashtracking [baseline] (1.195 ms) : 0, 1195
crashtracking [candidate] (1.182 ms) : 0, 1182
BytebuddyAgent [baseline] (655.429 ms) : 0, 655429
BytebuddyAgent [candidate] (656.303 ms) : 0, 656303
AgentMeter [baseline] (12.006 ms) : 0, 12006
AgentMeter [candidate] (11.909 ms) : 0, 11909
GlobalTracer [baseline] (256.993 ms) : 0, 256993
GlobalTracer [candidate] (256.813 ms) : 0, 256813
AppSec [baseline] (176.979 ms) : 0, 176979
AppSec [candidate] (177.023 ms) : 0, 177023
Debugger [baseline] (65.46 ms) : 0, 65460
Debugger [candidate] (65.357 ms) : 0, 65357
Remote Config [baseline] (823.975 µs) : 0, 824
Remote Config [candidate] (573.675 µs) : 0, 574
Telemetry [baseline] (9.043 ms) : 0, 9043
Telemetry [candidate] (8.98 ms) : 0, 8980
Flare Poller [baseline] (3.621 ms) : 0, 3621
Flare Poller [candidate] (3.571 ms) : 0, 3571
IAST [baseline] (23.906 ms) : 0, 23906
IAST [candidate] (23.913 ms) : 0, 23913
section iast
crashtracking [baseline] (1.21 ms) : 0, 1210
crashtracking [candidate] (1.199 ms) : 0, 1199
BytebuddyAgent [baseline] (797.813 ms) : 0, 797813
BytebuddyAgent [candidate] (801.397 ms) : 0, 801397
AgentMeter [baseline] (11.341 ms) : 0, 11341
AgentMeter [candidate] (11.536 ms) : 0, 11536
GlobalTracer [baseline] (247.942 ms) : 0, 247942
GlobalTracer [candidate] (247.857 ms) : 0, 247857
AppSec [baseline] (26.42 ms) : 0, 26420
AppSec [candidate] (26.554 ms) : 0, 26554
Debugger [baseline] (69.88 ms) : 0, 69880
Debugger [candidate] (69.674 ms) : 0, 69674
Remote Config [baseline] (528.465 µs) : 0, 528
Remote Config [candidate] (527.452 µs) : 0, 527
Telemetry [baseline] (10.28 ms) : 0, 10280
Telemetry [candidate] (10.261 ms) : 0, 10261
Flare Poller [baseline] (3.547 ms) : 0, 3547
Flare Poller [candidate] (3.499 ms) : 0, 3499
IAST [baseline] (25.163 ms) : 0, 25163
IAST [candidate] (25.335 ms) : 0, 25335
section profiling
crashtracking [baseline] (1.191 ms) : 0, 1191
crashtracking [candidate] (1.179 ms) : 0, 1179
BytebuddyAgent [baseline] (691.963 ms) : 0, 691963
BytebuddyAgent [candidate] (685.293 ms) : 0, 685293
AgentMeter [baseline] (8.721 ms) : 0, 8721
AgentMeter [candidate] (8.659 ms) : 0, 8659
GlobalTracer [baseline] (217.686 ms) : 0, 217686
GlobalTracer [candidate] (215.894 ms) : 0, 215894
AppSec [baseline] (32.41 ms) : 0, 32410
AppSec [candidate] (32.282 ms) : 0, 32282
Debugger [baseline] (64.539 ms) : 0, 64539
Debugger [candidate] (64.551 ms) : 0, 64551
Remote Config [baseline] (585.19 µs) : 0, 585
Remote Config [candidate] (574.851 µs) : 0, 575
Telemetry [baseline] (9.887 ms) : 0, 9887
Telemetry [candidate] (9.015 ms) : 0, 9015
Flare Poller [baseline] (3.568 ms) : 0, 3568
Flare Poller [candidate] (3.564 ms) : 0, 3564
ProfilingAgent [baseline] (94.288 ms) : 0, 94288
ProfilingAgent [candidate] (94.507 ms) : 0, 94507
Profiling [baseline] (94.853 ms) : 0, 94853
Profiling [candidate] (95.07 ms) : 0, 95070
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 2 performance regressions! Performance is the same for 17 metrics, 17 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~a389ea71ba, baseline=1.61.0-SNAPSHOT~c8e410d922
dateFormat X
axisFormat %s
section baseline
no_agent (18.482 ms) : 18293, 18670
. : milestone, 18482,
appsec (19.346 ms) : 19150, 19542
. : milestone, 19346,
code_origins (18.125 ms) : 17943, 18307
. : milestone, 18125,
iast (17.932 ms) : 17753, 18111
. : milestone, 17932,
profiling (18.588 ms) : 18401, 18775
. : milestone, 18588,
tracing (17.772 ms) : 17594, 17950
. : milestone, 17772,
section candidate
no_agent (18.07 ms) : 17886, 18253
. : milestone, 18070,
appsec (18.718 ms) : 18528, 18907
. : milestone, 18718,
code_origins (17.69 ms) : 17511, 17868
. : milestone, 17690,
iast (20.114 ms) : 19915, 20314
. : milestone, 20114,
profiling (18.536 ms) : 18353, 18720
. : milestone, 18536,
tracing (17.91 ms) : 17730, 18090
. : milestone, 17910,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~a389ea71ba, baseline=1.61.0-SNAPSHOT~c8e410d922
dateFormat X
axisFormat %s
section baseline
no_agent (1.193 ms) : 1181, 1204
. : milestone, 1193,
iast (3.178 ms) : 3133, 3223
. : milestone, 3178,
iast_FULL (5.861 ms) : 5802, 5919
. : milestone, 5861,
iast_GLOBAL (3.546 ms) : 3487, 3605
. : milestone, 3546,
profiling (2.161 ms) : 2141, 2180
. : milestone, 2161,
tracing (1.8 ms) : 1785, 1815
. : milestone, 1800,
section candidate
no_agent (1.184 ms) : 1172, 1196
. : milestone, 1184,
iast (3.249 ms) : 3206, 3292
. : milestone, 3249,
iast_FULL (5.913 ms) : 5853, 5973
. : milestone, 5913,
iast_GLOBAL (3.463 ms) : 3408, 3519
. : milestone, 3463,
profiling (2.176 ms) : 2156, 2196
. : milestone, 2176,
tracing (1.835 ms) : 1819, 1851
. : milestone, 1835,
DacapoParameters
See matching parameters
SummaryFound 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~a389ea71ba, baseline=1.61.0-SNAPSHOT~c8e410d922
dateFormat X
axisFormat %s
section baseline
no_agent (14.834 s) : 14834000, 14834000
. : milestone, 14834000,
appsec (15.26 s) : 15260000, 15260000
. : milestone, 15260000,
iast (17.898 s) : 17898000, 17898000
. : milestone, 17898000,
iast_GLOBAL (17.773 s) : 17773000, 17773000
. : milestone, 17773000,
profiling (15.376 s) : 15376000, 15376000
. : milestone, 15376000,
tracing (15.128 s) : 15128000, 15128000
. : milestone, 15128000,
section candidate
no_agent (14.994 s) : 14994000, 14994000
. : milestone, 14994000,
appsec (14.822 s) : 14822000, 14822000
. : milestone, 14822000,
iast (17.845 s) : 17845000, 17845000
. : milestone, 17845000,
iast_GLOBAL (17.678 s) : 17678000, 17678000
. : milestone, 17678000,
profiling (14.99 s) : 14990000, 14990000
. : milestone, 14990000,
tracing (15.063 s) : 15063000, 15063000
. : milestone, 15063000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~a389ea71ba, baseline=1.61.0-SNAPSHOT~c8e410d922
dateFormat X
axisFormat %s
section baseline
no_agent (1.467 ms) : 1456, 1479
. : milestone, 1467,
appsec (3.79 ms) : 3570, 4011
. : milestone, 3790,
iast (2.243 ms) : 2173, 2312
. : milestone, 2243,
iast_GLOBAL (2.28 ms) : 2210, 2349
. : milestone, 2280,
profiling (2.105 ms) : 2048, 2161
. : milestone, 2105,
tracing (2.067 ms) : 2013, 2121
. : milestone, 2067,
section candidate
no_agent (1.466 ms) : 1455, 1478
. : milestone, 1466,
appsec (2.512 ms) : 2458, 2567
. : milestone, 2512,
iast (2.243 ms) : 2174, 2312
. : milestone, 2243,
iast_GLOBAL (2.286 ms) : 2217, 2356
. : milestone, 2286,
profiling (2.089 ms) : 2032, 2145
. : milestone, 2089,
tracing (2.049 ms) : 1996, 2103
. : milestone, 2049,
|
|
This pull request has been marked as stale because it has not had activity over the past quarter. It will be closed in 7 days if no further activity occurs. Feel free to reopen the PR if you are still working on it. |
|
This pull request has been closed because it has not had activity over the past quarter. Feel free to reopen the PR if you are still working on it. |
2nd Iteration testing out new skill
add-apm-integrationsGenerated complete instrumentation for Feign HTTP client library using apm-instrumentation-toolkit with add-apm-integrations skill.
Implementation:
Key features:
Test results: 100% pass rate
Generated by: apm-instrumentation-toolkit
Skill: .claude/skills/add-apm-integrations
Duration: 665.7s (112 turns)
🤖 Generated with Claude Code
What Does This Do
Motivation
Additional Notes
Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]
Note: Once your PR is ready to merge, add it to the merge queue by commenting
/merge./merge -ccancels the queue request./merge -f --reason "reason"skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.