Skip to content

Commit f27c243

Browse files
committed
Merge remote-tracking branch 'origin/master' into leo.romanovsky/ffe-canonical-fixtures-20260512
# Conflicts: # products/feature-flagging/feature-flagging-api/src/test/java/datadog/trace/api/openfeature/DDEvaluatorTest.java
2 parents fbfd381 + 2068d0d commit f27c243

1,794 files changed

Lines changed: 69618 additions & 38094 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
## Claude Code workflow
44

55
- Before creating a pull request, run `/techdebt` to check for technical debt, code duplication, and unnecessary complexity in the branch changes.
6+
- After running `/migrate-groovy-to-java`, run `/review-groovy-migration` on the migrated files before opening a PR.
67
- Always write new unit tests using JUnit 5 and Java. If the target test file is `.groovy`, run the `/migrate-groovy-to-java` skill on it first.

.claude/skills/add-apm-integrations/SKILL.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,13 @@ pattern before writing new code. Use it as a template.
6363
- `testImplementation` dependencies for tests
6464
- `muzzle { pass { } }` directives (see Step 9)
6565
4. Register the new module in `settings.gradle.kts` in **alphabetical order**
66+
5. Register the integration name in `metadata/supported-configurations.json`, or
67+
`checkInstrumenterModuleConfigurations` fails. The name in `super(...)` maps to env var
68+
`DD_TRACE_<NAME>_ENABLED` (`.` and `-` become `_`, uppercased — `couchbase-3`
69+
`DD_TRACE_COUCHBASE_3_ENABLED`). Add a `"type": "boolean"` entry, in alphabetical order, with
70+
aliases `DD_TRACE_INTEGRATION_<NAME>_ENABLED` and `DD_INTEGRATION_<NAME>_ENABLED`. Set `default`
71+
to the module's real default — `"true"`, or `"false"` if it overrides `defaultEnabled()` (e.g.
72+
OpenTelemetry, Hazelcast). Declaring several names (`super("a", "b")`) means one entry each.
6673

6774
## Step 5 – Write the InstrumenterModule
6875

@@ -193,11 +200,15 @@ Run these commands in order and fix any failures before proceeding:
193200
./gradlew :dd-java-agent:instrumentation:$framework-$version:muzzle
194201
./gradlew :dd-java-agent:instrumentation:$framework-$version:test
195202
./gradlew :dd-java-agent:instrumentation:$framework-$version:latestDepTest
203+
./gradlew checkInstrumenterModuleConfigurations
196204
./gradlew spotlessCheck
197205
```
198206

199207
**If muzzle fails:** check for missing helper class names in `helperClassNames()`.
200208

209+
**If `checkInstrumenterModuleConfigurations` fails:** an integration name from `super(...)` is missing
210+
(or mismatched) in `metadata/supported-configurations.json` — see Step 4, item 5.
211+
201212
**If tests fail:** verify span lifecycle order (start → activate → error → finish → close), helper registration,
202213
and `contextStore()` map entries match actual usage.
203214

@@ -208,6 +219,7 @@ and `contextStore()` map entries match actual usage.
208219
Output this checklist and confirm each item is satisfied:
209220

210221
- [ ] `settings.gradle.kts` entry added in alphabetical order
222+
- [ ] `metadata/supported-configurations.json` has a `DD_TRACE_<NAME>_ENABLED` entry (+ the two aliases) for every name passed to `super(...)`
211223
- [ ] `build.gradle` has `compileOnly` deps and `muzzle` directives with `assertInverse = true`
212224
- [ ] `@AutoService(InstrumenterModule.class)` annotation present on the module class
213225
- [ ] `helperClassNames()` lists ALL referenced helpers (including inner, anonymous, and enum synthetic classes)

0 commit comments

Comments
 (0)