From 27d274fb48d58b82e487b74b54f2c3050c663a26 Mon Sep 17 00:00:00 2001 From: Tony Redondo Date: Wed, 21 Oct 2026 12:54:28 +0200 Subject: [PATCH 1/3] [Test Optimization] Report sessions where VSTest ran no tests as skipped When a VSTest run succeeds without running any test, the session is now reported with test.status:skip, test.skip_reason "No tests were executed" and test.session.empty_reason:zero_tests. A new integration on vstest.console's run completion handler sends the executed test count to the session that owns the run over the session IPC channel, so it works whether vstest.console or the dotnet CLI owns the session. The session is skipped only when every count it received is zero; an aborted, canceled or failed run, or a runner exception, keeps it passed. --- tracer/build/supported_calltargets.g.json | 50 +++++ .../Messages/SessionExecutedTestsMessage.cs | 37 ++++ tracer/src/Datadog.Trace/Ci/Tags/TestTags.cs | 15 ++ tracer/src/Datadog.Trace/Ci/TestSession.cs | 37 ++++ .../Testing/DotnetTest/DotnetCommon.cs | 3 + ...estRunRequestOnRunCompletionIntegration.cs | 106 ++++++++++ .../InstrumentationDefinitions.g.cs | 2 + .../InstrumentationDefinitions.g.cs | 2 + .../InstrumentationDefinitions.g.cs | 2 + .../InstrumentationDefinitions.g.cs | 2 + .../Generated/generated_calltargets.g.cpp | 187 +++++++++--------- .../CI/VSTestEmptySessionTests.cs | 103 ++++++++++ .../Ci/EmptyTestSessionTests.cs | 151 ++++++++++++++ 13 files changed, 605 insertions(+), 92 deletions(-) create mode 100644 tracer/src/Datadog.Trace/Ci/Ipc/Messages/SessionExecutedTestsMessage.cs create mode 100644 tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/TestRunRequestOnRunCompletionIntegration.cs create mode 100644 tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/VSTestEmptySessionTests.cs create mode 100644 tracer/test/Datadog.Trace.Tests/Ci/EmptyTestSessionTests.cs diff --git a/tracer/build/supported_calltargets.g.json b/tracer/build/supported_calltargets.g.json index 06b1bd85334b..c4fa841598af 100644 --- a/tracer/build/supported_calltargets.g.json +++ b/tracer/build/supported_calltargets.g.json @@ -7881,6 +7881,31 @@ "IsAdoNetIntegration": false, "InstrumentationCategory": 1 }, + { + "IntegrationName": "DotnetTest", + "AssemblyName": "vstest.console", + "TargetTypeName": "Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.RunTestsArgumentExecutor+TestRunRequestEventsRegistrar", + "TargetMethodName": "TestRunRequest_OnRunCompletion", + "TargetReturnType": "System.Void", + "TargetParameterTypes": [ + "System.Object", + "Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCompleteEventArgs" + ], + "MinimumVersion": { + "Item1": 15, + "Item2": 0, + "Item3": 0 + }, + "MaximumVersion": { + "Item1": 15, + "Item2": 65535, + "Item3": 65535 + }, + "InstrumentationTypeName": "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration", + "IntegrationKind": 0, + "IsAdoNetIntegration": false, + "InstrumentationCategory": 1 + }, { "IntegrationName": "DotnetTest", "AssemblyName": "vstest.console.arm64", @@ -7930,6 +7955,31 @@ "IsAdoNetIntegration": false, "InstrumentationCategory": 1 }, + { + "IntegrationName": "DotnetTest", + "AssemblyName": "vstest.console.arm64", + "TargetTypeName": "Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.RunTestsArgumentExecutor+TestRunRequestEventsRegistrar", + "TargetMethodName": "TestRunRequest_OnRunCompletion", + "TargetReturnType": "System.Void", + "TargetParameterTypes": [ + "System.Object", + "Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCompleteEventArgs" + ], + "MinimumVersion": { + "Item1": 15, + "Item2": 0, + "Item3": 0 + }, + "MaximumVersion": { + "Item1": 15, + "Item2": 65535, + "Item3": 65535 + }, + "InstrumentationTypeName": "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration", + "IntegrationKind": 0, + "IsAdoNetIntegration": false, + "InstrumentationCategory": 1 + }, { "IntegrationName": "ElasticsearchNet", "AssemblyName": "Elasticsearch.Net", diff --git a/tracer/src/Datadog.Trace/Ci/Ipc/Messages/SessionExecutedTestsMessage.cs b/tracer/src/Datadog.Trace/Ci/Ipc/Messages/SessionExecutedTestsMessage.cs new file mode 100644 index 000000000000..adcecdedbf19 --- /dev/null +++ b/tracer/src/Datadog.Trace/Ci/Ipc/Messages/SessionExecutedTestsMessage.cs @@ -0,0 +1,37 @@ +// +// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. +// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. +// +#nullable enable + +using Datadog.Trace.Vendors.Newtonsoft.Json; + +namespace Datadog.Trace.Ci.Ipc.Messages; + +/// +/// Number of tests executed by a test runner, sent to the test session that owns the run. +/// +internal sealed class SessionExecutedTestsMessage +{ + /// + /// Initializes a new instance of the class for IPC deserialization. + /// + public SessionExecutedTestsMessage() + { + } + + /// + /// Initializes a new instance of the class. + /// + /// Number of executed tests, or null when the runner could not count them. + public SessionExecutedTestsMessage(long? executedTests) + { + ExecutedTests = executedTests; + } + + /// + /// Gets or sets the number of executed tests, or null when the runner could not count them. + /// + [JsonProperty("executed_tests")] + public long? ExecutedTests { get; set; } +} diff --git a/tracer/src/Datadog.Trace/Ci/Tags/TestTags.cs b/tracer/src/Datadog.Trace/Ci/Tags/TestTags.cs index 73217bf7de65..f54527aeafe2 100644 --- a/tracer/src/Datadog.Trace/Ci/Tags/TestTags.cs +++ b/tracer/src/Datadog.Trace/Ci/Tags/TestTags.cs @@ -91,6 +91,21 @@ internal static class TestTags /// public const string SkipReason = "test.skip_reason"; + /// + /// Skip reason value for a test session that ran no tests + /// + public const string SkipReasonNoTestsExecuted = "No tests were executed"; + + /// + /// Reason why a test session ran no tests + /// + public const string SessionEmptyReason = "test.session.empty_reason"; + + /// + /// Session empty reason value when the test runner executed no tests + /// + public const string SessionEmptyReasonZeroTests = "zero_tests"; + /// /// Test output message /// diff --git a/tracer/src/Datadog.Trace/Ci/TestSession.cs b/tracer/src/Datadog.Trace/Ci/TestSession.cs index 90b90ab4c402..94a16cabb76d 100644 --- a/tracer/src/Datadog.Trace/Ci/TestSession.cs +++ b/tracer/src/Datadog.Trace/Ci/TestSession.cs @@ -72,6 +72,12 @@ public sealed class TestSession /// private long _lastCoverageIpcMessageTicks; + /// + /// Tracks the tests executed by test runners: 0 until one reports, 1 while every report counted zero tests, + /// and 2 once a runner executed tests or could not count them. + /// + private int _executedTestsState; + private TestSession(string? command, string? workingDirectory, string? framework, DateTimeOffset? startDate, bool propagateEnvironmentVariables) { // First we make sure that CI Visibility is initialized. @@ -440,6 +446,15 @@ internal bool InternalClose(TestStatus status, TimeSpan? duration) } WaitForActiveIpcCallbacks(TimeSpan.FromMilliseconds(100)); + + // Test runners report over IPC, and disposing the server above reads every report already sent. + if (status == TestStatus.Pass && Volatile.Read(ref _executedTestsState) == 1) + { + Tags.Status = TestTags.StatusSkip; + SetTag(TestTags.SkipReason, TestTags.SkipReasonNoTestsExecuted); + SetTag(TestTags.SessionEmptyReason, TestTags.SessionEmptyReasonZeroTests); + } + // Coverlet XML fallback can be processed in-process before the final close path. // In that case there is no persisted fallback result to wait for. var waitForCoverletXmlFallback = @@ -529,6 +544,23 @@ internal TestModule CreateModule(string name, string framework, string framework return new TestModule(name, framework, frameworkVersion, startDate, Tags); } + /// + /// Records the number of tests executed by a test runner, such as vstest.console. A session that closes as passed + /// is reported as skipped when every runner that reported executed zero tests. + /// + /// Number of executed tests, or null when the runner could not count them. + internal void RecordExecutedTests(long? executedTests) + { + if (executedTests == 0) + { + Interlocked.CompareExchange(ref _executedTestsState, 1, 0); + } + else + { + Volatile.Write(ref _executedTestsState, 2); + } + } + internal bool EnableIpcServer() { if (Tags.SessionId == 0) @@ -783,6 +815,11 @@ private void OnIpcMessageReceived(object message) SetTag(tagMessage.Name, tagMessage.NumberValue); } } + else if (message is SessionExecutedTestsMessage executedTestsMessage) + { + _testOptimization.Log.Information("TestSession.ReceiveMessage (executed tests): {ExecutedTests}", executedTestsMessage.ExecutedTests); + RecordExecutedTests(executedTestsMessage.ExecutedTests); + } else if (message is SessionCodeCoverageReferenceMessage codeCoverageReferenceMessage) { Interlocked.Increment(ref _coverageIpcMessageCount); diff --git a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/DotnetCommon.cs b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/DotnetCommon.cs index 58a4009d9357..6ad49a8fbfbb 100644 --- a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/DotnetCommon.cs +++ b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/DotnetCommon.cs @@ -279,6 +279,9 @@ internal static void FinalizeSession(TestSession? session, int exitCode, Excepti if (exception is not null) { session.SetErrorInfo(exception); + + // The exit code is 0 when the runner throws, so the session can't be reported as empty. + session.RecordExecutedTests(null); } var codeCoveragePath = EnvironmentHelpers.GetEnvironmentVariable(Configuration.ConfigurationKeys.CIVisibility.CodeCoveragePath); diff --git a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/TestRunRequestOnRunCompletionIntegration.cs b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/TestRunRequestOnRunCompletionIntegration.cs new file mode 100644 index 000000000000..53dd92619db4 --- /dev/null +++ b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/TestRunRequestOnRunCompletionIntegration.cs @@ -0,0 +1,106 @@ +// +// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. +// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. +// +#nullable enable + +using System; +using System.ComponentModel; +using System.Threading; +using Datadog.Trace.Ci.Ipc; +using Datadog.Trace.Ci.Ipc.Messages; +using Datadog.Trace.ClrProfiler.CallTarget; +using Datadog.Trace.DuckTyping; +using Datadog.Trace.Propagators; +using Datadog.Trace.Util; + +namespace Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest; + +/// +/// System.Void Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.RunTestsArgumentExecutor+TestRunRequestEventsRegistrar::TestRunRequest_OnRunCompletion(System.Object,Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCompleteEventArgs) calltarget instrumentation +/// +/// +/// Reports the number of tests executed by a vstest.console run to the test session, so a successful session that ran +/// no tests can be reported as skipped. VSTest counts the tests itself, so tests from frameworks that are not +/// instrumented are included, and a session without test events is not mistaken for an empty one. +/// +[InstrumentMethod( + AssemblyNames = ["vstest.console", "vstest.console.arm64"], + TypeName = "Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.RunTestsArgumentExecutor+TestRunRequestEventsRegistrar", + MethodName = "TestRunRequest_OnRunCompletion", + ReturnTypeName = ClrNames.Void, + ParameterTypeNames = [ClrNames.Object, "Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCompleteEventArgs"], + MinimumVersion = "15.0.0", + MaximumVersion = "15.*.*", + IntegrationName = DotnetCommon.DotnetTestIntegrationName)] +[Browsable(false)] +[EditorBrowsable(EditorBrowsableState.Never)] +public sealed class TestRunRequestOnRunCompletionIntegration +{ + internal interface ITestRunCompleteEventArgs : IDuckType + { + bool IsAborted { get; } + + bool IsCanceled { get; } + + Exception? Error { get; } + + TestRunStatistics? TestRunStatistics { get; } + } + + internal static CallTargetState OnMethodBegin(TTarget instance, object? sender, TArgs args) + where TArgs : ITestRunCompleteEventArgs + { + if (DotnetCommon.DotnetTestIntegrationEnabled && args.Instance is not null) + { + // An aborted, canceled or failed run can't confirm that no tests ran. + var executedTests = args.IsAborted || args.IsCanceled || args.Error is not null ? null : args.TestRunStatistics?.ExecutedTests; + SendExecutedTests(executedTests); + } + + return CallTargetState.GetDefault(); + } + + private static void SendExecutedTests(long? executedTests) + { + // The session that owns this run propagates its context through environment variables, whether it was created + // by this vstest.console process or by a parent process such as the dotnet CLI. Only sessions created by the + // dotnet test integrations host the IPC server, so manual sessions never receive the count. + var context = Tracer.Instance.TracerManager.SpanContextPropagator.Extract( + EnvironmentHelpers.GetEnvironmentVariables(), + new DictionaryGetterAndSetter(DictionaryGetterAndSetter.EnvironmentVariableKeyProcessor)); + if (context.SpanContext is not { } sessionContext) + { + return; + } + + try + { + using var ipcClient = new IpcClient($"session_{sessionContext.SpanId}"); + var message = new SessionExecutedTestsMessage(executedTests); + + // A lost count could let another run's zero count report the session as empty. The session drains the + // channel every 100 ms, so a full channel is retried for a short while. + for (var attempt = 1; !ipcClient.TrySendMessage(message); attempt++) + { + if (attempt == 10) + { + DotnetCommon.Log.Warning("TestRunRequestOnRunCompletionIntegration: Could not send the executed tests to the test session."); + return; + } + + Thread.Sleep(100); + } + } + catch (Exception ex) + { + DotnetCommon.Log.Error(ex, "TestRunRequestOnRunCompletionIntegration: Error sending the executed tests to the test session."); + } + } + + [DuckCopy] + internal struct TestRunStatistics + { + public long ExecutedTests; + } +} diff --git a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs index 95f550ffe6e8..29da4451f9b3 100644 --- a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs +++ b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs @@ -357,8 +357,10 @@ internal static bool IsInstrumentedAssembly(string assemblyName) or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ManagedVanguardStopIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorGetArgumentProcessorsIntegration" + or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorGetArgumentProcessorsIntegration" + or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration" => Datadog.Trace.Configuration.IntegrationId.DotnetTest, "Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V5.RequestPipeline_CallElasticsearch_Integration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V6.RequestPipeline_CallElasticsearch_Integration" diff --git a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs index 60e90b6706b8..2559766c78c8 100644 --- a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs +++ b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs @@ -374,8 +374,10 @@ internal static bool IsInstrumentedAssembly(string assemblyName) or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ManagedVanguardStopIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorGetArgumentProcessorsIntegration" + or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorGetArgumentProcessorsIntegration" + or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration" => Datadog.Trace.Configuration.IntegrationId.DotnetTest, "Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V5.RequestPipeline_CallElasticsearch_Integration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V6.RequestPipeline_CallElasticsearch_Integration" diff --git a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs index b6c47efc4a2a..e1f9fc95d6f8 100644 --- a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs +++ b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs @@ -369,8 +369,10 @@ internal static bool IsInstrumentedAssembly(string assemblyName) or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ManagedVanguardStopIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorGetArgumentProcessorsIntegration" + or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorGetArgumentProcessorsIntegration" + or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration" => Datadog.Trace.Configuration.IntegrationId.DotnetTest, "Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V5.RequestPipeline_CallElasticsearch_Integration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V6.RequestPipeline_CallElasticsearch_Integration" diff --git a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs index b6c47efc4a2a..e1f9fc95d6f8 100644 --- a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs +++ b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/InstrumentationDefinitionsGenerator/InstrumentationDefinitions.g.cs @@ -369,8 +369,10 @@ internal static bool IsInstrumentedAssembly(string assemblyName) or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ManagedVanguardStopIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorGetArgumentProcessorsIntegration" + or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorGetArgumentProcessorsIntegration" + or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration" => Datadog.Trace.Configuration.IntegrationId.DotnetTest, "Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V5.RequestPipeline_CallElasticsearch_Integration" or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V6.RequestPipeline_CallElasticsearch_Integration" 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 bb2a5eb059e4..c671d9a79b20 100644 --- a/tracer/src/Datadog.Tracer.Native/Generated/generated_calltargets.g.cpp +++ b/tracer/src/Datadog.Tracer.Native/Generated/generated_calltargets.g.cpp @@ -420,42 +420,43 @@ WCHAR* sig401[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.Http.HttpR WCHAR* sig402[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.HttpWebResponse"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders&"),(WCHAR*)WStr("System.IO.Stream&"),}; WCHAR* sig403[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.WebException"),(WCHAR*)WStr("System.Net.HttpWebResponse&"),}; WCHAR* sig404[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Nullable`1[System.Int64]"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Object"),}; -WCHAR* sig405[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Object"),(WCHAR*)WStr("System.Collections.Generic.Dictionary`2[System.String,System.Object]"),}; -WCHAR* sig406[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Object"),(WCHAR*)WStr("System.Messaging.MessageQueueTransaction"),(WCHAR*)WStr("System.Messaging.MessageQueueTransactionType"),}; -WCHAR* sig407[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack"),(WCHAR*)WStr("System.Runtime.Remoting.Messaging.IMessage"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders&"),(WCHAR*)WStr("System.IO.Stream&"),}; -WCHAR* sig408[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack"),(WCHAR*)WStr("System.Runtime.Remoting.Messaging.IMessage"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders&"),(WCHAR*)WStr("System.IO.Stream&"),}; -WCHAR* sig409[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Runtime.Remoting.Messaging.IMessage"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders"),(WCHAR*)WStr("System.IO.Stream"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders&"),(WCHAR*)WStr("System.IO.Stream&"),}; -WCHAR* sig410[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.MessageRpc&"),}; -WCHAR* sig411[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.MessageRpc&"),(WCHAR*)WStr("System.Exception&"),(WCHAR*)WStr("System.Boolean&"),}; -WCHAR* sig412[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),}; -WCHAR* sig413[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("!0"),(WCHAR*)WStr("!1"),(WCHAR*)WStr("System.Action`1[Confluent.Kafka.DeliveryReport`2[!0,!1]]"),}; -WCHAR* sig414[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("Datadog.Trace.UserDetails"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; -WCHAR* sig415[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("NLog.Config.LoggingConfiguration"),}; -WCHAR* sig416[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),}; -WCHAR* sig417[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("Datadog.Trace.UserDetails"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; -WCHAR* sig418[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.Object]"),}; -WCHAR* sig419[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; -WCHAR* sig420[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; -WCHAR* sig421[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; -WCHAR* sig422[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.ObjectModel.UnitTestElement]"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter.ITestCaseDiscoverySink"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter.IDiscoveryContext"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging.IMessageLogger"),}; -WCHAR* sig423[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),}; -WCHAR* sig424[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("RabbitMQ.Client.IBasicProperties"),(WCHAR*)WStr("_"),}; -WCHAR* sig425[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.Object]"),}; -WCHAR* sig426[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; -WCHAR* sig427[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.Object]"),}; -WCHAR* sig428[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Int64"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IReadOnlyDictionary`2[System.String,System.Object]"),(WCHAR*)WStr("System.Int32"),}; -WCHAR* sig429[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.UInt64"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("RabbitMQ.Client.IBasicProperties"),(WCHAR*)WStr("_"),}; -WCHAR* sig430[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.TimeSpan"),}; -WCHAR* sig431[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Type"),(WCHAR*)WStr("NLog.Internal.TargetWithFilterChain"),(WCHAR*)WStr("NLog.LogEventInfo"),(WCHAR*)WStr("NLog.LogFactory"),}; -WCHAR* sig432[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Xml.XmlDictionaryWriter"),(WCHAR*)WStr("System.Object"),}; -WCHAR* sig433[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Xml.XmlWriter"),(WCHAR*)WStr("System.Object"),}; -WCHAR* sig434[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Xunit.v3.IXunitTestMethod"),(WCHAR*)WStr("System.Collections.Generic.IReadOnlyCollection`1[Xunit.v3.IXunitTestCase]"),(WCHAR*)WStr("Xunit.Sdk.ExplicitOption"),(WCHAR*)WStr("Xunit.v3.IMessageBus"),(WCHAR*)WStr("Xunit.v3.ExceptionAggregator"),(WCHAR*)WStr("System.Threading.CancellationTokenSource"),(WCHAR*)WStr("System.Object[]"),}; -WCHAR* sig435[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Yarp.ReverseProxy.Forwarder.ForwarderHttpClientContext"),(WCHAR*)WStr("System.Net.Http.SocketsHttpHandler"),}; -WCHAR* sig436[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("_"),}; -WCHAR* sig437[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),}; -WCHAR* sig438[]={(WCHAR*)WStr("System.Web.Mvc.ActionResult"),(WCHAR*)WStr("System.Web.Mvc.ControllerContext"),(WCHAR*)WStr("System.Web.Mvc.ActionDescriptor"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.Object]"),}; -WCHAR* sig439[]={(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),}; -WCHAR* sig440[]={(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),}; +WCHAR* sig405[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Object"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.ObjectModel.Client.TestRunCompleteEventArgs"),}; +WCHAR* sig406[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Object"),(WCHAR*)WStr("System.Collections.Generic.Dictionary`2[System.String,System.Object]"),}; +WCHAR* sig407[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Object"),(WCHAR*)WStr("System.Messaging.MessageQueueTransaction"),(WCHAR*)WStr("System.Messaging.MessageQueueTransactionType"),}; +WCHAR* sig408[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack"),(WCHAR*)WStr("System.Runtime.Remoting.Messaging.IMessage"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders&"),(WCHAR*)WStr("System.IO.Stream&"),}; +WCHAR* sig409[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.IServerResponseChannelSinkStack"),(WCHAR*)WStr("System.Runtime.Remoting.Messaging.IMessage"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders&"),(WCHAR*)WStr("System.IO.Stream&"),}; +WCHAR* sig410[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Runtime.Remoting.Messaging.IMessage"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders"),(WCHAR*)WStr("System.IO.Stream"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders&"),(WCHAR*)WStr("System.IO.Stream&"),}; +WCHAR* sig411[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.MessageRpc&"),}; +WCHAR* sig412[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.MessageRpc&"),(WCHAR*)WStr("System.Exception&"),(WCHAR*)WStr("System.Boolean&"),}; +WCHAR* sig413[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),}; +WCHAR* sig414[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("!0"),(WCHAR*)WStr("!1"),(WCHAR*)WStr("System.Action`1[Confluent.Kafka.DeliveryReport`2[!0,!1]]"),}; +WCHAR* sig415[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("Datadog.Trace.UserDetails"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; +WCHAR* sig416[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("NLog.Config.LoggingConfiguration"),}; +WCHAR* sig417[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),}; +WCHAR* sig418[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("Datadog.Trace.UserDetails"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; +WCHAR* sig419[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.Object]"),}; +WCHAR* sig420[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; +WCHAR* sig421[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; +WCHAR* sig422[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; +WCHAR* sig423[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.ObjectModel.UnitTestElement]"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter.ITestCaseDiscoverySink"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.ObjectModel.Adapter.IDiscoveryContext"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging.IMessageLogger"),}; +WCHAR* sig424[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),}; +WCHAR* sig425[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("RabbitMQ.Client.IBasicProperties"),(WCHAR*)WStr("_"),}; +WCHAR* sig426[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.Object]"),}; +WCHAR* sig427[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),}; +WCHAR* sig428[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.Object]"),}; +WCHAR* sig429[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Int64"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IReadOnlyDictionary`2[System.String,System.Object]"),(WCHAR*)WStr("System.Int32"),}; +WCHAR* sig430[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.UInt64"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("RabbitMQ.Client.IBasicProperties"),(WCHAR*)WStr("_"),}; +WCHAR* sig431[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.TimeSpan"),}; +WCHAR* sig432[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Type"),(WCHAR*)WStr("NLog.Internal.TargetWithFilterChain"),(WCHAR*)WStr("NLog.LogEventInfo"),(WCHAR*)WStr("NLog.LogFactory"),}; +WCHAR* sig433[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Xml.XmlDictionaryWriter"),(WCHAR*)WStr("System.Object"),}; +WCHAR* sig434[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Xml.XmlWriter"),(WCHAR*)WStr("System.Object"),}; +WCHAR* sig435[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Xunit.v3.IXunitTestMethod"),(WCHAR*)WStr("System.Collections.Generic.IReadOnlyCollection`1[Xunit.v3.IXunitTestCase]"),(WCHAR*)WStr("Xunit.Sdk.ExplicitOption"),(WCHAR*)WStr("Xunit.v3.IMessageBus"),(WCHAR*)WStr("Xunit.v3.ExceptionAggregator"),(WCHAR*)WStr("System.Threading.CancellationTokenSource"),(WCHAR*)WStr("System.Object[]"),}; +WCHAR* sig436[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Yarp.ReverseProxy.Forwarder.ForwarderHttpClientContext"),(WCHAR*)WStr("System.Net.Http.SocketsHttpHandler"),}; +WCHAR* sig437[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("_"),}; +WCHAR* sig438[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),}; +WCHAR* sig439[]={(WCHAR*)WStr("System.Web.Mvc.ActionResult"),(WCHAR*)WStr("System.Web.Mvc.ControllerContext"),(WCHAR*)WStr("System.Web.Mvc.ActionDescriptor"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.Object]"),}; +WCHAR* sig440[]={(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),}; +WCHAR* sig441[]={(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),}; std::vector callTargets = { @@ -497,9 +498,9 @@ std::vector callTargets = {(WCHAR*)WStr("AerospikeClient"),(WCHAR*)WStr("Aerospike.Client.AsyncCommand"),(WCHAR*)WStr("ExecuteCommand"),sig346,1,4,0,0,8,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Aerospike.AsyncCommandIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("AerospikeClient"),(WCHAR*)WStr("Aerospike.Client.SyncCommand"),(WCHAR*)WStr("ExecuteCommand"),sig346,1,4,0,0,8,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Aerospike.SyncCommandIntegration"),CallTargetKind::Default,1,15}, #if _WIN32 -{(WCHAR*)WStr("System.Runtime.Serialization"),(WCHAR*)WStr("System.Runtime.Serialization.Json.DataContractJsonSerializer"),(WCHAR*)WStr("WriteObject"),sig432,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.DataContractJsonSerializer_WriteObject_XmlDictionaryWriter_Integration"),CallTargetKind::Default,2,1}, +{(WCHAR*)WStr("System.Runtime.Serialization"),(WCHAR*)WStr("System.Runtime.Serialization.Json.DataContractJsonSerializer"),(WCHAR*)WStr("WriteObject"),sig433,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.DataContractJsonSerializer_WriteObject_XmlDictionaryWriter_Integration"),CallTargetKind::Default,2,1}, {(WCHAR*)WStr("System.Runtime.Serialization"),(WCHAR*)WStr("System.Runtime.Serialization.XmlObjectSerializer"),(WCHAR*)WStr("WriteObject"),sig399,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.DataContractJsonSerializer_WriteObject_Integration"),CallTargetKind::Derived,2,1}, -{(WCHAR*)WStr("System.Runtime.Serialization"),(WCHAR*)WStr("System.Runtime.Serialization.XmlObjectSerializer"),(WCHAR*)WStr("WriteObject"),sig433,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.DataContractJsonSerializer_WriteObject_XmlWriter_Integration"),CallTargetKind::Derived,2,1}, +{(WCHAR*)WStr("System.Runtime.Serialization"),(WCHAR*)WStr("System.Runtime.Serialization.XmlObjectSerializer"),(WCHAR*)WStr("WriteObject"),sig434,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.DataContractJsonSerializer_WriteObject_XmlWriter_Integration"),CallTargetKind::Derived,2,1}, {(WCHAR*)WStr("System.Web"),(WCHAR*)WStr("System.Web.Compilation.BuildManager"),(WCHAR*)WStr("InvokePreStartInitMethodsCore"),sig385,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.HttpModule_Integration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Web"),(WCHAR*)WStr("System.Web.ThreadContext"),(WCHAR*)WStr("AssociateWithCurrentThread"),sig380,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ThreadContext_AssociateWithCurrentThread_Integration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Web"),(WCHAR*)WStr("System.Web.ThreadContext"),(WCHAR*)WStr("DisassociateFromCurrentThread"),sig346,1,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ThreadContext_DisassociateFromCurrentThread_Integration"),CallTargetKind::Default,1,1}, @@ -522,7 +523,7 @@ std::vector callTargets = {(WCHAR*)WStr("Microsoft.AspNetCore.Server.Kestrel.Core"),(WCHAR*)WStr("Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol"),(WCHAR*)WStr("FireOnStarting"),sig194,1,2,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.FireOnStartCommon"),CallTargetKind::Default,6,14}, {(WCHAR*)WStr("Microsoft.AspNetCore.Server.Kestrel.Core"),(WCHAR*)WStr("Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer"),(WCHAR*)WStr("StartAsync"),sig210,3,2,2,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.EndpointsCollection.KestrelServerImplStartAsyncIntegration"),CallTargetKind::Default,1,14}, {(WCHAR*)WStr("Microsoft.AspNetCore.Server.Kestrel.Core"),(WCHAR*)WStr("Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl"),(WCHAR*)WStr("StartAsync"),sig210,3,5,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.EndpointsCollection.KestrelServerImplStartAsyncIntegration"),CallTargetKind::Default,1,14}, -{(WCHAR*)WStr("Microsoft.AspNetCore.Session"),(WCHAR*)WStr("Microsoft.AspNetCore.Builder.SessionOptions"),(WCHAR*)WStr("set_IdleTimeout"),sig430,2,2,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.Session.SessionOptionsIdleTimeoutIntegration"),CallTargetKind::Default,4,15}, +{(WCHAR*)WStr("Microsoft.AspNetCore.Session"),(WCHAR*)WStr("Microsoft.AspNetCore.Builder.SessionOptions"),(WCHAR*)WStr("set_IdleTimeout"),sig431,2,2,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.Session.SessionOptionsIdleTimeoutIntegration"),CallTargetKind::Default,4,15}, {(WCHAR*)WStr("Microsoft.AspNetCore.StaticFiles"),(WCHAR*)WStr("Microsoft.AspNetCore.Builder.DirectoryBrowserExtensions"),(WCHAR*)WStr("UseDirectoryBrowser"),sig080,2,2,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.StaticFiles.DirectoryBrowserExtensionsUseDirectoryBrowserIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.AspNetCore.StaticFiles"),(WCHAR*)WStr("Microsoft.AspNetCore.Builder.DirectoryBrowserExtensions"),(WCHAR*)WStr("UseDirectoryBrowser"),sig081,3,2,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.StaticFiles.DirectoryBrowserExtensionsUseDirectoryBrowserIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.Extensions.Identity.Core"),(WCHAR*)WStr("Microsoft.AspNetCore.Identity.UserManager`1"),(WCHAR*)WStr("CreateAsync"),sig288,2,2,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.UserEvents.UserManagerCreateIntegration"),CallTargetKind::Default,2,14}, @@ -531,7 +532,7 @@ std::vector callTargets = {(WCHAR*)WStr("System.Web.Mvc"),(WCHAR*)WStr("System.Web.Mvc.Async.AsyncControllerActionInvoker"),(WCHAR*)WStr("BeginInvokeAction"),sig161,5,4,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.AsyncControllerActionInvoker_BeginInvokeAction_Integration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Web.Mvc"),(WCHAR*)WStr("System.Web.Mvc.Async.AsyncControllerActionInvoker"),(WCHAR*)WStr("BeginInvokeActionMethod"),sig162,6,4,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.AsyncControllerActionInvoker_BeginInvokeActionMethod_Integration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Web.Mvc"),(WCHAR*)WStr("System.Web.Mvc.Async.AsyncControllerActionInvoker"),(WCHAR*)WStr("EndInvokeAction"),sig140,2,4,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.AsyncControllerActionInvoker_EndInvokeAction_Integration"),CallTargetKind::Default,1,1}, -{(WCHAR*)WStr("System.Web.Mvc"),(WCHAR*)WStr("System.Web.Mvc.ControllerActionInvoker"),(WCHAR*)WStr("InvokeActionMethod"),sig438,4,4,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ControllerActionInvoker_InvokeAction_Integration"),CallTargetKind::Default,7,1}, +{(WCHAR*)WStr("System.Web.Mvc"),(WCHAR*)WStr("System.Web.Mvc.ControllerActionInvoker"),(WCHAR*)WStr("InvokeActionMethod"),sig439,4,4,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ControllerActionInvoker_InvokeAction_Integration"),CallTargetKind::Default,7,1}, {(WCHAR*)WStr("System.Web.Http"),(WCHAR*)WStr("System.Web.Http.ApiController"),(WCHAR*)WStr("ExecuteAsync"),sig331,3,5,1,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ApiController_ExecuteAsync_Integration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Web.Http"),(WCHAR*)WStr("System.Web.Http.Controllers.ReflectedHttpActionDescriptor"),(WCHAR*)WStr("ExecuteAsync"),sig330,4,5,1,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ReflectedHttpActionDescriptor_ExecuteAsync_Integration"),CallTargetKind::Default,7,1}, {(WCHAR*)WStr("System.Web.Http"),(WCHAR*)WStr("System.Web.Http.ExceptionHandling.ExceptionHandlerExtensions"),(WCHAR*)WStr("HandleAsync"),sig332,4,5,1,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ExceptionHandlerExtensions_HandleAsync_Integration"),CallTargetKind::Default,1,1}, @@ -683,16 +684,16 @@ std::vector callTargets = {(WCHAR*)WStr("Couchbase.NetClient"),(WCHAR*)WStr("Couchbase.IO.Services.SharedPooledIOService"),(WCHAR*)WStr("ExecuteAsync"),sig203,2,2,2,8,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Couchbase.IIOServiceExecuteAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Couchbase.NetClient"),(WCHAR*)WStr("Couchbase.IO.Services.SharedPooledIOService"),(WCHAR*)WStr("ExecuteAsync"),sig204,2,2,2,8,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Couchbase.IIOServiceExecuteAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Couchbase.NetClient"),(WCHAR*)WStr("Couchbase.IO.Services.SharedPooledIOService"),(WCHAR*)WStr("ExecuteAsync"),sig205,3,2,2,8,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Couchbase.IIOServiceExecuteAsyncIntegrationBis"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackCustomEvent"),sig412,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackCustomEventIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackCustomEvent"),sig421,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackCustomEventMetadataIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackUserLoginFailureEvent"),sig416,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackUserLoginFailureEventIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackUserLoginFailureEvent"),sig419,4,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackUserLoginFailureEventMetadataIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackUserLoginSuccessEvent"),sig412,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackUserLoginSuccessEventIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackUserLoginSuccessEvent"),sig421,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackUserLoginSuccessEventMetadataIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdkV2"),(WCHAR*)WStr("TrackUserLoginFailure"),sig417,5,3,0,15,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdkV2.EventTrackingSdkV2TrackUserLoginFailureUserDetailsIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdkV2"),(WCHAR*)WStr("TrackUserLoginFailure"),sig420,5,3,0,15,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdkV2.EventTrackingSdkV2TrackUserLoginFailureUserIdIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdkV2"),(WCHAR*)WStr("TrackUserLoginSuccess"),sig414,4,3,0,15,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdkV2.EventTrackingSdkV2TrackUserLoginSuccessUserDetailsIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdkV2"),(WCHAR*)WStr("TrackUserLoginSuccess"),sig426,4,3,15,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdkV2.EventTrackingSdkV2TrackUserLoginSuccessUserIdIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackCustomEvent"),sig413,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackCustomEventIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackCustomEvent"),sig422,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackCustomEventMetadataIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackUserLoginFailureEvent"),sig417,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackUserLoginFailureEventIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackUserLoginFailureEvent"),sig420,4,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackUserLoginFailureEventMetadataIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackUserLoginSuccessEvent"),sig413,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackUserLoginSuccessEventIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdk"),(WCHAR*)WStr("TrackUserLoginSuccessEvent"),sig422,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdk.EventTrackingSdkTrackUserLoginSuccessEventMetadataIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdkV2"),(WCHAR*)WStr("TrackUserLoginFailure"),sig418,5,3,0,15,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdkV2.EventTrackingSdkV2TrackUserLoginFailureUserDetailsIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdkV2"),(WCHAR*)WStr("TrackUserLoginFailure"),sig421,5,3,0,15,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdkV2.EventTrackingSdkV2TrackUserLoginFailureUserIdIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdkV2"),(WCHAR*)WStr("TrackUserLoginSuccess"),sig415,4,3,0,15,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdkV2.EventTrackingSdkV2TrackUserLoginSuccessUserDetailsIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.AppSec.EventTrackingSdkV2"),(WCHAR*)WStr("TrackUserLoginSuccess"),sig427,4,3,15,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.AppSec.EventTrackingSdkV2.EventTrackingSdkV2TrackUserLoginSuccessUserIdIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Baggage"),(WCHAR*)WStr("get_Current"),sig148,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Baggage.Baggage_GetCurrent_Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Baggage"),(WCHAR*)WStr("set_Current"),sig387,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Baggage.Baggage_SetCurrent_Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Ci.TestExtensions"),(WCHAR*)WStr("AddBenchmarkData"),sig355,5,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Ci.TestExtensionsAddBenchmarkDataIntegration"),CallTargetKind::Default,1,15}, @@ -756,7 +757,7 @@ std::vector callTargets = {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr("get_TracerMetricsEnabled"),sig137,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.TracerMetricsEnabledGetIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr("PopulateDictionary"),sig384,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.PopulateDictionaryIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr("set_DiagnosticSourceEnabled"),sig380,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.DiagnosticSourceEnabledSetIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.DataStreams"),(WCHAR*)WStr("TrackTransactionInternal"),sig423,3,3,43,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.DataStreams.DataStreamsTrackTransactionIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.DataStreams"),(WCHAR*)WStr("TrackTransactionInternal"),sig424,3,3,43,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.DataStreams.DataStreamsTrackTransactionIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.ExtensionMethods.SpanExtensions"),(WCHAR*)WStr("SetTraceSamplingPriority"),sig357,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Extensions.SpanExtensionsSetTraceSamplingPriorityIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.SpanContextExtractor"),(WCHAR*)WStr(".ctor"),sig346,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Propagators.SpanContextExtractorConstructorIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.SpanContextExtractor"),(WCHAR*)WStr("Extract"),sig073,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Propagators.SpanContextExtractorExtractIntegration"),CallTargetKind::Default,1,15}, @@ -766,7 +767,7 @@ std::vector callTargets = {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.SpanContextInjector"),(WCHAR*)WStr("InjectIncludingDsm"),sig348,6,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Propagators.SpanContextInjectorInjectIncludingDsmIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.SpanExtensions"),(WCHAR*)WStr("SetTag"),sig071,4,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Extensions.SpanExtensionsSetTagIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.SpanExtensions"),(WCHAR*)WStr("SetUser"),sig358,9,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Extensions.SpanExtensionsSetUserIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Tracer"),(WCHAR*)WStr(".ctor"),sig405,3,3,0,0,3,6,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Tracer.CtorIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Tracer"),(WCHAR*)WStr(".ctor"),sig406,3,3,0,0,3,6,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Tracer.CtorIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Tracer"),(WCHAR*)WStr("Configure"),sig383,2,3,7,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Tracer.ConfigureIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Tracer"),(WCHAR*)WStr("Configure"),sig383,2,3,0,0,3,6,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Tracer.ConfigureIntegration_Pre3_7"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Tracer"),(WCHAR*)WStr("Datadog.Trace.IDatadogOpenTracingTracer.StartSpan"),sig072,6,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Tracer.StartSpanIntegration"),CallTargetKind::Default,1,15}, @@ -788,8 +789,10 @@ std::vector callTargets = {(WCHAR*)WStr("Microsoft.VisualStudio.TraceDataCollector"),(WCHAR*)WStr("Microsoft.VisualStudio.TraceCollector.VanguardCollector.ManagedVanguard"),(WCHAR*)WStr("Stop"),sig346,1,15,0,0,15,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ManagedVanguardStopIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("vstest.console"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.CommandLine.Executor"),(WCHAR*)WStr("Execute"),sig166,2,15,0,0,15,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("vstest.console"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.CommandLine.Executor"),(WCHAR*)WStr("GetArgumentProcessors"),sig167,3,15,0,0,15,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorGetArgumentProcessorsIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("vstest.console"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.RunTestsArgumentExecutor+TestRunRequestEventsRegistrar"),(WCHAR*)WStr("TestRunRequest_OnRunCompletion"),sig405,3,15,0,0,15,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("vstest.console.arm64"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.CommandLine.Executor"),(WCHAR*)WStr("Execute"),sig166,2,15,0,0,15,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("vstest.console.arm64"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.CommandLine.Executor"),(WCHAR*)WStr("GetArgumentProcessors"),sig167,3,15,0,0,15,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorGetArgumentProcessorsIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("vstest.console.arm64"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.CommandLine.Processors.RunTestsArgumentExecutor+TestRunRequestEventsRegistrar"),(WCHAR*)WStr("TestRunRequest_OnRunCompletion"),sig405,3,15,0,0,15,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestRunRequestOnRunCompletionIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Elasticsearch.Net"),(WCHAR*)WStr("Elasticsearch.Net.RequestPipeline"),(WCHAR*)WStr("CallElasticsearch"),sig005,2,6,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V6.RequestPipeline_CallElasticsearch_Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Elasticsearch.Net"),(WCHAR*)WStr("Elasticsearch.Net.RequestPipeline"),(WCHAR*)WStr("CallElasticsearch"),sig075,2,5,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V5.RequestPipeline_CallElasticsearch_Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Elasticsearch.Net"),(WCHAR*)WStr("Elasticsearch.Net.RequestPipeline"),(WCHAR*)WStr("CallElasticsearchAsync"),sig237,3,6,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Elasticsearch.V6.RequestPipeline_CallElasticsearchAsync_Integration"),CallTargetKind::Default,1,15}, @@ -850,7 +853,7 @@ std::vector callTargets = {(WCHAR*)WStr("System.Net.Http"),(WCHAR*)WStr("System.Net.Http.SocketsHttpHandler"),(WCHAR*)WStr("SendAsync"),sig329,3,4,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.SocketsHttpHandler.SocketsHttpHandlerIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("System.Net.Http"),(WCHAR*)WStr("System.Net.Http.WinHttpHandler"),(WCHAR*)WStr("SendAsync"),sig329,3,4,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.WinHttpHandler.WinHttpHandlerIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("System.Net.Http.WinHttpHandler"),(WCHAR*)WStr("System.Net.Http.WinHttpHandler"),(WCHAR*)WStr("SendAsync"),sig329,3,4,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.WinHttpHandler.WinHttpHandlerIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Yarp.ReverseProxy"),(WCHAR*)WStr("Yarp.ReverseProxy.Forwarder.ForwarderHttpClientFactory"),(WCHAR*)WStr("ConfigureHandler"),sig435,3,1,1,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.SocketsHttpHandler.YarpForwarderHttpClientFactoryIntegration"),CallTargetKind::Default,1,8}, +{(WCHAR*)WStr("Yarp.ReverseProxy"),(WCHAR*)WStr("Yarp.ReverseProxy.Forwarder.ForwarderHttpClientFactory"),(WCHAR*)WStr("ConfigureHandler"),sig436,3,1,1,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient.SocketsHttpHandler.YarpForwarderHttpClientFactoryIntegration"),CallTargetKind::Default,1,8}, {(WCHAR*)WStr("amqmdnetstd"),(WCHAR*)WStr("IBM.WMQ.MQDestination"),(WCHAR*)WStr("Get"),sig363,4,9,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.IbmMq.GetIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("amqmdnetstd"),(WCHAR*)WStr("IBM.WMQ.MQDestination"),(WCHAR*)WStr("Put"),sig364,3,9,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.IbmMq.PutIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.Extensions.Logging"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerFactory"),(WCHAR*)WStr(".ctor"),sig389,3,2,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.LoggerFactoryConstructorIntegration"),CallTargetKind::Default,1,15}, @@ -872,7 +875,7 @@ std::vector callTargets = {(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Producer`2"),(WCHAR*)WStr(".ctor"),sig352,2,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaProducerConstructorIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Producer`2"),(WCHAR*)WStr("Produce"),sig353,4,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaProduceSyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Producer`2"),(WCHAR*)WStr("ProduceAsync"),sig280,4,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaProduceAsyncIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Producer`2+TypedDeliveryHandlerShim_Action"),(WCHAR*)WStr(".ctor"),sig413,5,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaProduceSyncDeliveryHandlerIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Producer`2+TypedDeliveryHandlerShim_Action"),(WCHAR*)WStr(".ctor"),sig414,5,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaProduceSyncDeliveryHandlerIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("log4net"),(WCHAR*)WStr("log4net.Appender.AppenderCollection"),(WCHAR*)WStr("ToArray"),sig079,1,2,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.Log4Net.DirectSubmission.AppenderCollectionIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("log4net"),(WCHAR*)WStr("log4net.Appender.AppenderCollection"),(WCHAR*)WStr("ToArray"),sig079,1,1,0,0,1,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.Log4Net.DirectSubmission.AppenderCollectionLegacyIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("log4net"),(WCHAR*)WStr("log4net.Util.AppenderAttachedImpl"),(WCHAR*)WStr("AppendLoopOnAppenders"),sig164,2,1,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Log4Net.AppenderAttachedImplIntegration"),CallTargetKind::Default,1,15}, @@ -910,19 +913,19 @@ std::vector callTargets = {(WCHAR*)WStr("MongoDB.Driver.Core"),(WCHAR*)WStr("MongoDB.Driver.Core.WireProtocol.WriteWireProtocolBase`1"),(WCHAR*)WStr("ExecuteAsync"),sig240,3,2,1,0,3,5,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.MongoDb.IWireProtocol_ExecuteAsync_Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("System.Messaging"),(WCHAR*)WStr("System.Messaging.MessageQueue"),(WCHAR*)WStr("Purge"),sig346,1,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Msmq.MessageQueue_Purge_Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("System.Messaging"),(WCHAR*)WStr("System.Messaging.MessageQueue"),(WCHAR*)WStr("ReceiveCurrent"),sig170,7,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Msmq.MessageQueue_ReceiveCurrent_Integration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("System.Messaging"),(WCHAR*)WStr("System.Messaging.MessageQueue"),(WCHAR*)WStr("SendInternal"),sig406,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Msmq.MessageQueue_SendInternal_Integration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("System.Messaging"),(WCHAR*)WStr("System.Messaging.MessageQueue"),(WCHAR*)WStr("SendInternal"),sig407,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Msmq.MessageQueue_SendInternal_Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.TestPlatform.CrossPlatEngine"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.RunTestsWithSources"),(WCHAR*)WStr("SendSessionEnd"),sig346,1,14,0,0,15,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.RunTestsWithSourcesSendSessionEndIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestAssemblyInfo"),(WCHAR*)WStr("ExecuteAssemblyCleanup"),sig346,1,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestAssemblyInfoExecuteAssemblyCleanupIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestAssemblyInfo"),(WCHAR*)WStr("RunAssemblyCleanup"),sig187,1,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestAssemblyInfoRunAssemblyCleanupIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestAssemblyInfo"),(WCHAR*)WStr("RunAssemblyInitialize"),sig368,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestAssemblyInfoRunAssemblyInitializeIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestAssemblyInfo"),(WCHAR*)WStr("RunAssemblyInitialize"),sig369,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestAssemblyInfoRunAssemblyInitializeIntegrationV3_9"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanup"),sig346,1,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoExecuteClassCleanupIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanup"),sig440,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoExecuteClassCleanupIntegrationV3_9"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanup"),sig439,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassCleanupIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanup"),sig441,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoExecuteClassCleanupIntegrationV3_9"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanup"),sig440,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassCleanupIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassCleanup"),sig193,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassCleanupIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassCleanup"),sig187,1,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassCleanupIntegrationV2"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassInitialize"),sig436,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassInitializeIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassInitialize"),sig437,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassInitializeIntegrationV3_9"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassInitialize"),sig437,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassInitializeIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassInitialize"),sig438,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassInitializeIntegrationV3_9"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodRunner"),(WCHAR*)WStr("Execute"),sig095,1,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodRunnerExecuteIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodRunner"),(WCHAR*)WStr("Execute"),sig097,5,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodRunnerExecuteIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodRunner"),(WCHAR*)WStr("Execute"),sig100,1,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodRunnerExecuteIntegration3_8"),CallTargetKind::Default,1,15}, @@ -934,18 +937,18 @@ std::vector callTargets = {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner"),(WCHAR*)WStr("RunSingleTest"),sig096,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestRunnerRunSingleTestIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner"),(WCHAR*)WStr("RunSingleTest"),sig102,4,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestRunnerRunSingleTestIntegration3_8"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner"),(WCHAR*)WStr("RunSingleTestAsync"),sig300,4,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestRunnerRunSingleTestAsyncIntegration3_8"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.UnitTestDiscoverer"),(WCHAR*)WStr("SendTestCases"),sig422,6,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestDiscovererSendTestCasesIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.UnitTestDiscoverer"),(WCHAR*)WStr("SendTestCases"),sig423,6,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestDiscovererSendTestCasesIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestAssemblyInfo"),(WCHAR*)WStr("ExecuteAssemblyCleanup"),sig346,1,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestAssemblyInfoExecuteAssemblyCleanupIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestAssemblyInfo"),(WCHAR*)WStr("RunAssemblyCleanup"),sig187,1,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestAssemblyInfoRunAssemblyCleanupIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestAssemblyInfo"),(WCHAR*)WStr("RunAssemblyInitialize"),sig368,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestAssemblyInfoRunAssemblyInitializeIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestAssemblyInfo"),(WCHAR*)WStr("RunAssemblyInitialize"),sig369,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestAssemblyInfoRunAssemblyInitializeIntegrationV3_9"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanup"),sig346,1,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoExecuteClassCleanupIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanup"),sig440,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoExecuteClassCleanupIntegrationV3_9"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanup"),sig439,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassCleanupIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanupAsync"),sig439,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoExecuteClassCleanupAsyncIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanup"),sig441,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoExecuteClassCleanupIntegrationV3_9"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanup"),sig440,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassCleanupIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanupAsync"),sig440,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoExecuteClassCleanupAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassCleanup"),sig193,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassCleanupIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassInitialize"),sig436,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassInitializeIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassInitialize"),sig437,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassInitializeIntegrationV3_9"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassInitialize"),sig437,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassInitializeIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassInitialize"),sig438,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassInitializeIntegrationV3_9"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassInitializeAsync"),sig228,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassInitializeAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodRunner"),(WCHAR*)WStr("ExecuteTestAsync"),sig299,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodRunnerExecuteTestIntegrationV3_9"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TypeCache"),(WCHAR*)WStr("GetTestMethodInfo"),sig094,4,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TypeCacheGetTestMethodInfoIntegration"),CallTargetKind::Default,1,15}, @@ -954,7 +957,7 @@ std::vector callTargets = {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner"),(WCHAR*)WStr("RunSingleTest"),sig096,3,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestRunnerRunSingleTestIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner"),(WCHAR*)WStr("RunSingleTest"),sig102,4,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestRunnerRunSingleTestIntegration3_8"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner"),(WCHAR*)WStr("RunSingleTestAsync"),sig300,4,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestRunnerRunSingleTestAsyncIntegration3_8"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.UnitTestDiscoverer"),(WCHAR*)WStr("SendTestCases"),sig422,6,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestDiscovererSendTestCasesIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.UnitTestDiscoverer"),(WCHAR*)WStr("SendTestCases"),sig423,6,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestDiscovererSendTestCasesIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.TestFramework"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute"),(WCHAR*)WStr("Execute"),sig099,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodAttributeExecuteIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.TestFramework"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute"),(WCHAR*)WStr("Execute"),sig099,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodAttributeExecuteIntegration"),CallTargetKind::Derived,1,15}, {(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.TestFramework"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute"),(WCHAR*)WStr("ExecuteAsync"),sig305,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodAttributeExecuteAsyncIntegration"),CallTargetKind::Default,1,15}, @@ -962,7 +965,7 @@ std::vector callTargets = {(WCHAR*)WStr("MSTest.TestFramework"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute"),(WCHAR*)WStr("ExecuteAsync"),sig305,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodAttributeExecuteAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("MSTest.TestFramework"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute"),(WCHAR*)WStr("ExecuteAsync"),sig305,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodAttributeExecuteAsyncIntegration"),CallTargetKind::Derived,1,15}, {(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestAssemblyInfo"),(WCHAR*)WStr("RunAssemblyInitialize"),sig368,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestAssemblyInfoRunAssemblyInitializeIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanupAsync"),sig439,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoExecuteClassCleanupAsyncIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("ExecuteClassCleanupAsync"),sig440,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoExecuteClassCleanupAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestClassInfo"),(WCHAR*)WStr("RunClassInitializeAsync"),sig228,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestClassInfoRunClassInitializeAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodInfo"),(WCHAR*)WStr("GetRetryAttribute"),sig098,1,4,4,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodInfoGetRetryAttributeIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodRunner"),(WCHAR*)WStr("ExecuteAsync"),sig306,5,4,4,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodRunnerExecuteAsyncIntegrationV4_4"),CallTargetKind::Default,1,15}, @@ -1034,10 +1037,10 @@ std::vector callTargets = {(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.Config.LoggingConfigurationFileLoader"),(WCHAR*)WStr("Load"),sig110,3,6,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.DirectSubmission.LoggingConfigurationFileLoaderLoadInstrumentation"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.LogFactory"),(WCHAR*)WStr("ActivateLoggingConfiguration"),sig371,2,6,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.DirectSubmission.LogFactoryActivateLoggingConfigurationInstrumentation"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.LogFactory"),(WCHAR*)WStr("BuildLoggerConfiguration"),sig111,3,5,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.DirectSubmission.LogFactoryBuildLoggerConfiguration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.LogFactory"),(WCHAR*)WStr("BuildLoggerConfiguration"),sig415,3,5,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.DirectSubmission.LogFactoryGetConfigurationForLoggerInstrumentation"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.LogFactory"),(WCHAR*)WStr("GetConfigurationForLogger"),sig415,3,2,1,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.DirectSubmission.LogFactoryGetConfigurationForLoggerInstrumentation"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.LoggerImpl"),(WCHAR*)WStr("Write"),sig431,5,1,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.LogsInjection.LoggerImplWriteIntegrationV4"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.LoggerImpl"),(WCHAR*)WStr("Write"),sig431,5,5,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.LogsInjection.LoggerImplWriteIntegrationV5"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.LogFactory"),(WCHAR*)WStr("BuildLoggerConfiguration"),sig416,3,5,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.DirectSubmission.LogFactoryGetConfigurationForLoggerInstrumentation"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.LogFactory"),(WCHAR*)WStr("GetConfigurationForLogger"),sig416,3,2,1,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.DirectSubmission.LogFactoryGetConfigurationForLoggerInstrumentation"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.LoggerImpl"),(WCHAR*)WStr("Write"),sig432,5,1,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.LogsInjection.LoggerImplWriteIntegrationV4"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.LoggerImpl"),(WCHAR*)WStr("Write"),sig432,5,5,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.NLog.LogsInjection.LoggerImplWriteIntegrationV5"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Npgsql"),(WCHAR*)WStr("Npgsql.NpgsqlCommand"),(WCHAR*)WStr("ExecuteDbDataReader"),sig151,2,4,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.CommandExecuteReaderWithBehaviorIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Npgsql"),(WCHAR*)WStr("Npgsql.NpgsqlCommand"),(WCHAR*)WStr("ExecuteDbDataReaderAsync"),sig325,3,4,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.CommandExecuteReaderWithBehaviorAndCancellationAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Npgsql"),(WCHAR*)WStr("Npgsql.NpgsqlCommand"),(WCHAR*)WStr("ExecuteNonQuery"),sig163,1,4,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.CommandExecuteNonQueryIntegration"),CallTargetKind::Default,1,15}, @@ -1063,7 +1066,7 @@ std::vector callTargets = {(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Reflect"),(WCHAR*)WStr("InvokeMethod"),sig184,4,3,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.NUnit.NUnitReflectInvokeMethodIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature"),(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature.FeatureFlagsSdk"),(WCHAR*)WStr("AccumulateSpanEnrichment"),sig404,7,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenFeature.OpenFeatureSdkAccumulateSpanEnrichmentIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature"),(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature.FeatureFlagsSdk"),(WCHAR*)WStr("CanEnqueueEVP"),sig137,1,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenFeature.OpenFeatureSdkCanEnqueueEVPIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature"),(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature.FeatureFlagsSdk"),(WCHAR*)WStr("EnqueueEVP"),sig428,9,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenFeature.OpenFeatureSdkEnqueueEVPIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature"),(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature.FeatureFlagsSdk"),(WCHAR*)WStr("EnqueueEVP"),sig429,9,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenFeature.OpenFeatureSdkEnqueueEVPIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature"),(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature.FeatureFlagsSdk"),(WCHAR*)WStr("Evaluate"),sig066,6,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenFeature.OpenFeatureSdkEvaluateIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature"),(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature.FeatureFlagsSdk"),(WCHAR*)WStr("HasConfiguration"),sig137,1,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenFeature.OpenFeatureSdkHasConfigurationIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature"),(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature.FeatureFlagsSdk"),(WCHAR*)WStr("InitializeAsync"),sig227,2,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenFeature.OpenFeatureSdkInitializeAsyncIntegration"),CallTargetKind::Default,1,15}, @@ -1142,13 +1145,13 @@ std::vector callTargets = {(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IMessage"),(WCHAR*)WStr("WriteTo"),sig360,2,3,0,0,3,12,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.OldMessageWriteToIntegration"),CallTargetKind::Interface,1,15}, {(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.AsyncDefaultBasicConsumer"),(WCHAR*)WStr("HandleBasicDeliver"),sig225,8,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicDeliverAsyncIntegration"),CallTargetKind::Derived,1,15}, {(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.AsyncDefaultBasicConsumer"),(WCHAR*)WStr("HandleBasicDeliverAsync"),sig226,9,7,0,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicDeliverAsyncAsyncIntegration"),CallTargetKind::Derived,1,15}, -{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.DefaultBasicConsumer"),(WCHAR*)WStr("HandleBasicDeliver"),sig429,8,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicDeliverIntegration"),CallTargetKind::Derived,1,15}, -{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Framing.Impl.Model"),(WCHAR*)WStr("_Private_BasicPublish"),sig424,6,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicPublishIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Framing.Impl.Model"),(WCHAR*)WStr("_Private_ExchangeDeclare"),sig425,9,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.ExchangeDeclareIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Framing.Impl.Model"),(WCHAR*)WStr("_Private_QueueDeclare"),sig418,8,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.QueueDeclareIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.DefaultBasicConsumer"),(WCHAR*)WStr("HandleBasicDeliver"),sig430,8,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicDeliverIntegration"),CallTargetKind::Derived,1,15}, +{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Framing.Impl.Model"),(WCHAR*)WStr("_Private_BasicPublish"),sig425,6,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicPublishIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Framing.Impl.Model"),(WCHAR*)WStr("_Private_ExchangeDeclare"),sig426,9,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.ExchangeDeclareIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Framing.Impl.Model"),(WCHAR*)WStr("_Private_QueueDeclare"),sig419,8,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.QueueDeclareIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.IAsyncBasicConsumer"),(WCHAR*)WStr("HandleBasicDeliver"),sig225,8,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicDeliverAsyncIntegration"),CallTargetKind::Interface,1,15}, {(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.IAsyncBasicConsumer"),(WCHAR*)WStr("HandleBasicDeliverAsync"),sig226,9,7,0,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicDeliverAsyncAsyncIntegration"),CallTargetKind::Interface,1,15}, -{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.IBasicConsumer"),(WCHAR*)WStr("HandleBasicDeliver"),sig429,8,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicDeliverIntegration"),CallTargetKind::Interface,1,15}, +{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.IBasicConsumer"),(WCHAR*)WStr("HandleBasicDeliver"),sig430,8,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicDeliverIntegration"),CallTargetKind::Interface,1,15}, {(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Impl.Channel"),(WCHAR*)WStr("BasicConsumeAsync"),sig335,9,7,0,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicConsumeAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Impl.Channel"),(WCHAR*)WStr("BasicGetAsync"),sig320,4,7,0,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicGetAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Impl.Channel"),(WCHAR*)WStr("BasicPublishAsync"),sig338,7,7,0,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicPublishAsyncCachedStringsIntegration"),CallTargetKind::Default,1,15}, @@ -1159,20 +1162,20 @@ std::vector callTargets = {(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Impl.Channel"),(WCHAR*)WStr("QueueDeclareAsync"),sig321,9,7,0,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.QueueDeclareAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Impl.ModelBase"),(WCHAR*)WStr("BasicConsume"),sig191,8,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicConsumeIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Impl.ModelBase"),(WCHAR*)WStr("BasicGet"),sig133,3,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicGetIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Impl.ModelBase"),(WCHAR*)WStr("QueueBind"),sig427,5,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.QueueBindIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Impl.ModelBase"),(WCHAR*)WStr("QueueBind"),sig428,5,3,6,9,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.QueueBindIntegration"),CallTargetKind::Default,1,15}, #if _WIN32 {(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.BinaryClientFormatterSink"),(WCHAR*)WStr("SyncProcessMessage"),sig186,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.SyncProcessMessageIntegration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.BinaryServerFormatterSink"),(WCHAR*)WStr("ProcessMessage"),sig185,8,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Server.ProcessMessageIntegration"),CallTargetKind::Default,1,1}, -{(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.BinaryServerFormatterSink"),(WCHAR*)WStr("SerializeResponse"),sig408,5,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Server.BinarySerializeResponseIntegration"),CallTargetKind::Default,1,1}, +{(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.BinaryServerFormatterSink"),(WCHAR*)WStr("SerializeResponse"),sig409,5,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Server.BinarySerializeResponseIntegration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.Http.HttpClientTransportSink"),(WCHAR*)WStr("ProcessAndSend"),sig174,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.HttpProcessAndSendIntegration"),CallTargetKind::Default,1,1}, -{(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.Http.HttpClientTransportSink"),(WCHAR*)WStr("ProcessMessage"),sig409,6,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.HttpProcessMessageIntegration"),CallTargetKind::Default,1,1}, +{(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.Http.HttpClientTransportSink"),(WCHAR*)WStr("ProcessMessage"),sig410,6,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.HttpProcessMessageIntegration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.Http.HttpClientTransportSink"),(WCHAR*)WStr("ProcessResponseException"),sig403,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.HttpProcessResponseExceptionIntegration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.Http.HttpClientTransportSink"),(WCHAR*)WStr("ReceiveAndProcess"),sig402,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.HttpReceiveAndProcessIntegration"),CallTargetKind::Default,1,1}, -{(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.Ipc.IpcClientTransportSink"),(WCHAR*)WStr("ProcessMessage"),sig409,6,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.IpcTcpProcessMessageIntegration"),CallTargetKind::Default,1,1}, +{(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.Ipc.IpcClientTransportSink"),(WCHAR*)WStr("ProcessMessage"),sig410,6,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.IpcTcpProcessMessageIntegration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.SoapClientFormatterSink"),(WCHAR*)WStr("SyncProcessMessage"),sig186,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.SyncProcessMessageIntegration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.SoapServerFormatterSink"),(WCHAR*)WStr("ProcessMessage"),sig185,8,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Server.ProcessMessageIntegration"),CallTargetKind::Default,1,1}, -{(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.SoapServerFormatterSink"),(WCHAR*)WStr("SerializeResponse"),sig407,6,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Server.SoapSerializeResponseIntegration"),CallTargetKind::Default,1,1}, -{(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink"),(WCHAR*)WStr("ProcessMessage"),sig409,6,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.IpcTcpProcessMessageIntegration"),CallTargetKind::Default,1,1}, +{(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.SoapServerFormatterSink"),(WCHAR*)WStr("SerializeResponse"),sig408,6,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Server.SoapSerializeResponseIntegration"),CallTargetKind::Default,1,1}, +{(WCHAR*)WStr("System.Runtime.Remoting"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink"),(WCHAR*)WStr("ProcessMessage"),sig410,6,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Remoting.Client.IpcTcpProcessMessageIntegration"),CallTargetKind::Default,1,1}, #endif {(WCHAR*)WStr("WebDriver"),(WCHAR*)WStr("OpenQA.Selenium.Remote.HttpCommandExecutor"),(WCHAR*)WStr("OnSendingRemoteHttpRequest"),sig375,2,3,12,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.Selenium.HttpCommandExecutorOnSendingRemoteHttpRequestIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("WebDriver"),(WCHAR*)WStr("OpenQA.Selenium.Remote.RemoteWebDriver"),(WCHAR*)WStr("Execute"),sig117,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.Selenium.WebDriverExecuteIntegration"),CallTargetKind::Default,1,15}, @@ -1296,8 +1299,8 @@ std::vector callTargets = {(WCHAR*)WStr("System.ServiceModel"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.AsyncMethodInvoker"),(WCHAR*)WStr("InvokeBegin"),sig160,5,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Wcf.AsyncMethodInvoker_InvokeBegin_Integration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.ServiceModel"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.AsyncMethodInvoker"),(WCHAR*)WStr("InvokeEnd"),sig183,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Wcf.AsyncMethodInvoker_InvokeEnd_Integration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.ServiceModel"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.ChannelHandler"),(WCHAR*)WStr("HandleRequest"),sig141,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Wcf.ChannelHandlerIntegration"),CallTargetKind::Default,1,1}, -{(WCHAR*)WStr("System.ServiceModel"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.ImmutableDispatchRuntime"),(WCHAR*)WStr("AfterReceiveRequest"),sig410,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Wcf.AfterReceiveRequestIntegration"),CallTargetKind::Default,1,1}, -{(WCHAR*)WStr("System.ServiceModel"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.ImmutableDispatchRuntime"),(WCHAR*)WStr("BeforeSendReply"),sig411,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Wcf.BeforeSendReplyIntegration"),CallTargetKind::Default,1,1}, +{(WCHAR*)WStr("System.ServiceModel"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.ImmutableDispatchRuntime"),(WCHAR*)WStr("AfterReceiveRequest"),sig411,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Wcf.AfterReceiveRequestIntegration"),CallTargetKind::Default,1,1}, +{(WCHAR*)WStr("System.ServiceModel"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.ImmutableDispatchRuntime"),(WCHAR*)WStr("BeforeSendReply"),sig412,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Wcf.BeforeSendReplyIntegration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.ServiceModel"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.SyncMethodInvoker"),(WCHAR*)WStr("Invoke"),sig182,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Wcf.SyncMethodInvokerIntegration"),CallTargetKind::Default,1,1}, {(WCHAR*)WStr("System.ServiceModel"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.TaskMethodInvoker"),(WCHAR*)WStr("InvokeAsync"),sig336,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Wcf.TaskMethodInvokerIntegration"),CallTargetKind::Default,1,1}, #endif @@ -1314,16 +1317,16 @@ std::vector callTargets = {(WCHAR*)WStr("System.Net.Requests"),(WCHAR*)WStr("System.Net.HttpWebRequest"),(WCHAR*)WStr("GetRequestStream"),sig169,1,9,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.WebRequest.HttpWebRequest_GetRequestStreamV9_Integration"),CallTargetKind::Default,1,8}, {(WCHAR*)WStr("System.Net.Requests"),(WCHAR*)WStr("System.Net.HttpWebRequest"),(WCHAR*)WStr("GetResponse"),sig175,1,4,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.WebRequest.HttpWebRequest_GetResponse_Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("System.Net.Requests"),(WCHAR*)WStr("System.Net.WebRequest"),(WCHAR*)WStr("GetResponseAsync"),sig232,1,4,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.WebRequest.WebRequest_GetResponseAsync_Integration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("Microsoft.AspNetCore.Html.Abstractions"),(WCHAR*)WStr("Microsoft.AspNetCore.Html.HtmlString"),(WCHAR*)WStr(".ctor"),sig412,2,1,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.Html.HtmlStringIntegration"),CallTargetKind::Default,4,14}, +{(WCHAR*)WStr("Microsoft.AspNetCore.Html.Abstractions"),(WCHAR*)WStr("Microsoft.AspNetCore.Html.HtmlString"),(WCHAR*)WStr(".ctor"),sig413,2,1,0,0,11,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.Html.HtmlStringIntegration"),CallTargetKind::Default,4,14}, #if _WIN32 -{(WCHAR*)WStr("System.Web"),(WCHAR*)WStr("System.Web.HtmlString"),(WCHAR*)WStr(".ctor"),sig412,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.Html.HtmlStringIntegration"),CallTargetKind::Default,4,1}, +{(WCHAR*)WStr("System.Web"),(WCHAR*)WStr("System.Web.HtmlString"),(WCHAR*)WStr(".ctor"),sig413,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.Html.HtmlStringIntegration"),CallTargetKind::Default,4,1}, #endif {(WCHAR*)WStr("xunit.execution.desktop"),(WCHAR*)WStr("Xunit.Sdk.TestAssemblyRunner`1"),(WCHAR*)WStr("BeforeTestAssemblyFinishedAsync"),sig194,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestAssemblyRunnerBeforeTestAssemblyFinishedAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.execution.desktop"),(WCHAR*)WStr("Xunit.Sdk.TestAssemblyRunner`1"),(WCHAR*)WStr("BeforeTestAssemblyFinishedAsync"),sig194,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestAssemblyRunnerBeforeTestAssemblyFinishedAsyncIntegration"),CallTargetKind::Derived,1,15}, {(WCHAR*)WStr("xunit.execution.desktop"),(WCHAR*)WStr("Xunit.Sdk.TestAssemblyRunner`1"),(WCHAR*)WStr("RunAsync"),sig337,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestAssemblyRunnerRunAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.execution.desktop"),(WCHAR*)WStr("Xunit.Sdk.TestClassRunner`1"),(WCHAR*)WStr("RunAsync"),sig337,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestClassRunnerRunAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.execution.desktop"),(WCHAR*)WStr("Xunit.Sdk.TestInvoker`1"),(WCHAR*)WStr("RunAsync"),sig327,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestInvokerRunAsyncIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("xunit.execution.desktop"),(WCHAR*)WStr("Xunit.Sdk.TestOutputHelper"),(WCHAR*)WStr("QueueTestOutput"),sig412,2,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestOutputHelperQueueTestOutputIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("xunit.execution.desktop"),(WCHAR*)WStr("Xunit.Sdk.TestOutputHelper"),(WCHAR*)WStr("QueueTestOutput"),sig413,2,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestOutputHelperQueueTestOutputIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.execution.desktop"),(WCHAR*)WStr("Xunit.Sdk.TestRunner`1"),(WCHAR*)WStr("RunAsync"),sig337,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestRunnerRunAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.execution.dotnet"),(WCHAR*)WStr("Xunit.Sdk.TestAssemblyRunner`1"),(WCHAR*)WStr("BeforeTestAssemblyFinishedAsync"),sig194,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestAssemblyRunnerBeforeTestAssemblyFinishedAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.execution.dotnet"),(WCHAR*)WStr("Xunit.Sdk.TestAssemblyRunner`1"),(WCHAR*)WStr("BeforeTestAssemblyFinishedAsync"),sig194,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestAssemblyRunnerBeforeTestAssemblyFinishedAsyncIntegration"),CallTargetKind::Derived,1,15}, @@ -1331,21 +1334,21 @@ std::vector callTargets = {(WCHAR*)WStr("xunit.execution.dotnet"),(WCHAR*)WStr("Xunit.Sdk.TestClassRunner`1"),(WCHAR*)WStr("RunAsync"),sig337,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestClassRunnerRunAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.execution.dotnet"),(WCHAR*)WStr("Xunit.Sdk.TestFrameworkDiscoverer"),(WCHAR*)WStr("ReportDiscoveredTestCase"),sig142,4,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.TestFrameworkDiscovererReportDiscoveredTestCaseIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.execution.dotnet"),(WCHAR*)WStr("Xunit.Sdk.TestInvoker`1"),(WCHAR*)WStr("RunAsync"),sig327,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestInvokerRunAsyncIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("xunit.execution.dotnet"),(WCHAR*)WStr("Xunit.Sdk.TestOutputHelper"),(WCHAR*)WStr("QueueTestOutput"),sig412,2,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestOutputHelperQueueTestOutputIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("xunit.execution.dotnet"),(WCHAR*)WStr("Xunit.Sdk.TestOutputHelper"),(WCHAR*)WStr("QueueTestOutput"),sig413,2,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestOutputHelperQueueTestOutputIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.execution.dotnet"),(WCHAR*)WStr("Xunit.Sdk.TestRunner`1"),(WCHAR*)WStr("RunAsync"),sig337,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestRunnerRunAsyncIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.CoreTestMethodRunnerContext`2"),(WCHAR*)WStr(".ctor"),sig349,9,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3_4X.XunitTestMethodRunnerContextCtorV3_4XIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestAssemblyRunner`4"),(WCHAR*)WStr("Run"),sig342,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3_4X.XUnitTestAssemblyRunnerRunV3_4XIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestAssemblyRunner`4"),(WCHAR*)WStr("Run"),sig342,2,1,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3.XUnitTestAssemblyRunnerRunV3Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestClassRunner`4"),(WCHAR*)WStr("Run"),sig342,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3_4X.XUnitTestClassRunnerRunV3_4XIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestClassRunner`4"),(WCHAR*)WStr("Run"),sig342,2,1,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3.XUnitTestClassRunnerRunV3Integration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestOutputHelper"),(WCHAR*)WStr("QueueTestOutput"),sig412,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3_4X.XUnitTestOutputHelperQueueTestOutputV3_4XIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestOutputHelper"),(WCHAR*)WStr("QueueTestOutput"),sig412,2,1,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3.XUnitTestOutputHelperQueueTestOutputV3Integration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestOutputHelper"),(WCHAR*)WStr("QueueTestOutput"),sig413,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3_4X.XUnitTestOutputHelperQueueTestOutputV3_4XIntegration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestOutputHelper"),(WCHAR*)WStr("QueueTestOutput"),sig413,2,1,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3.XUnitTestOutputHelperQueueTestOutputV3Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestRunner`2"),(WCHAR*)WStr("RunTest"),sig340,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3_4X.XUnitTestRunnerV3_4XIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestRunner`2"),(WCHAR*)WStr("RunTest"),sig341,2,1,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3.XUnitTestRunnerV3Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.TestRunnerBase`2"),(WCHAR*)WStr("Run"),sig342,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3_4X.XUnitTestRunnerBaseRunV3_4XIntegration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.XunitTestMethodRunnerBase`3"),(WCHAR*)WStr("RunTestCase"),sig343,3,1,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3.XUnitTestMethodRunnerBaseRunTestCaseV3Integration"),CallTargetKind::Default,1,15}, {(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.XunitTestMethodRunnerBaseContext`2"),(WCHAR*)WStr("RunTestCase"),sig344,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3_4X.XUnitTestMethodRunnerBaseContextRunTestCaseV3_4XIntegration"),CallTargetKind::Default,1,15}, -{(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.XunitTestMethodRunnerContext"),(WCHAR*)WStr(".ctor"),sig434,8,1,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3.XunitTestMethodRunnerContextCtorV3Integration"),CallTargetKind::Default,1,15}, +{(WCHAR*)WStr("xunit.v3.core"),(WCHAR*)WStr("Xunit.v3.XunitTestMethodRunnerContext"),(WCHAR*)WStr(".ctor"),sig435,8,1,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.V3.XunitTestMethodRunnerContextCtorV3Integration"),CallTargetKind::Default,1,15}, }; return profiler->RegisterCallTargetDefinitions((WCHAR*) WStr("Tracing"), callTargets.data(), callTargets.size(), enabledCategories, platform); } diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/VSTestEmptySessionTests.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/VSTestEmptySessionTests.cs new file mode 100644 index 000000000000..08ed855ff7a0 --- /dev/null +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/VSTestEmptySessionTests.cs @@ -0,0 +1,103 @@ +// +// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. +// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. +// + +using System; +using System.Collections.Concurrent; +using System.Threading; +using System.Threading.Tasks; +using Datadog.Trace.Ci.Ipc; +using Datadog.Trace.Ci.Ipc.Messages; +using Datadog.Trace.Ci.Tags; +using Datadog.Trace.Configuration; +using Datadog.Trace.TestHelpers; +using Datadog.Trace.TestHelpers.Ci; +using Datadog.Trace.Vendors.Newtonsoft.Json; +using FluentAssertions; +using Xunit; +using Xunit.Abstractions; + +namespace Datadog.Trace.ClrProfiler.IntegrationTests.CI; + +public class VSTestEmptySessionTests : TestingFrameworkEvpTest +{ + private const string NoMatchingTest = "NoMatchingTest"; + private const string PassingTest = "Samples.XUnitTests.TestSuite.SimplePassTest"; + + public VSTestEmptySessionTests(ITestOutputHelper output) + : base("XUnitTests", output) + { + SetEnvironmentVariable(ConfigurationKeys.CIVisibility.Enabled, "1"); + SetEnvironmentVariable(ConfigurationKeys.CIVisibility.IntelligentTestRunnerEnabled, "0"); + SetEnvironmentVariable(ConfigurationKeys.CIVisibility.GitUploadEnabled, "0"); + } + + [SkippableTheory] + [InlineData(NoMatchingTest, TestTags.StatusSkip)] + [InlineData(PassingTest, TestTags.StatusPass)] + [Trait("Category", "EndToEnd")] + [Trait("Category", "TestIntegrations")] + public async Task SessionIsSkippedWhenVSTestRunsNoTests(string testName, string expectedStatus) + { + var sessions = new ConcurrentQueue(); + using var agent = EnvironmentHelper.GetMockAgent(); + agent.EventPlatformProxyPayloadReceived += (_, e) => + { + if (e.Value.PathAndQuery.EndsWith("api/v2/citestcycle")) + { + var payload = JsonConvert.DeserializeObject(e.Value.BodyInJson); + foreach (var @event in payload.Events ?? []) + { + if (@event.Type == SpanTypes.TestSession) + { + sessions.Enqueue(JsonConvert.DeserializeObject(@event.Content.ToString())); + } + } + } + }; + + using var processResult = await RunDotnetTestSampleAndWaitForExit(agent, arguments: $"/TestCaseFilter:FullyQualifiedName={testName}"); + + var session = sessions.Should().ContainSingle().Subject; + session.Meta[TestTags.Status].Should().Be(expectedStatus); + if (expectedStatus == TestTags.StatusSkip) + { + session.Meta[TestTags.SkipReason].Should().Be(TestTags.SkipReasonNoTestsExecuted); + session.Meta[TestTags.SessionEmptyReason].Should().Be(TestTags.SessionEmptyReasonZeroTests); + } + else + { + session.Meta.Should().NotContainKey(TestTags.SkipReason).And.NotContainKey(TestTags.SessionEmptyReason); + } + } + + [SkippableTheory] + [InlineData(NoMatchingTest, 0)] + [InlineData(PassingTest, 1)] + [Trait("Category", "EndToEnd")] + [Trait("Category", "TestIntegrations")] + public async Task VSTestSendsExecutedTestsToTheParentSession(string testName, long expectedExecutedTests) + { + // As with dotnet test, the session belongs to a parent process and vstest.console reports to it over IPC. + InjectSession(out var sessionId, out _, out _, out _, out _, out _, out _); + using var received = new ManualResetEventSlim(); + long? executedTests = null; + using var ipcServer = new IpcServer($"session_{sessionId}"); + ipcServer.SetMessageReceivedCallback( + message => + { + if (message is SessionExecutedTestsMessage executedTestsMessage) + { + executedTests = executedTestsMessage.ExecutedTests; + received.Set(); + } + }); + + using var agent = EnvironmentHelper.GetMockAgent(); + using var processResult = await RunDotnetTestSampleAndWaitForExit(agent, arguments: $"/TestCaseFilter:FullyQualifiedName={testName}"); + + received.Wait(TimeSpan.FromSeconds(10)).Should().BeTrue(); + executedTests.Should().Be(expectedExecutedTests); + } +} diff --git a/tracer/test/Datadog.Trace.Tests/Ci/EmptyTestSessionTests.cs b/tracer/test/Datadog.Trace.Tests/Ci/EmptyTestSessionTests.cs new file mode 100644 index 000000000000..0bc5c13c4bc9 --- /dev/null +++ b/tracer/test/Datadog.Trace.Tests/Ci/EmptyTestSessionTests.cs @@ -0,0 +1,151 @@ +// +// Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2 License. +// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc. +// + +#nullable enable + +using System; +using Datadog.Trace.Ci; +using Datadog.Trace.Ci.CiEnvironment; +using Datadog.Trace.Ci.Configuration; +using Datadog.Trace.Ci.Tags; +using Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest; +using Datadog.Trace.DuckTyping; +using Datadog.Trace.Logging; +using Datadog.Trace.TestHelpers; +using FluentAssertions; +using Moq; +using Xunit; + +namespace Datadog.Trace.Tests.Ci; + +[Collection(nameof(TracerInstanceTestCollection))] +[TracerRestorer] +public class EmptyTestSessionTests : IDisposable +{ + private TestSession? _session; + + public EmptyTestSessionTests() + { + // A mock avoids waiting for agent discovery in every test. + var testOptimization = new Mock(); + testOptimization.Setup(x => x.IsRunning).Returns(true); + testOptimization.Setup(x => x.Log).Returns(DatadogLogging.GetLoggerFor()); + testOptimization.Setup(x => x.RunId).Returns(Guid.NewGuid().ToString("N")); + testOptimization.Setup(x => x.Settings).Returns(TestOptimizationSettings.FromDefaultSources()); + testOptimization.Setup(x => x.CIValues).Returns(CIEnvironmentValues.Instance); + testOptimization.Setup(x => x.Reset()).Callback(() => TestOptimization.Instance = new TestOptimization()); + TestOptimization.Instance = testOptimization.Object; + } + + public void Dispose() + { + _session?.Close(TestStatus.Pass); + TestOptimization.Instance.Reset(); + } + + [Theory] + [InlineData(0L, false, false, false, TestTags.StatusSkip)] + [InlineData(1L, false, false, false, TestTags.StatusPass)] + [InlineData(null, false, false, false, TestTags.StatusPass)] + [InlineData(0L, true, false, false, TestTags.StatusPass)] + [InlineData(0L, false, true, false, TestTags.StatusPass)] + [InlineData(0L, false, false, true, TestTags.StatusPass)] + public void PassingSessionIsSkippedWhenVSTestRanNoTests(long? executedTests, bool aborted, bool canceled, bool error, string expectedStatus) + { + var session = CreateSession(); + + // The count reaches the session over IPC, which is drained when the session closes. + CompleteVSTestRun(executedTests, aborted, canceled, error); + session.Close(TestStatus.Pass); + + AssertStatus(session, expectedStatus); + } + + [Theory] + [InlineData(TestTags.StatusSkip, 0L, 0L)] + [InlineData(TestTags.StatusPass, 0L, 2L)] + [InlineData(TestTags.StatusPass, 2L, 0L)] + [InlineData(TestTags.StatusPass)] + public void EveryTestRunnerMustReportZeroTests(string expectedStatus, params long[] executedTests) + { + var session = CreateSession(); + + foreach (var count in executedTests) + { + session.RecordExecutedTests(count); + } + + session.Close(TestStatus.Pass); + + AssertStatus(session, expectedStatus); + } + + [Fact] + public void FailedSessionIsNotReportedAsEmpty() + { + var session = CreateSession(); + + session.RecordExecutedTests(0); + session.Close(TestStatus.Fail); + + AssertStatus(session, TestTags.StatusFail); + } + + [Fact] + public void RunnerExceptionKeepsTheSessionPassing() + { + var session = CreateSession(); + + CompleteVSTestRun(0, aborted: false, canceled: false, error: false); + DotnetCommon.FinalizeSession(session, exitCode: 0, new InvalidOperationException("Runner error")); + + AssertStatus(session, TestTags.StatusPass); + } + + [Fact] + public void SessionWithoutIpcServerIsNotReportedAsEmpty() + { + // Like a manual session that propagates its context to the test runner. + var session = CreateSession(enableIpcServer: false); + + CompleteVSTestRun(0, aborted: false, canceled: false, error: false); + session.Close(TestStatus.Pass); + + AssertStatus(session, TestTags.StatusPass); + } + + private static void CompleteVSTestRun(long? executedTests, bool aborted, bool canceled, bool error) + { + var args = new + { + IsAborted = aborted, + IsCanceled = canceled, + Error = error ? new InvalidOperationException("Run error") : null, + TestRunStatistics = executedTests is { } count ? new { ExecutedTests = count } : null, + }.DuckCast(); + + TestRunRequestOnRunCompletionIntegration.OnMethodBegin(new object(), null, args); + } + + private static void AssertStatus(TestSession session, string expectedStatus) + { + var empty = expectedStatus == TestTags.StatusSkip; + session.Tags.Status.Should().Be(expectedStatus); + session.Tags.GetTag(TestTags.SkipReason).Should().Be(empty ? TestTags.SkipReasonNoTestsExecuted : null); + session.Tags.GetTag(TestTags.SessionEmptyReason).Should().Be(empty ? TestTags.SessionEmptyReasonZeroTests : null); + } + + private TestSession CreateSession(bool enableIpcServer = true) + { + // The integration finds the session through the context it propagates to the environment. + _session = TestSession.GetOrCreate("dotnet test", workingDirectory: null, framework: null, startDate: null, propagateEnvironmentVariables: true); + if (enableIpcServer) + { + _session.EnableIpcServer().Should().BeTrue(); + } + + return _session; + } +} From bea7a4686be1663fe2ecd1d22f549189cba1e037 Mon Sep 17 00:00:00 2001 From: Tony Redondo Date: Wed, 21 Oct 2026 18:29:58 +0200 Subject: [PATCH 2/3] [Test Optimization] Skip VSTest IPC tests hit by the .NET 11 RC mutex bug CI runs VSTest from the .NET 11 RC2 SDK, which can't share named mutexes with .NET 8-10 on Linux (dotnet/runtime#134491). In VSTestEmptySessionTests vstest.console couldn't write to the parent session's channel on x64 and ARM64, and on ARM64 the testhost couldn't open the session's channel. The SDK check moves from MsTestV2DiscoveryTests to TestingFrameworkEvpTest so both classes share it and it goes away in one place with .NET 11 GA. vstest.console runs on the SDK whatever the test's target framework, so the other frameworks still run these tests. --- .../CI/MsTestV2DiscoveryTests.cs | 19 +++------------- .../CI/TestingFrameworkEvpTest.cs | 22 +++++++++++++++++++ .../CI/VSTestEmptySessionTests.cs | 3 +++ 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/MsTestV2DiscoveryTests.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/MsTestV2DiscoveryTests.cs index e9bab384cef5..89ac406972f6 100644 --- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/MsTestV2DiscoveryTests.cs +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/MsTestV2DiscoveryTests.cs @@ -14,7 +14,6 @@ using Datadog.Trace.Configuration; using Datadog.Trace.TestHelpers; using Datadog.Trace.TestHelpers.Ci; -using Datadog.Trace.Util; using Datadog.Trace.Vendors.Newtonsoft.Json; using Datadog.Trace.Vendors.Newtonsoft.Json.Linq; using FluentAssertions; @@ -105,23 +104,11 @@ public Task DiscoveryControlsTheFaultySessionThreshold(string packageVersion, in private async Task RunDiscoveryScenario(string packageVersion, int threshold, int expectedAttempts, bool faulty, string filter, int expectedTests, bool useMtp, string additionalSample = null) { - if (expectedTests > 0 && !useMtp && EnvironmentTools.IsLinux() && RuntimeInformation.ProcessArchitecture == Architecture.Arm64 && - EnvironmentHelper.GetTargetFramework() is "net8.0" or "net9.0" or "net10.0") + if (expectedTests > 0 && !useMtp && EnvironmentTools.IsLinux() && RuntimeInformation.ProcessArchitecture == Architecture.Arm64) { - // VSTest in .NET 11 RC1/RC2 cannot share named mutexes with .NET 8-10 on Linux ARM64, - // so the testhost cannot initialize IPC. Even cases that do not assert "faulty" fail the log check. + // On Linux ARM64 the testhost cannot initialize IPC. Even cases that do not assert "faulty" fail the log check. // Empty runs do not create an IPC client; MTP uses the same runtime at both ends. Keep both enabled. - // Runtime bug: https://github.com/dotnet/runtime/issues/134491. - // Fixed for .NET 11 GA in https://github.com/dotnet/runtime/pull/134595. - // Remove this block after upgrading to GA and verifying these cases on Debian and Alpine ARM64. - // Check the selected SDK: the integration test's own runtime is not the VSTest runner's runtime. - var sdk = ProcessHelpers.RunCommand(new ProcessHelpers.Command(EnvironmentHelper.GetDotnetExe(), "--version", timeout: TimeSpan.FromSeconds(10))); - sdk.Should().NotBeNull(); - sdk.ExitCode.Should().Be(0, sdk.Error); - var sdkVersion = sdk.Output.Trim(); - Skip.If( - sdkVersion == "11.0.100-rc.1.26425.128" || sdkVersion == "11.0.100-rc.2.26504.105", - "Named mutex IPC is incompatible between .NET 11 RC1/RC2 and .NET 8-10 on Linux ARM64 (dotnet/runtime#134491). Re-enable with .NET 11 GA."); + SkipIfVSTestCannotShareNamedMutexes(); } EnvironmentHelper.EnableDefaultTransport(); diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/TestingFrameworkEvpTest.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/TestingFrameworkEvpTest.cs index 473e52e4e8f1..db564eceffad 100644 --- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/TestingFrameworkEvpTest.cs +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/TestingFrameworkEvpTest.cs @@ -481,6 +481,28 @@ protected void InjectSession( SetEnvironmentVariable(ConfigurationKeys.CIVisibilityItrCoverageBackfillRunFolder, Path.Combine(Environment.CurrentDirectory, ".dd", runId)); } + protected void SkipIfVSTestCannotShareNamedMutexes() + { + if (EnvironmentTools.IsWindows() || EnvironmentHelper.GetTargetFramework() is not ("net8.0" or "net9.0" or "net10.0")) + { + return; + } + + // VSTest in .NET 11 RC1/RC2 cannot share named mutexes with .NET 8-10 on Linux and macOS, + // so IPC between VSTest and the test's .NET 8-10 processes can fail. + // Runtime bug: https://github.com/dotnet/runtime/issues/134491. + // Fixed for .NET 11 GA in https://github.com/dotnet/runtime/pull/134595. + // Remove this method after upgrading to GA and verifying its callers on Debian and Alpine, x64 and ARM64. + // Check the selected SDK: the integration test's own runtime is not the VSTest runner's runtime. + var sdk = ProcessHelpers.RunCommand(new ProcessHelpers.Command(EnvironmentHelper.GetDotnetExe(), "--version", timeout: TimeSpan.FromSeconds(10))); + sdk.Should().NotBeNull(); + sdk!.ExitCode.Should().Be(0, sdk.Error); + var sdkVersion = sdk.Output.Trim(); + Skip.If( + sdkVersion == "11.0.100-rc.1.26425.128" || sdkVersion == "11.0.100-rc.2.26504.105", + "Named mutex IPC is incompatible between .NET 11 RC1/RC2 and .NET 8-10 on Linux and macOS (dotnet/runtime#134491). Re-enable with .NET 11 GA."); + } + protected virtual async Task ExecuteTestAsync(string packageVersion, string evpVersionToRemove, bool expectedGzip, TestScenario testScenario) { var executionData = new ExecutionData(); diff --git a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/VSTestEmptySessionTests.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/VSTestEmptySessionTests.cs index 08ed855ff7a0..646c451de3fd 100644 --- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/VSTestEmptySessionTests.cs +++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/CI/VSTestEmptySessionTests.cs @@ -40,6 +40,8 @@ public VSTestEmptySessionTests(ITestOutputHelper output) [Trait("Category", "TestIntegrations")] public async Task SessionIsSkippedWhenVSTestRunsNoTests(string testName, string expectedStatus) { + // The testhost connects to the session in vstest.console over IPC. + SkipIfVSTestCannotShareNamedMutexes(); var sessions = new ConcurrentQueue(); using var agent = EnvironmentHelper.GetMockAgent(); agent.EventPlatformProxyPayloadReceived += (_, e) => @@ -80,6 +82,7 @@ public async Task SessionIsSkippedWhenVSTestRunsNoTests(string testName, string public async Task VSTestSendsExecutedTestsToTheParentSession(string testName, long expectedExecutedTests) { // As with dotnet test, the session belongs to a parent process and vstest.console reports to it over IPC. + SkipIfVSTestCannotShareNamedMutexes(); InjectSession(out var sessionId, out _, out _, out _, out _, out _, out _); using var received = new ManualResetEventSlim(); long? executedTests = null; From 854da7ded0f453b4e0754b0d89b78ed355c7e6b0 Mon Sep 17 00:00:00 2001 From: Tony Redondo Date: Fri, 23 Oct 2026 12:32:40 +0200 Subject: [PATCH 3/3] [Test Optimization] Share the propagated session lookup of the dotnet test integrations The Coverlet and Microsoft CodeCoverage integrations each had a private copy of the lookup that extracts the propagated test session from the environment variables, DotnetCommon repeated it inline twice, and the VSTest run completion hook added another. They all use DotnetCommon.TryGetParentSessionSpanId now. --- .../CoverageGetCoverageResultIntegration.cs | 22 +--------- .../Testing/DotnetTest/DotnetCommon.cs | 41 ++++++++++++------- .../ManagedVanguardStopIntegration.cs | 21 +--------- ...estRunRequestOnRunCompletionIntegration.cs | 9 +--- 4 files changed, 33 insertions(+), 60 deletions(-) diff --git a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/CoverageGetCoverageResultIntegration.cs b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/CoverageGetCoverageResultIntegration.cs index da917cecfb7c..9c707d65ab53 100644 --- a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/CoverageGetCoverageResultIntegration.cs +++ b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/CoverageGetCoverageResultIntegration.cs @@ -12,9 +12,7 @@ using Datadog.Trace.Ci.Ipc.Messages; using Datadog.Trace.ClrProfiler.CallTarget; using Datadog.Trace.DuckTyping; -using Datadog.Trace.Propagators; using Datadog.Trace.Telemetry; -using Datadog.Trace.Util; using Datadog.Trace.Vendors.Newtonsoft.Json.Utilities; namespace Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest; @@ -72,7 +70,7 @@ internal static CallTargetReturn OnMethodEnd(TTarget CoverletCoverageBackfill.CoverletCoverageBackfillRollback? rollback = null; try { - if (!TryGetParentSessionSpanId(out var sessionSpanId)) + if (!DotnetCommon.TryGetParentSessionSpanId(out var sessionSpanId)) { Common.Log.Warning("CoverageGetCoverageResultIntegration: Could not find the parent test session context for Coverlet coverage IPC."); TelemetryFactory.Metrics.RecordCountCIVisibilityCodeCoverageErrors(); @@ -184,25 +182,9 @@ rollback is not null && return new CallTargetReturn(returnValue); } - private static bool TryGetParentSessionSpanId(out ulong sessionSpanId) - { - var context = Tracer.Instance.TracerManager.SpanContextPropagator.Extract( - EnvironmentHelpers.GetEnvironmentVariables(), - new DictionaryGetterAndSetter(DictionaryGetterAndSetter.EnvironmentVariableKeyProcessor)); - - if (context.SpanContext is { } sessionContext) - { - sessionSpanId = sessionContext.SpanId; - return true; - } - - sessionSpanId = 0; - return false; - } - private static void RecordCoverletCoverageIpcFailure() { - if (TryGetParentSessionSpanId(out var sessionSpanId)) + if (DotnetCommon.TryGetParentSessionSpanId(out var sessionSpanId)) { CoverageBackfillDataStore.RecordCoverageIpcFailure(sessionSpanId, nameof(CodeCoverageReportSource.Coverlet)); } diff --git a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/DotnetCommon.cs b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/DotnetCommon.cs index 6ad49a8fbfbb..9f259f32df2e 100644 --- a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/DotnetCommon.cs +++ b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/DotnetCommon.cs @@ -166,11 +166,7 @@ internal static bool IsMsBuildTask } // Let's detect if we already have a session for this test process - var context = Tracer.Instance.TracerManager.SpanContextPropagator.Extract( - EnvironmentHelpers.GetEnvironmentVariables(), - new DictionaryGetterAndSetter(DictionaryGetterAndSetter.EnvironmentVariableKeyProcessor)); - - if (context.SpanContext is not null) + if (TryGetParentSessionSpanId(out _)) { // Session found in the environment variables // let's capture current Coverlet XML attachments for stale-attachment filtering and bail out. @@ -236,6 +232,27 @@ internal static bool IsMsBuildTask internal static bool IsVSTestArtifactsPostprocessCommand(string? commandLine) => commandLine?.IndexOf(VSTestArtifactsPostprocessArgument, StringComparison.OrdinalIgnoreCase) >= 0; + /// + /// Gets the test session that was propagated to this process through environment variables, by a parent process or by this one. + /// + /// Span id of the propagated test session. + /// True when a test session context was found in the environment variables. + internal static bool TryGetParentSessionSpanId(out ulong sessionSpanId) + { + var context = Tracer.Instance.TracerManager.SpanContextPropagator.Extract( + EnvironmentHelpers.GetEnvironmentVariables(), + new DictionaryGetterAndSetter(DictionaryGetterAndSetter.EnvironmentVariableKeyProcessor)); + + if (context.SpanContext is { } sessionContext) + { + sessionSpanId = sessionContext.SpanId; + return true; + } + + sessionSpanId = 0; + return false; + } + /// /// Captures Coverlet collector XML attachments that already exist before the test command writes current results. /// @@ -681,11 +698,7 @@ internal static bool TryProcessInjectedSessionCoverletCollectorXmlReports() private static CoverletCollectorXmlProcessingResult TryProcessInjectedSessionCoverletCollectorXmlReports(bool recordIpcFailureOnFailure) { - var context = Tracer.Instance.TracerManager.SpanContextPropagator.Extract( - EnvironmentHelpers.GetEnvironmentVariables(), - new DictionaryGetterAndSetter(DictionaryGetterAndSetter.EnvironmentVariableKeyProcessor)); - - if (context.SpanContext is not { } sessionContext) + if (!TryGetParentSessionSpanId(out var sessionSpanId)) { return CoverletCollectorXmlProcessingResult.NotApplicable; } @@ -703,11 +716,11 @@ private static CoverletCollectorXmlProcessingResult TryProcessInjectedSessionCov commandLine, workingDirectory, GetCurrentProcessStartTime(), - (CoverletCollectorXmlReport coverageReport, ExternalCoverageXmlBackfill.CoverageBackfillValidationState validationState, out ExternalCoverageXmlResult result) => TryProcessCoverletCollectorXmlForCurrentProcess(sessionContext.SpanId, coverageReport, validationState, out result), - (coverageReports, coverageResult, backfillValidated) => SendInjectedSessionCoverageResult(sessionContext.SpanId, coverageReports, coverageResult, backfillValidated)); + (CoverletCollectorXmlReport coverageReport, ExternalCoverageXmlBackfill.CoverageBackfillValidationState validationState, out ExternalCoverageXmlResult result) => TryProcessCoverletCollectorXmlForCurrentProcess(sessionSpanId, coverageReport, validationState, out result), + (coverageReports, coverageResult, backfillValidated) => SendInjectedSessionCoverageResult(sessionSpanId, coverageReports, coverageResult, backfillValidated)); if (result != CoverletCollectorXmlProcessingResult.Processed && recordIpcFailureOnFailure) { - RecordCoverletXmlFallbackIpcFailure(sessionContext.SpanId); + RecordCoverletXmlFallbackIpcFailure(sessionSpanId); } return result; @@ -717,7 +730,7 @@ private static CoverletCollectorXmlProcessingResult TryProcessInjectedSessionCov Log.Warning(ex, "RunCiCommand: Error while processing injected-session Coverlet collector XML fallback."); if (recordIpcFailureOnFailure) { - RecordCoverletXmlFallbackIpcFailure(sessionContext.SpanId); + RecordCoverletXmlFallbackIpcFailure(sessionSpanId); } return CoverletCollectorXmlProcessingResult.FailedClosed; diff --git a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/ManagedVanguardStopIntegration.cs b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/ManagedVanguardStopIntegration.cs index 4a8b40d52770..e84767d676c0 100644 --- a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/ManagedVanguardStopIntegration.cs +++ b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/ManagedVanguardStopIntegration.cs @@ -17,7 +17,6 @@ using Datadog.Trace.Ci.Ipc.Messages; using Datadog.Trace.ClrProfiler.CallTarget; using Datadog.Trace.DuckTyping; -using Datadog.Trace.Propagators; using Datadog.Trace.Telemetry; using Datadog.Trace.Util; @@ -63,7 +62,7 @@ internal static CallTargetReturn OnMethodEnd(TTarget instance, Exceptio return CallTargetReturn.GetDefault(); } - if (!TryGetParentSessionSpanId(out var parentSessionSpanId)) + if (!DotnetCommon.TryGetParentSessionSpanId(out var parentSessionSpanId)) { Common.Log.Warning("ManagedVanguardStopIntegration: Could not find the parent test session context for Microsoft CodeCoverage IPC."); RecordMicrosoftCoverageIpcFailure(); @@ -263,7 +262,7 @@ private static string GetMicrosoftCoverageResultId(ulong sessionSpanId, IReadOnl private static void RecordMicrosoftCoverageIpcFailure() { TelemetryFactory.Metrics.RecordCountCIVisibilityCodeCoverageErrors(); - if (TryGetParentSessionSpanId(out var sessionSpanId)) + if (DotnetCommon.TryGetParentSessionSpanId(out var sessionSpanId)) { CoverageBackfillDataStore.RecordCoverageIpcFailure(sessionSpanId, nameof(CodeCoverageReportSource.MicrosoftCodeCoverage)); } @@ -275,22 +274,6 @@ private static void RecordMicrosoftCoverageIpcFailure(ulong sessionSpanId) CoverageBackfillDataStore.RecordCoverageIpcFailure(sessionSpanId, nameof(CodeCoverageReportSource.MicrosoftCodeCoverage)); } - private static bool TryGetParentSessionSpanId(out ulong sessionSpanId) - { - var context = Tracer.Instance.TracerManager.SpanContextPropagator.Extract( - EnvironmentHelpers.GetEnvironmentVariables(), - new DictionaryGetterAndSetter(DictionaryGetterAndSetter.EnvironmentVariableKeyProcessor)); - - if (context.SpanContext is { } sessionContext) - { - sessionSpanId = sessionContext.SpanId; - return true; - } - - sessionSpanId = 0; - return false; - } - private static bool TryReadCoverageXmlReportBackup(string filePath, out CoverageXmlReportBackup backup) { try diff --git a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/TestRunRequestOnRunCompletionIntegration.cs b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/TestRunRequestOnRunCompletionIntegration.cs index 53dd92619db4..728c0d018f10 100644 --- a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/TestRunRequestOnRunCompletionIntegration.cs +++ b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Testing/DotnetTest/TestRunRequestOnRunCompletionIntegration.cs @@ -11,8 +11,6 @@ using Datadog.Trace.Ci.Ipc.Messages; using Datadog.Trace.ClrProfiler.CallTarget; using Datadog.Trace.DuckTyping; -using Datadog.Trace.Propagators; -using Datadog.Trace.Util; namespace Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest; @@ -66,17 +64,14 @@ private static void SendExecutedTests(long? executedTests) // The session that owns this run propagates its context through environment variables, whether it was created // by this vstest.console process or by a parent process such as the dotnet CLI. Only sessions created by the // dotnet test integrations host the IPC server, so manual sessions never receive the count. - var context = Tracer.Instance.TracerManager.SpanContextPropagator.Extract( - EnvironmentHelpers.GetEnvironmentVariables(), - new DictionaryGetterAndSetter(DictionaryGetterAndSetter.EnvironmentVariableKeyProcessor)); - if (context.SpanContext is not { } sessionContext) + if (!DotnetCommon.TryGetParentSessionSpanId(out var sessionSpanId)) { return; } try { - using var ipcClient = new IpcClient($"session_{sessionContext.SpanId}"); + using var ipcClient = new IpcClient($"session_{sessionSpanId}"); var message = new SessionExecutedTestsMessage(executedTests); // A lost count could let another run's zero count report the session as empty. The session drains the