[DO NOT MERGE] Apm ai toolkit new integration rxjava3#11527
Draft
jordan-wong wants to merge 2 commits into
Draft
[DO NOT MERGE] Apm ai toolkit new integration rxjava3#11527jordan-wong wants to merge 2 commits into
jordan-wong wants to merge 2 commits into
Conversation
…on [DO NOT MERGE] First-ever toolkit-generated context-propagation library — produced by apm-instrumentation-toolkit eval/java branch with Phase 1-9 toolkit improvements (commits 9c7351ba through 35ca2efe + d66a6fba). Reviewer approved iter1 (3 todos fixed, 0 remaining). All 47 tests passing after iter3 fixer-loop convergence (warmup + strictTraceWrites fix matching rxjava-2.0 pattern). Real cost \$53.62 across 24 agent invocations in 111 minutes. Generated artifacts (16 files): - RxJavaModule.java: InstrumenterModule.ContextTracking with contextStore() + helperClassNames() + typeInstrumentations() for 5 reactive types - 5 *Instrumentation.java: Observable/Flowable/Single/Maybe/Completable per-type instrumenters with CaptureParentSpanAdvice + PropagateParentSpanAdvice - 5 Tracing*.java: TracingObserver/Subscriber/SingleObserver/MaybeObserver/ CompletableObserver delegating wrappers with parentContext.attach() - RxJavaAsyncResultExtension.java: WithSpan/@trace integration - 4 test files mirroring rxjava-2.0 patterns - build.gradle: muzzle [3.0.0,) settings.gradle.kts: include rxjava-3.0 module in build. Marked DO NOT MERGE pending CI verification + human review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…eneration [DO NOT MERGE] Changes made by the toolkit's reviewer step when generating rxjava-3.0: - Is.java: Add CharSequence.toString() comparison fallback (same as jedis3 May 11 fix that PR #11338 reviewer flagged — see #11338 inline comment on Is.java:36) - SpanMatcher.java: Add childOf(int index) sentinel + setParentSpanIndex for trace-relative parent assertions - TraceMatcher.java: Pass trace list to assertSpan for index-based parent resolution These changes were necessary for the rxjava-3 SubscriptionTest pattern to compile and assert parent-child bridging. The reviewer step's spec-compliance gate flagged a "scope creep" warning that was overridden because the changes mirror what existing rxjava-2.0 tests need. Flag for human review: this is exactly the cross-module modification pattern @amarziali flagged in PR #11338. Same Is.java change; if intentional, would consolidate the asymmetric CharSequence comparison issue across multiple toolkit-generated libraries. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 issue/merge. You can also:/merge --commit-message "..."/merge -c/merge -f --reason "reason"; please use this judiciously, as some checks do not run at the PR-levelJira ticket: [PROJ-IDENT]