@@ -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)
65654 . 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,
202213and ` contextStore() ` map entries match actual usage.
203214
@@ -208,6 +219,7 @@ and `contextStore()` map entries match actual usage.
208219Output 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