From ec01b34622f18002fec8cd2a86411b1e4437b894 Mon Sep 17 00:00:00 2001 From: Sarah Chen Date: Wed, 18 Mar 2026 14:24:00 -0400 Subject: [PATCH 1/2] Pin system tests to dd-trace-java-1.60.2-release branch --- .github/workflows/run-system-tests.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-system-tests.yaml b/.github/workflows/run-system-tests.yaml index 2a79bdec3cf..fb6c6ddbc2e 100644 --- a/.github/workflows/run-system-tests.yaml +++ b/.github/workflows/run-system-tests.yaml @@ -62,7 +62,7 @@ jobs: needs: - build # If you change the following comment, update the pattern in the update_system_test_reference.sh script to match. - uses: DataDog/system-tests/.github/workflows/system-tests.yml@61f7ee29e7432cba821a4d303c95929160bd23fd # system tests are pinned for releases only + uses: DataDog/system-tests/.github/workflows/system-tests.yml@dd-trace-java-1.60.2-release # system tests are pinned for releases only secrets: TEST_OPTIMIZATION_API_KEY: ${{ secrets.DATADOG_API_KEY_PROD }} permissions: @@ -72,7 +72,7 @@ jobs: with: library: java # If you change the following comment, update the pattern in the update_system_test_reference.sh script to match. - ref: 61f7ee29e7432cba821a4d303c95929160bd23fd # system tests are pinned for releases only + ref: dd-trace-java-1.60.2-release # system tests are pinned for releases only binaries_artifact: binaries desired_execution_time: 900 # 15 minutes scenarios_groups: tracer-release From f4bb24d0aaf0b095a61f09a0c6d34cf1e5af6cbd Mon Sep 17 00:00:00 2001 From: mhlidd Date: Mon, 16 Mar 2026 15:50:11 -0400 Subject: [PATCH 2/2] init (#10823) init Merge branch 'master' into mhlidd/update_telemetry_key_normalization Merge branch 'master' into mhlidd/update_telemetry_key_normalization Merge branch 'master' into mhlidd/update_telemetry_key_normalization Co-authored-by: devflow.devflow-routing-intake --- .../smoketest/AppSecActivationSmokeTest.groovy | 2 +- .../TelemetryRequestBodySpecification.groovy | 16 ++++++++-------- .../TelemetryServiceSpecification.groovy | 2 +- .../datadog/telemetry/TestTelemetryRouter.groovy | 2 +- .../java/datadog/trace/api/ConfigSetting.java | 4 +++- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/dd-smoke-tests/dynamic-config/src/test/groovy/datadog/smoketest/AppSecActivationSmokeTest.groovy b/dd-smoke-tests/dynamic-config/src/test/groovy/datadog/smoketest/AppSecActivationSmokeTest.groovy index d2754503d64..513cf008c87 100644 --- a/dd-smoke-tests/dynamic-config/src/test/groovy/datadog/smoketest/AppSecActivationSmokeTest.groovy +++ b/dd-smoke-tests/dynamic-config/src/test/groovy/datadog/smoketest/AppSecActivationSmokeTest.groovy @@ -51,7 +51,7 @@ class AppSecActivationSmokeTest extends AbstractSmokeTest { waitForTelemetryFlat { final configurations = (List>) it?.payload?.configuration ?: [] final enabledConfig = configurations.find { - it.name == 'appsec_enabled' + it.name == 'DD_APPSEC_ENABLED' } if (!enabledConfig) { return false diff --git a/telemetry/src/test/groovy/datadog/telemetry/TelemetryRequestBodySpecification.groovy b/telemetry/src/test/groovy/datadog/telemetry/TelemetryRequestBodySpecification.groovy index 25341c82e4b..462b6cec0f0 100644 --- a/telemetry/src/test/groovy/datadog/telemetry/TelemetryRequestBodySpecification.groovy +++ b/telemetry/src/test/groovy/datadog/telemetry/TelemetryRequestBodySpecification.groovy @@ -79,15 +79,15 @@ class TelemetryRequestBodySpecification extends DDSpecification { then: drainToString(req) == ',"configuration":[' + - '{"name":"string","value":"bar","origin":"remote_config","seq_id":0},' + - '{"name":"int","value":"2342","origin":"default","seq_id":0},' + - '{"name":"double","value":"123.456","origin":"env_var","seq_id":0},' + - '{"name":"map","value":"key1:value1,key2:432.32,key3:324","origin":"jvm_prop","seq_id":0},' + - '{"name":"list","value":"1,2,3","origin":"default","seq_id":0},' + - '{"name":"null","value":null,"origin":"default","seq_id":0}]' + '{"name":"DD_STRING","value":"bar","origin":"remote_config","seq_id":0},' + + '{"name":"DD_INT","value":"2342","origin":"default","seq_id":0},' + + '{"name":"DD_DOUBLE","value":"123.456","origin":"env_var","seq_id":0},' + + '{"name":"DD_MAP","value":"key1:value1,key2:432.32,key3:324","origin":"jvm_prop","seq_id":0},' + + '{"name":"DD_LIST","value":"1,2,3","origin":"default","seq_id":0},' + + '{"name":"DD_NULL","value":null,"origin":"default","seq_id":0}]' } - def 'use snake_case for setting keys'() { + def 'use environment variable for setting keys'() { setup: TelemetryRequestBody req = new TelemetryRequestBody(RequestType.APP_CLIENT_CONFIGURATION_CHANGE) @@ -102,7 +102,7 @@ class TelemetryRequestBodySpecification extends DDSpecification { req.endConfiguration() then: - drainToString(req) == ',"configuration":[{"name":"this_is_a_key","value":"value","origin":"remote_config","seq_id":0}]' + drainToString(req) == ',"configuration":[{"name":"DD_THIS_IS_A_KEY","value":"value","origin":"remote_config","seq_id":0}]' } def 'add debug flag'() { diff --git a/telemetry/src/test/groovy/datadog/telemetry/TelemetryServiceSpecification.groovy b/telemetry/src/test/groovy/datadog/telemetry/TelemetryServiceSpecification.groovy index c9addb6a253..63702b4148d 100644 --- a/telemetry/src/test/groovy/datadog/telemetry/TelemetryServiceSpecification.groovy +++ b/telemetry/src/test/groovy/datadog/telemetry/TelemetryServiceSpecification.groovy @@ -318,7 +318,7 @@ class TelemetryServiceSpecification extends DDSpecification { bodySize > 0 when: 'sending first part of data' - telemetryService = new TelemetryService(testHttpClient, bodySize + 510, false) + telemetryService = new TelemetryService(testHttpClient, bodySize + 512, false) telemetryService.addConfiguration(configuration) telemetryService.addIntegration(integration) diff --git a/telemetry/src/test/groovy/datadog/telemetry/TestTelemetryRouter.groovy b/telemetry/src/test/groovy/datadog/telemetry/TestTelemetryRouter.groovy index 0729b44a121..a1b3384375b 100644 --- a/telemetry/src/test/groovy/datadog/telemetry/TestTelemetryRouter.groovy +++ b/telemetry/src/test/groovy/datadog/telemetry/TestTelemetryRouter.groovy @@ -248,7 +248,7 @@ class TestTelemetryRouter extends TelemetryRouter { PayloadAssertions instrumentationConfigId(String id) { boolean checked = false this.payload['configuration'].each { v -> - if (v['name'] == 'instrumentation_config_id') { + if (v['name'] == 'DD_INSTRUMENTATION_CONFIG_ID') { assert v['value'] == id checked = true } diff --git a/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java b/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java index 45e434751b5..46aaed2fe04 100644 --- a/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java +++ b/utils/config-utils/src/main/java/datadog/trace/api/ConfigSetting.java @@ -1,5 +1,7 @@ package datadog.trace.api; +import static datadog.trace.util.ConfigStrings.propertyNameToEnvironmentVariableName; + import java.util.Arrays; import java.util.BitSet; import java.util.HashSet; @@ -51,7 +53,7 @@ private ConfigSetting(String key, Object value, ConfigOrigin origin, int seqId, } public String normalizedKey() { - return key.toLowerCase().replace(".", "_"); + return propertyNameToEnvironmentVariableName(key); } public String stringValue() {