diff --git a/tracer/build/PackageVersionsGeneratorDefinitions.json b/tracer/build/PackageVersionsGeneratorDefinitions.json index 5b308537a731..9c95df5ea360 100644 --- a/tracer/build/PackageVersionsGeneratorDefinitions.json +++ b/tracer/build/PackageVersionsGeneratorDefinitions.json @@ -989,12 +989,13 @@ "SampleProjectName": "Samples.Ocelot.DistributedTracing", "NugetPackageSearchName": "Ocelot", "MinVersion": "23.0.0", - "MaxVersionExclusive": "25.0.0", + "MaxVersionExclusive": "26.0.0", "SpecificVersions": [ "23.0.*", "23.4.*", "24.0.*", - "24.1.*" + "24.1.*", + "25.0.*" ], "VersionConditions": [ { diff --git a/tracer/build/PackageVersionsLatestMajors.g.props b/tracer/build/PackageVersionsLatestMajors.g.props index 417c544611ec..e8016a8e3da4 100644 --- a/tracer/build/PackageVersionsLatestMajors.g.props +++ b/tracer/build/PackageVersionsLatestMajors.g.props @@ -6858,6 +6858,12 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely None Samples.Ocelot.DistributedTracing + + ApiVersion=25.0.0;RestoreRecursive=false;BuildProjectReferences=false + net8.0 + None + Samples.Ocelot.DistributedTracing + ApiVersion=23.4.3;RestoreRecursive=false;BuildProjectReferences=false net9.0 @@ -6870,6 +6876,12 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely None Samples.Ocelot.DistributedTracing + + ApiVersion=25.0.0;RestoreRecursive=false;BuildProjectReferences=false + net9.0 + None + Samples.Ocelot.DistributedTracing + ApiVersion=23.4.3;RestoreRecursive=false;BuildProjectReferences=false net10.0 @@ -6882,5 +6894,11 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely None Samples.Ocelot.DistributedTracing + + ApiVersion=25.0.0;RestoreRecursive=false;BuildProjectReferences=false + net10.0 + None + Samples.Ocelot.DistributedTracing + diff --git a/tracer/build/PackageVersionsLatestMinors.g.props b/tracer/build/PackageVersionsLatestMinors.g.props index 40f326b5d9ec..729438876850 100644 --- a/tracer/build/PackageVersionsLatestMinors.g.props +++ b/tracer/build/PackageVersionsLatestMinors.g.props @@ -49191,6 +49191,12 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely None Samples.Ocelot.DistributedTracing + + ApiVersion=25.0.0;RestoreRecursive=false;BuildProjectReferences=false + net8.0 + None + Samples.Ocelot.DistributedTracing + ApiVersion=23.0.0;RestoreRecursive=false;BuildProjectReferences=false net9.0 @@ -49233,6 +49239,12 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely None Samples.Ocelot.DistributedTracing + + ApiVersion=25.0.0;RestoreRecursive=false;BuildProjectReferences=false + net9.0 + None + Samples.Ocelot.DistributedTracing + ApiVersion=23.0.0;RestoreRecursive=false;BuildProjectReferences=false net10.0 @@ -49275,5 +49287,11 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely None Samples.Ocelot.DistributedTracing + + ApiVersion=25.0.0;RestoreRecursive=false;BuildProjectReferences=false + net10.0 + None + Samples.Ocelot.DistributedTracing + diff --git a/tracer/build/PackageVersionsLatestSpecific.g.props b/tracer/build/PackageVersionsLatestSpecific.g.props index 17861068faf7..e18db7a9db3f 100644 --- a/tracer/build/PackageVersionsLatestSpecific.g.props +++ b/tracer/build/PackageVersionsLatestSpecific.g.props @@ -9864,6 +9864,12 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely None Samples.Ocelot.DistributedTracing + + ApiVersion=25.0.0;RestoreRecursive=false;BuildProjectReferences=false + net8.0 + None + Samples.Ocelot.DistributedTracing + ApiVersion=23.0.0;RestoreRecursive=false;BuildProjectReferences=false net9.0 @@ -9888,6 +9894,12 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely None Samples.Ocelot.DistributedTracing + + ApiVersion=25.0.0;RestoreRecursive=false;BuildProjectReferences=false + net9.0 + None + Samples.Ocelot.DistributedTracing + ApiVersion=23.0.0;RestoreRecursive=false;BuildProjectReferences=false net10.0 @@ -9912,5 +9924,11 @@ NOTE: This code was generated by the GeneratePackageVersions tool. To safely None Samples.Ocelot.DistributedTracing + + ApiVersion=25.0.0;RestoreRecursive=false;BuildProjectReferences=false + net10.0 + None + Samples.Ocelot.DistributedTracing + diff --git a/tracer/build/supported_calltargets.g.json b/tracer/build/supported_calltargets.g.json index 4e436393168d..e861de386518 100644 --- a/tracer/build/supported_calltargets.g.json +++ b/tracer/build/supported_calltargets.g.json @@ -8968,7 +8968,7 @@ "Item3": 0 }, "MaximumVersion": { - "Item1": 24, + "Item1": 25, "Item2": 65535, "Item3": 65535 }, diff --git a/tracer/build/supported_versions.json b/tracer/build/supported_versions.json index 7f49c0291586..379403308bf5 100644 --- a/tracer/build/supported_versions.json +++ b/tracer/build/supported_versions.json @@ -768,16 +768,16 @@ "integrationName": "HttpMessageHandler", "assemblyName": "Ocelot", "minAssemblyVersionInclusive": "23.0.0", - "maxAssemblyVersionInclusive": "24.65535.65535", + "maxAssemblyVersionInclusive": "25.65535.65535", "packages": [ { "name": "Ocelot", "minVersionAvailableInclusive": "0.0.1", "minVersionSupportedInclusive": "23.0.0", "minVersionTestedInclusive": "23.0.0", - "maxVersionSupportedInclusive": "24.1.0", - "maxVersionAvailableInclusive": "24.1.0", - "maxVersionTestedInclusive": "24.1.0" + "maxVersionSupportedInclusive": "25.0.0", + "maxVersionAvailableInclusive": "25.0.0", + "maxVersionTestedInclusive": "25.0.0" } ] }, @@ -1557,4 +1557,4 @@ } ] } -] +] \ No newline at end of file diff --git a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Http/HttpClient/SocketsHttpHandler/OcelotMessageInvokerPoolIntegration.cs b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Http/HttpClient/SocketsHttpHandler/OcelotMessageInvokerPoolIntegration.cs index 294f2cd9d3c8..c5e7d594c310 100644 --- a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Http/HttpClient/SocketsHttpHandler/OcelotMessageInvokerPoolIntegration.cs +++ b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Http/HttpClient/SocketsHttpHandler/OcelotMessageInvokerPoolIntegration.cs @@ -22,6 +22,7 @@ namespace Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.SocketsH /// /// v23.0.0 introduced SocketsHttpHandler (previously HttpClientHandler was used). /// v24.1.0 changed the return type from HttpMessageHandler to SocketsHttpHandler. +/// v25.0.0 keeps the SocketsHttpHandler return type unchanged (only adds net10.0 support). /// /// /// Target method: MessageInvokerPool.CreateHandler @@ -43,7 +44,7 @@ namespace Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.SocketsH ReturnTypeName = "System.Net.Http.SocketsHttpHandler", ParameterTypeNames = ["Ocelot.Configuration.DownstreamRoute"], MinimumVersion = "24.1.0", - MaximumVersion = "24.*.*", + MaximumVersion = "25.*.*", IntegrationName = IntegrationName)] [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] diff --git a/tracer/src/Datadog.Tracer.Native/Generated/generated_calltargets.g.cpp b/tracer/src/Datadog.Tracer.Native/Generated/generated_calltargets.g.cpp index c3bf6a9ead89..74339f761b0b 100644 --- a/tracer/src/Datadog.Tracer.Native/Generated/generated_calltargets.g.cpp +++ b/tracer/src/Datadog.Tracer.Native/Generated/generated_calltargets.g.cpp @@ -807,7 +807,7 @@ std::vector callTargets = {(WCHAR*)WStr("HotChocolate.Types"),(WCHAR*)WStr("HotChocolate.Execution.DefaultRequestExecutor"),(WCHAR*)WStr("ExecuteAsync"),sig266,3,16,0,0,16,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.GraphQL.HotChocolate.ExecuteAsyncIntegrationV14"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("HotChocolate.Types"),(WCHAR*)WStr("HotChocolate.Execution.Processing.QueryExecutor"),(WCHAR*)WStr("ExecuteAsync"),sig269,2,16,0,0,16,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.GraphQL.HotChocolate.ExecuteAsyncIntegrationExtraV16"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Ocelot"),(WCHAR*)WStr("Ocelot.Requester.MessageInvokerPool"),(WCHAR*)WStr("CreateHandler"),sig162,2,23,0,0,24,0,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.SocketsHttpHandler.OcelotMessageInvokerPoolIntegration"),CallTargetKind::Default,1,8}, -{(WCHAR*)WStr("Ocelot"),(WCHAR*)WStr("Ocelot.Requester.MessageInvokerPool"),(WCHAR*)WStr("CreateHandler"),sig164,2,24,1,0,24,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.SocketsHttpHandler.OcelotMessageInvokerPoolIntegration"),CallTargetKind::Default,1,8}, +{(WCHAR*)WStr("Ocelot"),(WCHAR*)WStr("Ocelot.Requester.MessageInvokerPool"),(WCHAR*)WStr("CreateHandler"),sig164,2,24,1,0,25,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.SocketsHttpHandler.OcelotMessageInvokerPoolIntegration"),CallTargetKind::Default,1,8}, {(WCHAR*)WStr("System.Net.Http"),(WCHAR*)WStr("System.Net.Http.CurlHandler"),(WCHAR*)WStr("SendAsync"),sig311,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.CurlHandler.CurlHandlerIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("System.Net.Http"),(WCHAR*)WStr("System.Net.Http.HttpClientHandler"),(WCHAR*)WStr("Send"),sig163,3,5,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.HttpClientHandler.HttpClientHandlerSyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("System.Net.Http"),(WCHAR*)WStr("System.Net.Http.HttpClientHandler"),(WCHAR*)WStr("SendAsync"),sig311,3,4,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.HttpClientHandler.HttpClientHandlerIntegration"),CallTargetKind::Default,1,15}, diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestMajors.g.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestMajors.g.cs index 57287360d494..f6fcbca1b0c8 100644 --- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestMajors.g.cs +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestMajors.g.cs @@ -2803,14 +2803,17 @@ public class PackageVersionsLatestMajors #if NET8_0 new object[] { "23.4.3" }, new object[] { "24.1.0" }, + new object[] { "25.0.0" }, #endif #if NET9_0 new object[] { "23.4.3" }, new object[] { "24.1.0" }, + new object[] { "25.0.0" }, #endif #if NET10_0 new object[] { "23.4.3" }, new object[] { "24.1.0" }, + new object[] { "25.0.0" }, #endif #endif }; diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestMinors.g.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestMinors.g.cs index 66e73d1229eb..ea1174a9b17b 100644 --- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestMinors.g.cs +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestMinors.g.cs @@ -9718,6 +9718,7 @@ public class PackageVersionsLatestMinors new object[] { "23.4.3" }, new object[] { "24.0.1" }, new object[] { "24.1.0" }, + new object[] { "25.0.0" }, #endif #if NET9_0 new object[] { "23.0.0" }, @@ -9727,6 +9728,7 @@ public class PackageVersionsLatestMinors new object[] { "23.4.3" }, new object[] { "24.0.1" }, new object[] { "24.1.0" }, + new object[] { "25.0.0" }, #endif #if NET10_0 new object[] { "23.0.0" }, @@ -9736,6 +9738,7 @@ public class PackageVersionsLatestMinors new object[] { "23.4.3" }, new object[] { "24.0.1" }, new object[] { "24.1.0" }, + new object[] { "25.0.0" }, #endif #endif }; diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestSpecific.g.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestSpecific.g.cs index 717ff875c4ec..2b92ee673b61 100644 --- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestSpecific.g.cs +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/PackageVersionsLatestSpecific.g.cs @@ -3292,18 +3292,21 @@ public class PackageVersionsLatestSpecific new object[] { "23.4.3" }, new object[] { "24.0.1" }, new object[] { "24.1.0" }, + new object[] { "25.0.0" }, #endif #if NET9_0 new object[] { "23.0.0" }, new object[] { "23.4.3" }, new object[] { "24.0.1" }, new object[] { "24.1.0" }, + new object[] { "25.0.0" }, #endif #if NET10_0 new object[] { "23.0.0" }, new object[] { "23.4.3" }, new object[] { "24.0.1" }, new object[] { "24.1.0" }, + new object[] { "25.0.0" }, #endif #endif }; diff --git a/tracer/test/test-applications/integrations/Samples.Ocelot.DistributedTracing/Worker.cs b/tracer/test/test-applications/integrations/Samples.Ocelot.DistributedTracing/Worker.cs index 755d93823445..3bc872f466ce 100644 --- a/tracer/test/test-applications/integrations/Samples.Ocelot.DistributedTracing/Worker.cs +++ b/tracer/test/test-applications/integrations/Samples.Ocelot.DistributedTracing/Worker.cs @@ -144,13 +144,11 @@ private async Task UpdateOcelotInternalConfig(IServiceProvider serviceProvider, throw new Exception($"Failed to create Ocelot configuration: {string.Join(", ", response.Errors.Select(e => e.Message))}"); } - // Update the internal configuration repository - var addOrReplaceResponse = configRepo.AddOrReplace(response.Data); - if (addOrReplaceResponse.IsError) - { - _logger.LogError("Failed to update Ocelot configuration: {Errors}", string.Join(", ", addOrReplaceResponse.Errors.Select(e => e.Message))); - throw new Exception($"Failed to update Ocelot configuration: {string.Join(", ", addOrReplaceResponse.Errors.Select(e => e.Message))}"); - } + // Update the internal configuration repository. + // AddOrReplace's return type changed from Response to string in Ocelot 25.0.0; both + // implementations always succeed here, so the result is ignored for compatibility + // across all supported versions. + configRepo.AddOrReplace(response.Data); _logger.LogInformation("Updated Ocelot internal configuration with address: {Address}", address); }