Skip to content

[reference] feat(kafka-clients): toolkit-generated instrumentation (blind test attempt4) - #12361

Draft
jordan-wong wants to merge 2 commits into
masterfrom
apm-ai-toolkit/new_integration/kafka-clients/20260831-024849
Draft

[reference] feat(kafka-clients): toolkit-generated instrumentation (blind test attempt4)#12361
jordan-wong wants to merge 2 commits into
masterfrom
apm-ai-toolkit/new_integration/kafka-clients/20260831-024849

Conversation

@jordan-wong

Copy link
Copy Markdown
Contributor

What Does This Do

[DO NOT MERGE] — this is a research reference artifact, not a merge candidate.

Blind regeneration of the kafka-clients-0.11/-3.8 + kafka-common/kafka-connect-0.11/kafka-streams-0.11/-1.0 family against the current apm-instrumentation-toolkit, with the family fully deleted from HEAD before generation (blind test protocol).

This run specifically tested whether an explicit skill rule added this cycle (.agents/skills/apm-integrations/references/advice-class.md — "Batch-consume operations: one span per item, not one span for the whole batch", see #12293) changes agent behavior for the batch-consume/per-item-span pattern.

Motivation

Result: the agent reproduced the correct per-message-span pattern (TracingIterable/TracingIterator/TracingList wrapping poll()/records()/iterator() returns, matching master's real implementation) — but by copying master's existing helper classes directly via git show, not by reading the new skill guidance (zero transcript references to advice-class.md). A follow-up fix force-reading that file at code-gen has been opened as apm-instrumentation-toolkit PR #622; a re-run against that fix is in progress (attempt5).

Full analysis: docs/eval-research/runs/kafka-clients/attempt4/outcome.md in the apm-instrumentation-toolkit repo.

Additional Notes

Final toolkit self-review: approved=False, todos_remaining=18 — mostly low-priority comment/naming-hygiene findings and one spurious version-alias flag (the coupled family's super("kafka", "kafka-0.11") alias is no longer justified once kafka-clients-3.8 doesn't exist as a sibling on this branch), not architectural defects.

Related:

Jira ticket: [none]

… blind test attempt4)

Blind regeneration of kafka-clients-0.11/-3.8 + kafka-common/-connect/-streams
against the current apm-instrumentation-toolkit, testing whether an explicit
per-item-span skill rule (dd-trace-java PR #12293) changes agent behavior for
batch-consume operations. It did not: the agent reproduced the correct
per-message-span pattern (TracingIterable/TracingIterator wrapping
poll()/records()/iterator() returns) by copying master's existing
implementation directly, without reading the new skill guidance.

[reference] / [DO NOT MERGE] -- this is a research artifact for reviewer
feedback, not a merge candidate. See docs/eval-research/runs/kafka-clients/attempt4/outcome.md
in the apm-instrumentation-toolkit repo for the full analysis.

Final toolkit review status: approved=False, todos_remaining=18 (mostly
low-priority comment/naming-hygiene items and one spurious version-alias
finding, not architectural defects).
@jordan-wong jordan-wong added tag: ai generated Largely based on code generated by an AI or LLM tag: apm integration toolkit Changes generated by DataDog/apm-instrumentation-toolkit as part of IDM AIT experimentation labels Sep 1, 2026
@datadog-official

This comment has been minimized.

@dd-octo-sts

dd-octo-sts Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

🟢 Java Benchmark SLOs — All performance SLOs passed

Suite Status
Startup 🟢 pass

SLO thresholds are defined here based on automatically generated metrics. A warning is raised when results are within 5% of the threshold.

PR vs. master results
Scenario Candidate master Δ (95% CI of mean)
startup:insecure-bank:iast:Agent 14.84 s 14.70 s [+0.3%; +1.7%] (maybe worse)
startup:insecure-bank:tracing:Agent 13.68 s 13.74 s [-1.4%; +0.6%] (no difference)
startup:petclinic:appsec:Agent 17.47 s 17.33 s [-0.1%; +1.7%] (no difference)
startup:petclinic:iast:Agent 17.47 s 17.56 s [-1.4%; +0.3%] (no difference)
startup:petclinic:profiling:Agent 17.42 s 17.41 s [-1.0%; +1.2%] (no difference)
startup:petclinic:sca:Agent 17.46 s 17.16 s [+0.8%; +2.7%] (maybe worse)
startup:petclinic:tracing:Agent 16.44 s 16.15 s [-2.5%; +6.2%] (no difference)

Commit: dcd39143 · CI Pipeline · Benchmarking Platform UI


Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion.

@pr-commenter

pr-commenter Bot commented Sep 1, 2026

Copy link
Copy Markdown

Kafka / producer-benchmark

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master apm-ai-toolkit/new_integration/kafka-clients/20260831-024849
git_commit_date 1787769567 1788267687
git_commit_sha be059cb dcd3914
See matching parameters
Baseline Candidate
ci_job_date 1788269028 1788269028
ci_job_id 2003135752 2003135752
ci_pipeline_id 134592522 134592522
cpu_model Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
jdkVersion 11.0.31 11.0.31
jmhVersion 1.36 1.36
jvm /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/lib/jvm/java-11-openjdk-amd64/bin/java
jvmArgs -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=15002 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=15002 -Dhttp.nonProxyHosts=localhost *.localhost
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-hymgbupi 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-hymgbupi 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
vmName OpenJDK 64-Bit Server VM OpenJDK 64-Bit Server VM
vmVersion 11.0.31+11-post-1ubuntu1-22.04.2-Ubuntu 11.0.31+11-post-1ubuntu1-22.04.2-Ubuntu

Summary

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

See unchanged results
scenario Δ mean throughput
scenario:not-instrumented/KafkaProduceBenchmark.benchProduce same
scenario:only-tracing-dsm-disabled-benchmarks/KafkaProduceBenchmark.benchProduce same
scenario:only-tracing-dsm-enabled-benchmarks/KafkaProduceBenchmark.benchProduce same

@pr-commenter

pr-commenter Bot commented Sep 1, 2026

Copy link
Copy Markdown

Kafka / consumer-benchmark

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master apm-ai-toolkit/new_integration/kafka-clients/20260831-024849
git_commit_date 1787769567 1788267687
git_commit_sha be059cb dcd3914
See matching parameters
Baseline Candidate
ci_job_date 1788269048 1788269048
ci_job_id 2003135753 2003135753
ci_pipeline_id 134592522 134592522
cpu_model Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
jdkVersion 11.0.31 11.0.31
jmhVersion 1.36 1.36
jvm /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/lib/jvm/java-11-openjdk-amd64/bin/java
jvmArgs -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=15002 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=15002 -Dhttp.nonProxyHosts=localhost *.localhost
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-at62c2tn 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-at62c2tn 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
vmName OpenJDK 64-Bit Server VM OpenJDK 64-Bit Server VM
vmVersion 11.0.31+11-post-1ubuntu1-22.04.2-Ubuntu 11.0.31+11-post-1ubuntu1-22.04.2-Ubuntu

Summary

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

See unchanged results
scenario Δ mean throughput
scenario:not-instrumented/KafkaConsumerBenchmark.benchConsume same
scenario:only-tracing-dsm-disabled-benchmarks/KafkaConsumerBenchmark.benchConsume same
scenario:only-tracing-dsm-enabled-benchmarks/KafkaConsumerBenchmark.benchConsume same

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tag: ai generated Largely based on code generated by an AI or LLM tag: apm integration toolkit Changes generated by DataDog/apm-instrumentation-toolkit as part of IDM AIT experimentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant