Skip to content

DRAFT: APM AI TOOLKIT New Integration: Feign Client Instrumentation#10579

Draft
wconti27 wants to merge 1 commit intomasterfrom
conti/feign-instrumentation
Draft

DRAFT: APM AI TOOLKIT New Integration: Feign Client Instrumentation#10579
wconti27 wants to merge 1 commit intomasterfrom
conti/feign-instrumentation

Conversation

@wconti27
Copy link
Contributor

@wconti27 wconti27 commented Feb 12, 2026

THIS IS A TEST RUN FOR TRYING TO INSTRUMENT JAVA CODE WITH THE AI TOOLKIT, @mcculls to review

Add instrumentation for OpenFeign (feign-core) HTTP client library. Covers both sync (Client) and async (AsyncClient) execution paths with distributed tracing context propagation.

Files:

  • FeignClientInstrumentation: ByteBuddy type/method matchers for Client.execute
  • FeignAsyncClientInstrumentation: Matchers for AsyncClient.execute
  • FeignClientAdvice: Sync span lifecycle (enter/exit)
  • FeignAsyncClientAdvice: Async span lifecycle via CompletableFuture
  • FeignDecorator: HttpClientDecorator with operation names and tags
  • FeignHeadersInjectAdapter: CarrierSetter for trace context propagation
  • FeignClientTest: Spock tests using HttpClientTest base (70 tests pass)

Generated by APM AI Integration Toolkit (anubis)

What Does This Do

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

Note: Once your PR is ready to merge, add it to the merge queue by commenting /merge. /merge -c cancels 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.

Add instrumentation for OpenFeign (feign-core) HTTP client library.
Covers both sync (Client) and async (AsyncClient) execution paths
with distributed tracing context propagation.

Files:
- FeignClientInstrumentation: ByteBuddy type/method matchers for Client.execute
- FeignAsyncClientInstrumentation: Matchers for AsyncClient.execute
- FeignClientAdvice: Sync span lifecycle (enter/exit)
- FeignAsyncClientAdvice: Async span lifecycle via CompletableFuture
- FeignDecorator: HttpClientDecorator with operation names and tags
- FeignHeadersInjectAdapter: CarrierSetter for trace context propagation
- FeignClientTest: Spock tests using HttpClientTest base (70 tests pass)

Generated by APM Instrumentation Toolkit (anubis)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mcculls mcculls self-requested a review February 12, 2026 17:01
@mcculls mcculls added the AI label Feb 12, 2026
@jbachorik jbachorik removed the AI label Feb 19, 2026
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.

3 participants

Comments