diff --git a/tracer/build/supported_calltargets.g.json b/tracer/build/supported_calltargets.g.json
index cd1e0ba03f82..e8d749e8bfb4 100644
--- a/tracer/build/supported_calltargets.g.json
+++ b/tracer/build/supported_calltargets.g.json
@@ -6657,6 +6657,32 @@
"IsAdoNetIntegration": false,
"InstrumentationCategory": 1
},
+ {
+ "IntegrationName": "DatadogTraceManual",
+ "AssemblyName": "Datadog.Trace.Manual",
+ "TargetTypeName": "Datadog.Trace.DataStreams",
+ "TargetMethodName": "TrackTransaction",
+ "TargetReturnType": "System.Void",
+ "TargetParameterTypes": [
+ "Datadog.Trace.ISpan",
+ "System.String",
+ "System.String"
+ ],
+ "MinimumVersion": {
+ "Item1": 3,
+ "Item2": 0,
+ "Item3": 0
+ },
+ "MaximumVersion": {
+ "Item1": 3,
+ "Item2": 65535,
+ "Item3": 65535
+ },
+ "InstrumentationTypeName": "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.DataStreams.DataStreamsTrackTransactionIntegration",
+ "IntegrationKind": 0,
+ "IsAdoNetIntegration": false,
+ "InstrumentationCategory": 1
+ },
{
"IntegrationName": "DatadogTraceManual",
"AssemblyName": "Datadog.Trace.Manual",
diff --git a/tracer/src/Datadog.Trace.Manual/DataStreams.cs b/tracer/src/Datadog.Trace.Manual/DataStreams.cs
new file mode 100644
index 000000000000..ca98c1f5ce2f
--- /dev/null
+++ b/tracer/src/Datadog.Trace.Manual/DataStreams.cs
@@ -0,0 +1,33 @@
+//
+// 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.Runtime.CompilerServices;
+using Datadog.Trace.SourceGenerators;
+
+#nullable enable
+
+namespace Datadog.Trace
+{
+ ///
+ /// Provides manual Data Streams Monitoring operations for cases where auto-instrumentation
+ /// cannot propagate transaction tracking automatically.
+ ///
+ public static class DataStreams
+ {
+ ///
+ /// Records a Data Streams Monitoring transaction checkpoint on the given span.
+ /// Sets the dsm.transaction.id tag on the span and sends the transaction
+ /// to the Data Streams backend (if DSM is enabled).
+ ///
+ /// The active span representing the current operation.
+ /// A stable identifier for the transaction being tracked (e.g. a message ID or trace ID).
+ /// The logical name of the checkpoint (e.g. "kafka-produce", "http-send").
+ [Instrumented]
+ [MethodImpl(MethodImplOptions.NoInlining)]
+ public static void TrackTransaction(ISpan span, string transactionId, string checkpointName)
+ {
+ }
+ }
+}
diff --git a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Http/HttpClient/HttpMessageHandlerCommon.cs b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Http/HttpClient/HttpMessageHandlerCommon.cs
index 38ea90c6e1c6..d59f048f434f 100644
--- a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Http/HttpClient/HttpMessageHandlerCommon.cs
+++ b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Http/HttpClient/HttpMessageHandlerCommon.cs
@@ -8,6 +8,7 @@
using System.Threading;
using Datadog.Trace.ClrProfiler.CallTarget;
using Datadog.Trace.Configuration;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
using Datadog.Trace.Propagators;
namespace Datadog.Trace.ClrProfiler.AutoInstrumentation.Http.HttpClient
@@ -53,6 +54,25 @@ public static CallTargetState OnMethodBegin(TTarget instance,
tracer.TracerManager.Telemetry.IntegrationGeneratedSpan(implementationIntegrationId ?? integrationId);
return new CallTargetState(scope);
}
+
+ var dataStreamsManager = tracer.TracerManager.DataStreamsManager;
+ if (dataStreamsManager.TransactionTrackingEnabled)
+ {
+ var extractors = dataStreamsManager.GetExtractorsByType(DataStreamsTransactionExtractor.Type.HttpOutHeaders);
+ if (extractors != null)
+ {
+ foreach (var extractor in extractors)
+ {
+ if (headers.TryGetValues(extractor.Value, out var headerValues))
+ {
+ foreach (var headerValue in headerValues)
+ {
+ dataStreamsManager.TrackTransaction(headerValue, extractor.Name);
+ }
+ }
+ }
+ }
+ }
}
return CallTargetState.GetDefault();
diff --git a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Kafka/KafkaHelper.cs b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Kafka/KafkaHelper.cs
index e77cf84309d7..edafb4e8be11 100644
--- a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Kafka/KafkaHelper.cs
+++ b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/Kafka/KafkaHelper.cs
@@ -12,6 +12,7 @@
using System.Threading;
using Datadog.Trace.Configuration.Schema;
using Datadog.Trace.DataStreamsMonitoring;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
using Datadog.Trace.DataStreamsMonitoring.Utils;
using Datadog.Trace.DuckTyping;
using Datadog.Trace.Logging;
@@ -288,6 +289,8 @@ private static long GetMessageSize(T message)
var base64PathwayContext = Convert.ToBase64String(BitConverter.GetBytes(span.Context.PathwayContext.Value.Hash.Value));
message.Headers.Add(DataStreamsPropagationHeaders.TemporaryBase64PathwayContext, Encoding.UTF8.GetBytes(base64PathwayContext));
}
+
+ ApplyDataStreamsExtractors(dataStreamsManager, DataStreamsTransactionExtractor.Type.KafkaConsumeHeaders, message);
}
}
catch (Exception ex)
@@ -327,6 +330,30 @@ internal static void CloseConsumerScope(Tracer tracer)
}
}
+ internal static void ApplyDataStreamsExtractors(
+ DataStreamsManager dataStreamsManager,
+ DataStreamsTransactionExtractor.Type extractorType,
+ TMessage? message)
+ where TMessage : IMessage
+ {
+ if (message?.Instance == null)
+ {
+ return;
+ }
+
+ var extractors = dataStreamsManager.GetExtractorsByType(extractorType);
+ if (extractors != null && message.Headers != null)
+ {
+ foreach (var extractor in extractors)
+ {
+ if (message.Headers.TryGetLastBytes(extractor.Value, out var transactionId))
+ {
+ dataStreamsManager.TrackTransaction(Encoding.UTF8.GetString(transactionId), extractor.Name);
+ }
+ }
+ }
+ }
+
///
/// Try to inject the prop
///
@@ -392,6 +419,7 @@ internal static void TryInjectHeaders(
}
dataStreamsManager.InjectPathwayContext(span.Context.PathwayContext, adapter);
+ ApplyDataStreamsExtractors(dataStreamsManager, DataStreamsTransactionExtractor.Type.KafkaProduceHeaders, message);
}
}
catch (Exception ex)
diff --git a/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/ManualInstrumentation/DataStreams/DataStreamsTrackTransactionIntegration.cs b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/ManualInstrumentation/DataStreams/DataStreamsTrackTransactionIntegration.cs
new file mode 100644
index 000000000000..5708cc22f7fe
--- /dev/null
+++ b/tracer/src/Datadog.Trace/ClrProfiler/AutoInstrumentation/ManualInstrumentation/DataStreams/DataStreamsTrackTransactionIntegration.cs
@@ -0,0 +1,75 @@
+//
+// 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.ComponentModel;
+using Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Proxies;
+using Datadog.Trace.ClrProfiler.CallTarget;
+using Datadog.Trace.DuckTyping;
+using Datadog.Trace.Telemetry;
+using Datadog.Trace.Telemetry.Metrics;
+
+namespace Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.DataStreams;
+
+///
+/// Instrumentation for Datadog.Trace.DataStreams.TrackTransaction
+///
+[InstrumentMethod(
+ AssemblyName = "Datadog.Trace.Manual",
+ TypeName = "Datadog.Trace.DataStreams",
+ MethodName = "TrackTransaction",
+ ReturnTypeName = ClrNames.Void,
+ ParameterTypeNames = new[] { "Datadog.Trace.ISpan", "System.String", "System.String" },
+ MinimumVersion = ManualInstrumentationConstants.MinVersion,
+ MaximumVersion = ManualInstrumentationConstants.MaxVersion,
+ IntegrationName = ManualInstrumentationConstants.IntegrationName)]
+[Browsable(false)]
+[EditorBrowsable(EditorBrowsableState.Never)]
+public sealed class DataStreamsTrackTransactionIntegration
+{
+ internal static CallTargetState OnMethodBegin(TSpan span, string transactionId, string checkpointName)
+ {
+ TelemetryFactory.Metrics.Record(PublicApiUsage.DataStreams_TrackTransaction);
+ Invoke(Datadog.Trace.Tracer.Instance, span, transactionId, checkpointName);
+ return CallTargetState.GetDefault();
+ }
+
+ ///
+ /// Separated from so tests can call it directly
+ /// without going through the CallTarget machinery.
+ ///
+ ///
+ /// Typically a duck-typed Datadog.Trace.ISpan proxy from Datadog.Trace.Manual,
+ /// a real , or null (bad usage — transaction is still tracked, tag is skipped).
+ ///
+ internal static void Invoke(Datadog.Trace.Tracer tracer, TSpan span, string transactionId, string checkpointName)
+ {
+ var dsm = tracer.TracerManager.DataStreamsManager;
+ if (dsm is null || !dsm.IsEnabled)
+ {
+ return;
+ }
+
+ if (span is IDuckType { Instance: Span s })
+ {
+ s.SetTag("dsm.transaction.id", transactionId);
+ }
+ else if (span is Span autoSpan)
+ {
+ autoSpan.SetTag("dsm.transaction.id", transactionId);
+ }
+ else if (span is null)
+ {
+ // bad usage, but catering to it just in case
+ }
+ else
+ {
+ span.DuckCast()!.SetTag("dsm.transaction.id", transactionId);
+ }
+
+ dsm.TrackTransaction(transactionId, checkpointName);
+ }
+}
diff --git a/tracer/src/Datadog.Trace/Configuration/TracerSettings.cs b/tracer/src/Datadog.Trace/Configuration/TracerSettings.cs
index 9d8e86c0edec..dbeab77f6cb7 100644
--- a/tracer/src/Datadog.Trace/Configuration/TracerSettings.cs
+++ b/tracer/src/Datadog.Trace/Configuration/TracerSettings.cs
@@ -584,6 +584,10 @@ not null when string.Equals(value, "otlp", StringComparison.OrdinalIgnoreCase) =
.WithKeys(ConfigurationKeys.DataStreamsMonitoring.Enabled)
.AsBool() == null;
+ DataStreamsTransactionExtractors = config
+ .WithKeys(ConfigurationKeys.DataStreamsMonitoring.TransactionExtractors)
+ .AsString(string.Empty);
+
// no legacy headers if we are in "enbaled by default" state
IsDataStreamsLegacyHeadersEnabled = config
.WithKeys(ConfigurationKeys.DataStreamsMonitoring.LegacyHeadersEnabled)
@@ -1203,6 +1207,11 @@ not null when string.Equals(value, "otlp", StringComparison.OrdinalIgnoreCase) =
///
internal bool IsDataStreamsMonitoringInDefaultState { get; }
+ ///
+ /// Gets a raw value for DSM extractors
+ ///
+ internal string DataStreamsTransactionExtractors { get; }
+
///
/// Gets a value indicating whether data streams schema extraction is enabled or not.
///
diff --git a/tracer/src/Datadog.Trace/Configuration/supported-configurations.yaml b/tracer/src/Datadog.Trace/Configuration/supported-configurations.yaml
index 2e28bea6e6c2..60d6ab7e52bb 100644
--- a/tracer/src/Datadog.Trace/Configuration/supported-configurations.yaml
+++ b/tracer/src/Datadog.Trace/Configuration/supported-configurations.yaml
@@ -524,6 +524,15 @@ supportedConfigurations:
Configuration key for enabling legacy binary headers in Data Streams Monitoring.
false by default if DSM is in default state, true otherwise
+ DD_DATA_STREAMS_TRANSACTION_EXTRACTORS:
+ - implementation: A
+ type: array
+ default: null
+ product: DataStreamsMonitoring
+ const_name: TransactionExtractors
+ documentation: |-
+ Configuration key for transaction extractors in Data Streams Monitoring.
+
DD_DBM_PROPAGATION_MODE:
- implementation: A
type: string
diff --git a/tracer/src/Datadog.Trace/DataStreamsMonitoring/Aggregation/DataStreamsAggregator.cs b/tracer/src/Datadog.Trace/DataStreamsMonitoring/Aggregation/DataStreamsAggregator.cs
index acef94d865d1..558917f5661f 100644
--- a/tracer/src/Datadog.Trace/DataStreamsMonitoring/Aggregation/DataStreamsAggregator.cs
+++ b/tracer/src/Datadog.Trace/DataStreamsMonitoring/Aggregation/DataStreamsAggregator.cs
@@ -8,6 +8,7 @@
using System;
using System.Collections.Generic;
using System.IO;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
using Datadog.Trace.DataStreamsMonitoring.Utils;
using Datadog.Trace.SourceGenerators;
@@ -17,7 +18,7 @@ namespace Datadog.Trace.DataStreamsMonitoring.Aggregation;
/// Aggregates multiple s into their correct buckets
/// Note that this class is *not* thread safe
///
-internal sealed class DataStreamsAggregator
+internal sealed class DataStreamsAggregator(DataStreamsMessagePackFormatter formatter, int bucketDurationMs)
{
// The inner dictionary is constrained in size by the number of unique hashes seen by the app
// Unique hashes are unique paths from origin to here, which could be unbounded if there are loops
@@ -30,18 +31,14 @@ internal sealed class DataStreamsAggregator
private readonly Dictionary> _backlogBuckets = new();
- private readonly DataStreamsMessagePackFormatter _formatter;
+ private readonly DataStreamsTransactionContainer _dataStreamsTransactionContainer = new(1024);
+
+ private readonly DataStreamsMessagePackFormatter _formatter = formatter;
private readonly DDSketchPool _sketchPool = new();
- private readonly long _bucketDurationInNs;
+ private readonly long _bucketDurationInNs = ((long)bucketDurationMs) * 1_000_000;
private List? _statsToWrite;
private List? _backlogsToWrite;
- public DataStreamsAggregator(DataStreamsMessagePackFormatter formatter, int bucketDurationMs)
- {
- _formatter = formatter;
- _bucketDurationInNs = ((long)bucketDurationMs) * 1_000_000;
- }
-
///
/// Add the stats point to the aggregated stats
///
@@ -70,6 +67,11 @@ public void AddBacklog(in BacklogPoint point)
}
}
+ public void AddTransaction(in DataStreamsTransactionInfo transaction)
+ {
+ _dataStreamsTransactionContainer.Add(transaction);
+ }
+
///
/// Serialize the aggregated results using message pack
///
@@ -80,9 +82,11 @@ public bool Serialize(Stream stream, long maxBucketFlushTimeNs)
{
var statsToAdd = Export(maxBucketFlushTimeNs) ?? new();
var backlogsToAdd = ExportBacklogs(maxBucketFlushTimeNs) ?? new();
- if (statsToAdd.Count > 0 || backlogsToAdd.Count > 0)
+
+ var transactionData = _dataStreamsTransactionContainer.GetDataAndReset();
+ if (statsToAdd.Count > 0 || backlogsToAdd.Count > 0 || transactionData.Length > 0)
{
- _formatter.Serialize(stream, _bucketDurationInNs, statsToAdd, backlogsToAdd);
+ _formatter.Serialize(stream, _bucketDurationInNs, statsToAdd, backlogsToAdd, transactionData);
Clear(statsToAdd, backlogsToAdd);
return true;
diff --git a/tracer/src/Datadog.Trace/DataStreamsMonitoring/Aggregation/DataStreamsMessagePackFormatter.cs b/tracer/src/Datadog.Trace/DataStreamsMonitoring/Aggregation/DataStreamsMessagePackFormatter.cs
index a519b8407150..3f82be4959c1 100644
--- a/tracer/src/Datadog.Trace/DataStreamsMonitoring/Aggregation/DataStreamsMessagePackFormatter.cs
+++ b/tracer/src/Datadog.Trace/DataStreamsMonitoring/Aggregation/DataStreamsMessagePackFormatter.cs
@@ -12,6 +12,7 @@
using System.Threading;
using Datadog.Trace.Configuration;
using Datadog.Trace.ContinuousProfiler;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
using Datadog.Trace.Vendors.Datadog.Sketches;
using Datadog.Trace.Vendors.MessagePack;
@@ -53,6 +54,9 @@ internal sealed class DataStreamsMessagePackFormatter
private readonly byte[] _processTagsBytes = StringEncoding.UTF8.GetBytes("ProcessTags");
private readonly byte[] _isInDefaultStateBytes = StringEncoding.UTF8.GetBytes("IsInDefaultState");
+ private readonly byte[] _transactions = StringEncoding.UTF8.GetBytes("Transactions");
+ private readonly byte[] _transactionCheckpointIds = StringEncoding.UTF8.GetBytes("TransactionCheckpointIds");
+
private byte[] _environmentValueBytes;
private byte[] _serviceValueBytes;
private ProcessTags? _processTags;
@@ -116,11 +120,16 @@ private static long GetProductsMask(TracerSettings tracerSettings, ProfilerSetti
return productsMask;
}
- public int Serialize(Stream stream, long bucketDurationNs, List statsBuckets, List backlogsBuckets)
+ public int Serialize(
+ Stream stream,
+ long bucketDurationNs,
+ List statsBuckets,
+ List backlogsBuckets,
+ byte[] transactionData)
{
+ var hasTransactions = transactionData.Length > 0;
var withProcessTags = _writeProcessTags && _processTags?.TagsList.Count > 0;
var processTags = _writeProcessTags ? _processTags?.TagsList : null;
-
var bytesWritten = 0;
// Should be in sync with Java
@@ -146,11 +155,24 @@ public int Serialize(Stream stream, long bucketDurationNs, List 0 ? 1 : 0;
count += backlogBucketCount > 0 ? 1 : 0;
+ count += hasTransactions ? 2 : 0;
// 2-4 entries per StatsBucket (Backlogs and Stats are both optional):
// https://github.com/DataDog/data-streams-go/blob/60ba06aec619850aef8ed0b9b1f0f5e310438362/datastreams/payload.go#L48
diff --git a/tracer/src/Datadog.Trace/DataStreamsMonitoring/DataStreamsManager.cs b/tracer/src/Datadog.Trace/DataStreamsMonitoring/DataStreamsManager.cs
index 907117b7f273..313699f840f4 100644
--- a/tracer/src/Datadog.Trace/DataStreamsMonitoring/DataStreamsManager.cs
+++ b/tracer/src/Datadog.Trace/DataStreamsMonitoring/DataStreamsManager.cs
@@ -6,6 +6,7 @@
#nullable enable
using System;
using System.Collections.Concurrent;
+using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Datadog.Trace.Agent.DiscoveryService;
@@ -13,6 +14,7 @@
using Datadog.Trace.ContinuousProfiler;
using Datadog.Trace.DataStreamsMonitoring.Aggregation;
using Datadog.Trace.DataStreamsMonitoring.Hashes;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
using Datadog.Trace.Headers;
using Datadog.Trace.Logging;
using Datadog.Trace.PlatformHelpers;
@@ -29,9 +31,10 @@ internal sealed class DataStreamsManager
private static readonly AsyncLocal LastConsumePathway = new(); // saves the context on consume checkpointing only
private readonly object _nodeHashUpdateLock = new();
private readonly ConcurrentDictionary _schemaRateLimiters = new();
+ private readonly IDiscoveryService _discoveryService;
+ private readonly DataStreamsExtractorRegistry _registry;
private readonly IDisposable _updateSubscription;
private readonly bool _isLegacyDsmHeadersEnabled;
- private readonly IDiscoveryService _discoveryService; // only saved to be able to unsubscribe
private long _nodeHashBase; // note that this actually represents a `ulong` that we have done an unsafe cast for
private MutableSettings _previousMutableSettings;
private string? _previousContainerTagsHash;
@@ -49,6 +52,10 @@ public DataStreamsManager(
_writer = writer;
_discoveryService = discoveryService;
_isInDefaultState = tracerSettings.IsDataStreamsMonitoringInDefaultState;
+ _registry = new DataStreamsExtractorRegistry(tracerSettings.DataStreamsTransactionExtractors);
+
+ Log.Debug(@"### Initializing DataStreamsManager with extractors (raw) {DataStreamsTransactionExtractors}", tracerSettings.DataStreamsTransactionExtractors);
+ Log.Debug(@"### Extractors loaded (parsed): {AsJson}", _registry.AsJson());
_previousMutableSettings = tracerSettings.Manager.InitialMutableSettings;
// even though the value will probably get updated by a callback when subscriptions happen just after,
@@ -69,6 +76,11 @@ public bool IsInDefaultState
get => Volatile.Read(ref _isInDefaultState);
}
+ public bool TransactionTrackingEnabled
+ {
+ get => !IsInDefaultState && IsEnabled;
+ }
+
/// Callback for AgentConfiguration updates
private void UpdateHashWithContainerTags(AgentConfiguration conf)
{
@@ -159,6 +171,11 @@ public async Task FlushAsync()
where TCarrier : IBinaryHeadersCollection
=> IsEnabled ? DataStreamsContextPropagator.Instance.Extract(headers) : null;
+ public List? GetExtractorsByType(DataStreamsTransactionExtractor.Type extractorType)
+ {
+ return _registry.GetExtractorsByType(extractorType);
+ }
+
///
/// Injects a into headers
///
@@ -175,6 +192,21 @@ public void InjectPathwayContext(PathwayContext? context, TCarrier hea
DataStreamsContextPropagator.Instance.Inject(context.Value, headers, _isLegacyDsmHeadersEnabled);
}
+ public void TrackTransaction(string transactionId, string checkpointName)
+ {
+ Log.Debug(@"### Tracking transaction {TransactionId} at checkpoint {CheckpointName}", transactionId, checkpointName);
+ if (!IsEnabled)
+ {
+ return;
+ }
+
+ var writer = Volatile.Read(ref _writer);
+ writer?.AddTransaction(new DataStreamsTransactionInfo(
+ transactionId,
+ DateTimeOffset.UtcNow.ToUnixTimeNanoseconds(),
+ checkpointName));
+ }
+
public void TrackBacklog(string tags, long value)
{
if (!IsEnabled)
diff --git a/tracer/src/Datadog.Trace/DataStreamsMonitoring/DataStreamsWriter.cs b/tracer/src/Datadog.Trace/DataStreamsMonitoring/DataStreamsWriter.cs
index e6ebd333ad2c..59b746c3b481 100644
--- a/tracer/src/Datadog.Trace/DataStreamsMonitoring/DataStreamsWriter.cs
+++ b/tracer/src/Datadog.Trace/DataStreamsMonitoring/DataStreamsWriter.cs
@@ -13,6 +13,7 @@
using Datadog.Trace.Configuration;
using Datadog.Trace.ContinuousProfiler;
using Datadog.Trace.DataStreamsMonitoring.Aggregation;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
using Datadog.Trace.DataStreamsMonitoring.Transport;
using Datadog.Trace.Logging;
using Datadog.Trace.Util;
@@ -29,6 +30,7 @@ internal sealed class DataStreamsWriter : IDataStreamsWriter
private readonly long _bucketDurationMs;
private readonly BoundedConcurrentQueue _buffer = new(queueLimit: 10_000);
private readonly BoundedConcurrentQueue _backlogBuffer = new(queueLimit: 10_000);
+ private readonly BoundedConcurrentQueue _transactionBuffer = new(queueLimit: 10_000);
private readonly TimeSpan _waitTimeSpan = TimeSpan.FromMilliseconds(10);
private readonly TimeSpan _flushSemaphoreWaitTime = TimeSpan.FromSeconds(1);
private readonly DataStreamsAggregator _aggregator;
@@ -130,6 +132,25 @@ public void Add(in StatsPoint point)
Interlocked.Increment(ref _pointsDropped);
}
+ public void AddTransaction(in DataStreamsTransactionInfo transaction)
+ {
+ Log.Debug(@"### Processing data streams transaction {Transaction}", transaction);
+ if (!Volatile.Read(ref _isInitialized))
+ {
+ Initialize();
+ }
+
+ if (Volatile.Read(ref _isSupported) != SupportState.Unsupported)
+ {
+ if (_transactionBuffer.TryEnqueue(transaction))
+ {
+ return;
+ }
+ }
+
+ Interlocked.Increment(ref _pointsDropped);
+ }
+
public void AddBacklog(in BacklogPoint point)
{
if (!Volatile.Read(ref _isInitialized))
@@ -342,6 +363,12 @@ private void ProcessQueueLoop()
{
_aggregator.AddBacklog(in backlogPoint);
}
+
+ while (_transactionBuffer.TryDequeue(out var transactionPoint))
+ {
+ Log.Debug("### Aggregating transaction id {Id}", transactionPoint.TransactionId);
+ _aggregator.AddTransaction(transactionPoint);
+ }
}
catch (Exception ex)
{
diff --git a/tracer/src/Datadog.Trace/DataStreamsMonitoring/IDataStreamsWriter.cs b/tracer/src/Datadog.Trace/DataStreamsMonitoring/IDataStreamsWriter.cs
index e88ee3049aa5..ad146cb7539b 100644
--- a/tracer/src/Datadog.Trace/DataStreamsMonitoring/IDataStreamsWriter.cs
+++ b/tracer/src/Datadog.Trace/DataStreamsMonitoring/IDataStreamsWriter.cs
@@ -6,6 +6,7 @@
#nullable enable
using System.Threading.Tasks;
using Datadog.Trace.DataStreamsMonitoring.Aggregation;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
namespace Datadog.Trace.DataStreamsMonitoring;
@@ -15,6 +16,8 @@ internal interface IDataStreamsWriter
void AddBacklog(in BacklogPoint point);
+ void AddTransaction(in DataStreamsTransactionInfo transaction);
+
Task FlushAsync();
Task DisposeAsync();
diff --git a/tracer/src/Datadog.Trace/DataStreamsMonitoring/SpanExtensions.cs b/tracer/src/Datadog.Trace/DataStreamsMonitoring/SpanExtensions.cs
index 58d923ba4046..98ebb1c066bc 100644
--- a/tracer/src/Datadog.Trace/DataStreamsMonitoring/SpanExtensions.cs
+++ b/tracer/src/Datadog.Trace/DataStreamsMonitoring/SpanExtensions.cs
@@ -9,6 +9,24 @@ namespace Datadog.Trace.DataStreamsMonitoring;
internal static class SpanExtensions
{
+ ///
+ /// Tracks a transaction at the given checkpoint and tags the span with the transaction ID.
+ ///
+ /// The span instance
+ /// The to use
+ /// The transaction identifier
+ /// The checkpoint name at which the transaction is being tracked
+ internal static void TrackTransaction(this Span span, DataStreamsManager? manager, string transactionId, string checkpointName)
+ {
+ if (manager is null)
+ {
+ return;
+ }
+
+ span.SetTag("dsm.transaction.id", transactionId);
+ manager.TrackTransaction(transactionId, checkpointName);
+ }
+
///
/// Sets a DataStreams checkpoint and adds pathway tag to the span
///
diff --git a/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsExtractorRegistry.cs b/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsExtractorRegistry.cs
new file mode 100644
index 000000000000..d8fb47e01583
--- /dev/null
+++ b/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsExtractorRegistry.cs
@@ -0,0 +1,46 @@
+//
+// 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.Collections.Generic;
+using Datadog.Trace.Util.Json;
+
+namespace Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
+
+internal sealed class DataStreamsExtractorRegistry
+{
+ private readonly Dictionary> _extractors = new();
+
+ internal DataStreamsExtractorRegistry(string extractorsJson)
+ {
+ if (string.IsNullOrWhiteSpace(extractorsJson))
+ {
+ return;
+ }
+
+ var deserialized = JsonHelper.DeserializeObject>(extractorsJson);
+ if (deserialized == null)
+ {
+ return;
+ }
+
+ foreach (var extractor in deserialized)
+ {
+ var list = _extractors.GetValueOrDefault(extractor.ExtractorType) ?? new();
+ list.Add(extractor);
+ _extractors[extractor.ExtractorType] = list;
+ }
+ }
+
+ internal string AsJson()
+ {
+ return JsonHelper.SerializeObject(_extractors);
+ }
+
+ internal List? GetExtractorsByType(DataStreamsTransactionExtractor.Type extractorType)
+ {
+ return _extractors.GetValueOrDefault(extractorType);
+ }
+}
diff --git a/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsTransactionContainer.cs b/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsTransactionContainer.cs
new file mode 100644
index 000000000000..a04587467faf
--- /dev/null
+++ b/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsTransactionContainer.cs
@@ -0,0 +1,64 @@
+//
+// 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;
+
+namespace Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
+
+internal sealed class DataStreamsTransactionContainer
+{
+ private readonly object _lock = new();
+ private readonly int _initialByteSize;
+
+ private byte[] _data;
+ private int _size;
+
+ internal DataStreamsTransactionContainer(int initialSizeBytes)
+ {
+ _initialByteSize = initialSizeBytes;
+ _data = new byte[initialSizeBytes];
+ }
+
+ public void Add(DataStreamsTransactionInfo transactionInfo)
+ {
+ lock (_lock)
+ {
+ var byteCount = transactionInfo.GetByteCount();
+
+ if (_data.Length - _size < byteCount)
+ {
+ var resized = new byte[Math.Max(_data.Length * 2, _size + byteCount)];
+ Array.Copy(_data, 0, resized, 0, _size);
+ _data = resized;
+ }
+
+ transactionInfo.WriteTo(_data, _size);
+ _size += byteCount;
+ }
+ }
+
+ public int Size()
+ {
+ lock (_lock)
+ {
+ return _size;
+ }
+ }
+
+ public byte[] GetDataAndReset()
+ {
+ lock (_lock)
+ {
+ // trim zeros
+ var result = new byte[_size];
+ Array.Copy(_data, 0, result, 0, _size);
+ // reset buffer and position
+ _data = new byte[_initialByteSize];
+ _size = 0;
+ return result;
+ }
+ }
+}
diff --git a/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsTransactionExtractor.cs b/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsTransactionExtractor.cs
new file mode 100644
index 000000000000..0cae89e1f2a2
--- /dev/null
+++ b/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsTransactionExtractor.cs
@@ -0,0 +1,58 @@
+//
+// 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.Collections.Generic;
+using Datadog.Trace.Vendors.Newtonsoft.Json;
+
+namespace Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
+
+internal sealed class DataStreamsTransactionExtractor
+{
+ private static readonly Dictionary TypeMap = new(System.StringComparer.Ordinal)
+ {
+ ["HTTP_OUT_HEADERS"] = Type.HttpOutHeaders,
+ ["HTTP_IN_HEADERS"] = Type.HttpInHeaders,
+ ["KAFKA_CONSUME_HEADERS"] = Type.KafkaConsumeHeaders,
+ ["KAFKA_PRODUCE_HEADERS"] = Type.KafkaProduceHeaders,
+ };
+
+ private Type? _cachedType;
+
+ public enum Type
+ {
+ Unknown,
+
+ HttpOutHeaders,
+
+ HttpInHeaders,
+
+ KafkaConsumeHeaders,
+
+ KafkaProduceHeaders,
+ }
+
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; private set; } = string.Empty;
+
+ [JsonProperty(PropertyName = "type")]
+ public string StringType { get; private set; } = string.Empty;
+
+ [JsonProperty(PropertyName = "value")]
+ public string Value { get; private set; } = string.Empty;
+
+ public Type ExtractorType
+ {
+ get
+ {
+ if (_cachedType is null)
+ {
+ _cachedType = TypeMap.TryGetValue(StringType, out var t) ? t : Type.Unknown;
+ }
+
+ return _cachedType.Value;
+ }
+ }
+}
diff --git a/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsTransactionInfo.cs b/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsTransactionInfo.cs
new file mode 100644
index 000000000000..5c50dfb3ac40
--- /dev/null
+++ b/tracer/src/Datadog.Trace/DataStreamsMonitoring/TransactionTracking/DataStreamsTransactionInfo.cs
@@ -0,0 +1,101 @@
+//
+// 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.Collections.Concurrent;
+using System.Text;
+using System.Threading;
+
+namespace Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
+
+internal readonly struct DataStreamsTransactionInfo
+{
+ private static readonly ConcurrentDictionary Cache = new();
+ private static int _counter;
+
+ private readonly byte[] _idBytes;
+ private readonly long _timestamp;
+ private readonly int _checkpointId;
+
+ internal DataStreamsTransactionInfo(string id, long timestamp, string checkpoint)
+ {
+ _idBytes = Encoding.UTF8.GetBytes(id);
+ _timestamp = timestamp;
+ _checkpointId = Cache.GetOrAdd(checkpoint, Interlocked.Increment(ref _counter));
+ }
+
+ internal long TimestampNs { get => _timestamp; }
+
+ internal string TransactionId { get => Encoding.UTF8.GetString(_idBytes); }
+
+ internal static byte[] GetCacheBytes()
+ {
+ var result = new byte[512];
+ var index = 0;
+
+ foreach (var pair in Cache)
+ {
+ var keyBytes = Encoding.UTF8.GetBytes(pair.Key);
+ // resize the buffer if needed
+ if (result.Length - index <= keyBytes.Length + 2)
+ {
+ var resized = new byte[result.Length * 2];
+ Array.Copy(result, 0, resized, 0, result.Length);
+ result = resized;
+ }
+
+ result[index] = (byte)pair.Value;
+ index++;
+ result[index] = (byte)(keyBytes.Length);
+ index++;
+
+ Array.Copy(keyBytes, 0, result, index, keyBytes.Length);
+ index += keyBytes.Length;
+ }
+
+ var trimmed = new byte[index];
+ Array.Copy(result, trimmed, index);
+ return trimmed;
+ }
+
+ // ClearCache is for using in tests only — resets both the map and the counter so IDs are deterministic
+ internal static void ClearCache()
+ {
+ Cache.Clear();
+ Interlocked.Exchange(ref _counter, 0);
+ }
+
+ internal int GetByteCount() => _idBytes.Length + 10;
+
+ internal void WriteTo(byte[] buffer, int offset)
+ {
+ // up to 1 byte for checkpoint id
+ buffer[offset] = (byte)_checkpointId;
+
+ // 8 bytes for timestamp
+ buffer[offset + 1] = (byte)(_timestamp >> 56);
+ buffer[offset + 2] = (byte)(_timestamp >> 48);
+ buffer[offset + 3] = (byte)(_timestamp >> 40);
+ buffer[offset + 4] = (byte)(_timestamp >> 32);
+ buffer[offset + 5] = (byte)(_timestamp >> 24);
+ buffer[offset + 6] = (byte)(_timestamp >> 16);
+ buffer[offset + 7] = (byte)(_timestamp >> 8);
+ buffer[offset + 8] = (byte)_timestamp;
+
+ // id size, up to 256 bytes
+ buffer[offset + 9] = (byte)_idBytes.Length;
+
+ // copy the ID
+ Array.Copy(_idBytes, 0, buffer, offset + 10, _idBytes.Length);
+ }
+
+ internal byte[] GetBytes()
+ {
+ var result = new byte[GetByteCount()];
+ WriteTo(result, 0);
+ return result;
+ }
+}
diff --git a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
index 6d26b13501d8..7e39ebcaca84 100644
--- a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
+++ b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
@@ -29,5 +29,11 @@ internal static class DataStreamsMonitoring
///
///
public const string LegacyHeadersEnabled = "DD_DATA_STREAMS_LEGACY_HEADERS";
+
+ ///
+ /// Configuration key for transaction extractors in Data Streams Monitoring.
+ ///
+ ///
+ public const string TransactionExtractors = "DD_DATA_STREAMS_TRANSACTION_EXTRACTORS";
}
}
diff --git a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
index 1a6b9c3ab20b..e07b88e1bcef 100644
--- a/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
+++ b/tracer/src/Datadog.Trace/Generated/net461/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
@@ -17,7 +17,7 @@ internal static partial class PublicApiUsageExtensions
/// The number of members in the enum.
/// This is a non-distinct count of defined names.
///
- public const int Length = 105;
+ public const int Length = 106;
///
/// Returns the string representation of the value.
@@ -46,6 +46,7 @@ public static string ToStringFast(this Datadog.Trace.Telemetry.Metrics.PublicApi
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm => "name:spancontextinjector_injectincludingdsm",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject => "name:spancontextinjector_inject",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor => "name:spancontextinjector_ctor",
+ Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction => "name:datastreams_tracktransaction",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser => "name:spanextensions_setuser",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag => "name:spanextensions_settag",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority => "name:spanextensions_settracesamplingpriority",
@@ -164,6 +165,7 @@ public static Datadog.Trace.Telemetry.Metrics.PublicApiUsage[] GetValues()
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor,
+ Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority,
@@ -282,6 +284,7 @@ public static string[] GetNames()
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor),
+ nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority),
@@ -400,6 +403,7 @@ public static string[] GetDescriptions()
"name:spancontextinjector_injectincludingdsm",
"name:spancontextinjector_inject",
"name:spancontextinjector_ctor",
+ "name:datastreams_tracktransaction",
"name:spanextensions_setuser",
"name:spanextensions_settag",
"name:spanextensions_settracesamplingpriority",
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 7c015f4e5419..c0543473a4d7 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
@@ -305,6 +305,7 @@ internal static bool IsInstrumentedAssembly(string assemblyName)
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.TracerMetricsEnabledGetIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.PopulateDictionaryIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.DiagnosticSourceEnabledSetIntegration"
+ or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.DataStreams.DataStreamsTrackTransactionIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Extensions.SpanExtensionsSetTraceSamplingPriorityIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkEvaluateIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkIsAvailableIntegration"
diff --git a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
index 6d26b13501d8..7e39ebcaca84 100644
--- a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
+++ b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
@@ -29,5 +29,11 @@ internal static class DataStreamsMonitoring
///
///
public const string LegacyHeadersEnabled = "DD_DATA_STREAMS_LEGACY_HEADERS";
+
+ ///
+ /// Configuration key for transaction extractors in Data Streams Monitoring.
+ ///
+ ///
+ public const string TransactionExtractors = "DD_DATA_STREAMS_TRANSACTION_EXTRACTORS";
}
}
diff --git a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
index 1a6b9c3ab20b..e07b88e1bcef 100644
--- a/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
+++ b/tracer/src/Datadog.Trace/Generated/net6.0/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
@@ -17,7 +17,7 @@ internal static partial class PublicApiUsageExtensions
/// The number of members in the enum.
/// This is a non-distinct count of defined names.
///
- public const int Length = 105;
+ public const int Length = 106;
///
/// Returns the string representation of the value.
@@ -46,6 +46,7 @@ public static string ToStringFast(this Datadog.Trace.Telemetry.Metrics.PublicApi
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm => "name:spancontextinjector_injectincludingdsm",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject => "name:spancontextinjector_inject",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor => "name:spancontextinjector_ctor",
+ Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction => "name:datastreams_tracktransaction",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser => "name:spanextensions_setuser",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag => "name:spanextensions_settag",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority => "name:spanextensions_settracesamplingpriority",
@@ -164,6 +165,7 @@ public static Datadog.Trace.Telemetry.Metrics.PublicApiUsage[] GetValues()
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor,
+ Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority,
@@ -282,6 +284,7 @@ public static string[] GetNames()
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor),
+ nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority),
@@ -400,6 +403,7 @@ public static string[] GetDescriptions()
"name:spancontextinjector_injectincludingdsm",
"name:spancontextinjector_inject",
"name:spancontextinjector_ctor",
+ "name:datastreams_tracktransaction",
"name:spanextensions_setuser",
"name:spanextensions_settag",
"name:spanextensions_settracesamplingpriority",
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 378f71fa6a43..55e7f09924e0 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
@@ -324,6 +324,7 @@ internal static bool IsInstrumentedAssembly(string assemblyName)
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.TracerMetricsEnabledGetIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.PopulateDictionaryIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.DiagnosticSourceEnabledSetIntegration"
+ or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.DataStreams.DataStreamsTrackTransactionIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Extensions.SpanExtensionsSetTraceSamplingPriorityIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkEvaluateIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkIsAvailableIntegration"
diff --git a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
index 6d26b13501d8..7e39ebcaca84 100644
--- a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
+++ b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
@@ -29,5 +29,11 @@ internal static class DataStreamsMonitoring
///
///
public const string LegacyHeadersEnabled = "DD_DATA_STREAMS_LEGACY_HEADERS";
+
+ ///
+ /// Configuration key for transaction extractors in Data Streams Monitoring.
+ ///
+ ///
+ public const string TransactionExtractors = "DD_DATA_STREAMS_TRANSACTION_EXTRACTORS";
}
}
diff --git a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
index 1a6b9c3ab20b..e07b88e1bcef 100644
--- a/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
+++ b/tracer/src/Datadog.Trace/Generated/netcoreapp3.1/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
@@ -17,7 +17,7 @@ internal static partial class PublicApiUsageExtensions
/// The number of members in the enum.
/// This is a non-distinct count of defined names.
///
- public const int Length = 105;
+ public const int Length = 106;
///
/// Returns the string representation of the value.
@@ -46,6 +46,7 @@ public static string ToStringFast(this Datadog.Trace.Telemetry.Metrics.PublicApi
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm => "name:spancontextinjector_injectincludingdsm",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject => "name:spancontextinjector_inject",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor => "name:spancontextinjector_ctor",
+ Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction => "name:datastreams_tracktransaction",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser => "name:spanextensions_setuser",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag => "name:spanextensions_settag",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority => "name:spanextensions_settracesamplingpriority",
@@ -164,6 +165,7 @@ public static Datadog.Trace.Telemetry.Metrics.PublicApiUsage[] GetValues()
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor,
+ Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority,
@@ -282,6 +284,7 @@ public static string[] GetNames()
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor),
+ nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority),
@@ -400,6 +403,7 @@ public static string[] GetDescriptions()
"name:spancontextinjector_injectincludingdsm",
"name:spancontextinjector_inject",
"name:spancontextinjector_ctor",
+ "name:datastreams_tracktransaction",
"name:spanextensions_setuser",
"name:spanextensions_settag",
"name:spanextensions_settracesamplingpriority",
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 81a152372fb7..de7188f9bf15 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
@@ -320,6 +320,7 @@ internal static bool IsInstrumentedAssembly(string assemblyName)
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.TracerMetricsEnabledGetIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.PopulateDictionaryIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.DiagnosticSourceEnabledSetIntegration"
+ or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.DataStreams.DataStreamsTrackTransactionIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Extensions.SpanExtensionsSetTraceSamplingPriorityIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkEvaluateIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkIsAvailableIntegration"
diff --git a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
index 6d26b13501d8..7e39ebcaca84 100644
--- a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
+++ b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/ConfigurationKeysGenerator/ConfigurationKeys.DataStreamsMonitoring.g.cs
@@ -29,5 +29,11 @@ internal static class DataStreamsMonitoring
///
///
public const string LegacyHeadersEnabled = "DD_DATA_STREAMS_LEGACY_HEADERS";
+
+ ///
+ /// Configuration key for transaction extractors in Data Streams Monitoring.
+ ///
+ ///
+ public const string TransactionExtractors = "DD_DATA_STREAMS_TRANSACTION_EXTRACTORS";
}
}
diff --git a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
index 1a6b9c3ab20b..e07b88e1bcef 100644
--- a/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
+++ b/tracer/src/Datadog.Trace/Generated/netstandard2.0/Datadog.Trace.SourceGenerators/EnumExtensionsGenerator/PublicApiUsageExtensions_EnumExtensions.g.cs
@@ -17,7 +17,7 @@ internal static partial class PublicApiUsageExtensions
/// The number of members in the enum.
/// This is a non-distinct count of defined names.
///
- public const int Length = 105;
+ public const int Length = 106;
///
/// Returns the string representation of the value.
@@ -46,6 +46,7 @@ public static string ToStringFast(this Datadog.Trace.Telemetry.Metrics.PublicApi
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm => "name:spancontextinjector_injectincludingdsm",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject => "name:spancontextinjector_inject",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor => "name:spancontextinjector_ctor",
+ Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction => "name:datastreams_tracktransaction",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser => "name:spanextensions_setuser",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag => "name:spanextensions_settag",
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority => "name:spanextensions_settracesamplingpriority",
@@ -164,6 +165,7 @@ public static Datadog.Trace.Telemetry.Metrics.PublicApiUsage[] GetValues()
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor,
+ Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag,
Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority,
@@ -282,6 +284,7 @@ public static string[] GetNames()
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_InjectIncludingDsm),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Inject),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanContextInjector_Ctor),
+ nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.DataStreams_TrackTransaction),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetUser),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTag),
nameof(Datadog.Trace.Telemetry.Metrics.PublicApiUsage.SpanExtensions_SetTraceSamplingPriority),
@@ -400,6 +403,7 @@ public static string[] GetDescriptions()
"name:spancontextinjector_injectincludingdsm",
"name:spancontextinjector_inject",
"name:spancontextinjector_ctor",
+ "name:datastreams_tracktransaction",
"name:spanextensions_setuser",
"name:spanextensions_settag",
"name:spanextensions_settracesamplingpriority",
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 81a152372fb7..de7188f9bf15 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
@@ -320,6 +320,7 @@ internal static bool IsInstrumentedAssembly(string assemblyName)
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.TracerMetricsEnabledGetIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.PopulateDictionaryIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.DiagnosticSourceEnabledSetIntegration"
+ or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.DataStreams.DataStreamsTrackTransactionIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Extensions.SpanExtensionsSetTraceSamplingPriorityIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkEvaluateIntegration"
or "Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkIsAvailableIntegration"
diff --git a/tracer/src/Datadog.Trace/Telemetry/Metrics/PublicApiUsage.cs b/tracer/src/Datadog.Trace/Telemetry/Metrics/PublicApiUsage.cs
index f3db06e538b2..28abce418d8f 100644
--- a/tracer/src/Datadog.Trace/Telemetry/Metrics/PublicApiUsage.cs
+++ b/tracer/src/Datadog.Trace/Telemetry/Metrics/PublicApiUsage.cs
@@ -36,6 +36,8 @@ internal enum PublicApiUsage
[Description("name:spancontextinjector_inject")] SpanContextInjector_Inject,
[Description("name:spancontextinjector_ctor")] SpanContextInjector_Ctor,
+ [Description("name:datastreams_tracktransaction")] DataStreams_TrackTransaction,
+
[Description("name:spanextensions_setuser")] SpanExtensions_SetUser,
[Description("name:spanextensions_settag")] SpanExtensions_SetTag,
[Description("name:spanextensions_settracesamplingpriority")] SpanExtensions_SetTraceSamplingPriority,
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 bff0c2b3a9ae..80b58171b593 100644
--- a/tracer/src/Datadog.Tracer.Native/Generated/generated_calltargets.g.cpp
+++ b/tracer/src/Datadog.Tracer.Native/Generated/generated_calltargets.g.cpp
@@ -342,82 +342,83 @@ WCHAR* sig323[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Datadog.Trace.Ci.ITes
WCHAR* sig324[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Datadog.Trace.Ci.ITest"),(WCHAR*)WStr("Datadog.Trace.Ci.BenchmarkMeasureType"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("Datadog.Trace.Ci.BenchmarkDiscreteStats&"),};
WCHAR* sig325[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Datadog.Trace.Ci.ITest"),(WCHAR*)WStr("Datadog.Trace.Ci.TestParameters"),};
WCHAR* sig326[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Datadog.Trace.ISpan"),(WCHAR*)WStr("Datadog.Trace.SamplingPriority"),};
-WCHAR* sig327[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Datadog.Trace.ISpan"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),};
-WCHAR* sig328[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Google.Protobuf.CodedInputStream"),};
-WCHAR* sig329[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Google.Protobuf.CodedOutputStream"),};
-WCHAR* sig330[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Google.Protobuf.ParseContext&"),};
-WCHAR* sig331[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Google.Protobuf.WriteContext&"),};
-WCHAR* sig332[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("IBM.WMQ.MQMessage"),(WCHAR*)WStr("IBM.WMQ.MQGetMessageOptions"),(WCHAR*)WStr("System.Int32"),};
-WCHAR* sig333[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("IBM.WMQ.MQMessage"),(WCHAR*)WStr("IBM.WMQ.MQPutMessageOptions"),};
-WCHAR* sig334[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Microsoft.AspNetCore.Builder.IApplicationBuilder"),(WCHAR*)WStr("Microsoft.AspNetCore.Http.RequestDelegate"),};
-WCHAR* sig335[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Microsoft.AspNetCore.Http.HttpResponse"),(WCHAR*)WStr("System.Int32"),(WCHAR*)WStr("Grpc.Core.StatusCode"),(WCHAR*)WStr("System.String"),};
-WCHAR* sig336[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingResult"),};
-WCHAR* sig337[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestContext"),};
-WCHAR* sig338[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestContext"),(WCHAR*)WStr("_"),};
-WCHAR* sig339[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("MongoDB.Driver.Core.Connections.IConnection"),(WCHAR*)WStr("System.Threading.CancellationToken"),};
-WCHAR* sig340[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("NLog.Config.LoggingConfiguration"),};
-WCHAR* sig341[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("NUnit.Framework.Internal.TestMethod"),(WCHAR*)WStr("NUnit.Framework.Interfaces.ITestFilter"),};
-WCHAR* sig342[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("NUnit.Framework.Internal.TestMethod"),(WCHAR*)WStr("NUnit.Framework.Interfaces.ITestFilter"),(WCHAR*)WStr("NUnit.Framework.Internal.Abstractions.IDebugger"),};
-WCHAR* sig343[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("OpenQA.Selenium.Remote.SendingRemoteHttpRequestEventArgs"),};
-WCHAR* sig344[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("OpenTelemetry.Baggage"),};
-WCHAR* sig345[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Serilog.Events.LogEvent"),};
-WCHAR* sig346[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Action"),};
-WCHAR* sig347[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Action`2[System.Object,!!0]"),(WCHAR*)WStr("!!0"),};
-WCHAR* sig348[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Boolean"),};
-WCHAR* sig349[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("Grpc.Core.Internal.ClientSideStatus"),};
-WCHAR* sig350[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("Grpc.Core.Internal.ClientSideStatus"),(WCHAR*)WStr("Grpc.Core.Internal.IBufferReader"),(WCHAR*)WStr("Grpc.Core.Metadata"),};
-WCHAR* sig351[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.Dictionary`2[System.String,System.Object]"),};
-WCHAR* sig352[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.Dictionary`2[System.String,System.Object]"),(WCHAR*)WStr("System.Boolean"),};
-WCHAR* sig353[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.ICollection`1[System.Reflection.MethodInfo]"),(WCHAR*)WStr("System.Func`1[System.IDisposable]"),};
-WCHAR* sig354[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.Object]"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String&"),(WCHAR*)WStr("System.String&"),};
-WCHAR* sig355[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),};
-WCHAR* sig356[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Confluent.Kafka.TopicPartitionOffset]"),};
-WCHAR* sig357[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),};
-WCHAR* sig358[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptions`1[Microsoft.Extensions.Logging.LoggerFactoryOptions]"),};
-WCHAR* sig359[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptions`1[Microsoft.Extensions.Logging.LoggerFactoryOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.IExternalScopeProvider"),};
-WCHAR* sig360[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.ILogEnricher]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.IStaticLogEnricher]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggingSampler"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptions`1[Microsoft.Extensions.Logging.LoggerFactoryOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.IExternalScopeProvider"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerEnrichmentOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerRedactionOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Compliance.Redaction.IRedactorProvider"),};
-WCHAR* sig361[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.ILogEnricher]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.IStaticLogEnricher]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggingSampler"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptions`1[Microsoft.Extensions.Logging.LoggerFactoryOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.IExternalScopeProvider"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerEnrichmentOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerRedactionOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Compliance.Redaction.IRedactorProvider"),(WCHAR*)WStr("Microsoft.Extensions.Diagnostics.Buffering.LogBuffer"),};
-WCHAR* sig362[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.ILogEnricher]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.IStaticLogEnricher]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptions`1[Microsoft.Extensions.Logging.LoggerFactoryOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.IExternalScopeProvider"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerEnrichmentOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerRedactionOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Compliance.Redaction.IRedactorProvider"),};
-WCHAR* sig363[]={(WCHAR*)WStr("System.Void"),(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* sig364[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[System.String]"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),};
-WCHAR* sig365[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[System.String]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[System.String]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[System.String]"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),};
-WCHAR* sig366[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Exception"),(WCHAR*)WStr("System.Boolean"),};
-WCHAR* sig367[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.Http.HttpRequestMessage"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Diagnostics.Activity"),(WCHAR*)WStr("Grpc.Core.Status"),};
-WCHAR* sig368[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.Http.HttpRequestMessage"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Diagnostics.Activity"),(WCHAR*)WStr("System.Nullable`1[Grpc.Core.Status]"),};
-WCHAR* sig369[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.HttpWebResponse"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders&"),(WCHAR*)WStr("System.IO.Stream&"),};
-WCHAR* sig370[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.WebException"),(WCHAR*)WStr("System.Net.HttpWebResponse&"),};
-WCHAR* sig371[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Object"),(WCHAR*)WStr("System.Collections.Generic.Dictionary`2[System.String,System.Object]"),};
-WCHAR* sig372[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Object"),(WCHAR*)WStr("System.Messaging.MessageQueueTransaction"),(WCHAR*)WStr("System.Messaging.MessageQueueTransactionType"),};
-WCHAR* sig373[]={(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* sig374[]={(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* sig375[]={(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* sig376[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.MessageRpc&"),};
-WCHAR* sig377[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.MessageRpc&"),(WCHAR*)WStr("System.Exception&"),(WCHAR*)WStr("System.Boolean&"),};
-WCHAR* sig378[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),};
-WCHAR* sig379[]={(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* sig380[]={(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* sig381[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("NLog.Config.LoggingConfiguration"),};
-WCHAR* sig382[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),};
-WCHAR* sig383[]={(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* sig384[]={(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* sig385[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),};
-WCHAR* sig386[]={(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* sig387[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),};
-WCHAR* sig388[]={(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* sig389[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("RabbitMQ.Client.IBasicProperties"),(WCHAR*)WStr("_"),};
-WCHAR* sig390[]={(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* sig391[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),};
-WCHAR* sig392[]={(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* sig393[]={(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* sig394[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.TimeSpan"),};
-WCHAR* sig395[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Type"),(WCHAR*)WStr("NLog.Internal.TargetWithFilterChain"),(WCHAR*)WStr("NLog.LogEventInfo"),(WCHAR*)WStr("NLog.LogFactory"),};
-WCHAR* sig396[]={(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* sig397[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Yarp.ReverseProxy.Forwarder.ForwarderHttpClientContext"),(WCHAR*)WStr("System.Net.Http.SocketsHttpHandler"),};
-WCHAR* sig398[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("_"),};
-WCHAR* sig399[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),};
-WCHAR* sig400[]={(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* sig401[]={(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),};
-WCHAR* sig402[]={(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),};
+WCHAR* sig327[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Datadog.Trace.ISpan"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),};
+WCHAR* sig328[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Datadog.Trace.ISpan"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),};
+WCHAR* sig329[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Google.Protobuf.CodedInputStream"),};
+WCHAR* sig330[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Google.Protobuf.CodedOutputStream"),};
+WCHAR* sig331[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Google.Protobuf.ParseContext&"),};
+WCHAR* sig332[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Google.Protobuf.WriteContext&"),};
+WCHAR* sig333[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("IBM.WMQ.MQMessage"),(WCHAR*)WStr("IBM.WMQ.MQGetMessageOptions"),(WCHAR*)WStr("System.Int32"),};
+WCHAR* sig334[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("IBM.WMQ.MQMessage"),(WCHAR*)WStr("IBM.WMQ.MQPutMessageOptions"),};
+WCHAR* sig335[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Microsoft.AspNetCore.Builder.IApplicationBuilder"),(WCHAR*)WStr("Microsoft.AspNetCore.Http.RequestDelegate"),};
+WCHAR* sig336[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Microsoft.AspNetCore.Http.HttpResponse"),(WCHAR*)WStr("System.Int32"),(WCHAR*)WStr("Grpc.Core.StatusCode"),(WCHAR*)WStr("System.String"),};
+WCHAR* sig337[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.ModelBinding.ModelBindingResult"),};
+WCHAR* sig338[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestContext"),};
+WCHAR* sig339[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestContext"),(WCHAR*)WStr("_"),};
+WCHAR* sig340[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("MongoDB.Driver.Core.Connections.IConnection"),(WCHAR*)WStr("System.Threading.CancellationToken"),};
+WCHAR* sig341[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("NLog.Config.LoggingConfiguration"),};
+WCHAR* sig342[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("NUnit.Framework.Internal.TestMethod"),(WCHAR*)WStr("NUnit.Framework.Interfaces.ITestFilter"),};
+WCHAR* sig343[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("NUnit.Framework.Internal.TestMethod"),(WCHAR*)WStr("NUnit.Framework.Interfaces.ITestFilter"),(WCHAR*)WStr("NUnit.Framework.Internal.Abstractions.IDebugger"),};
+WCHAR* sig344[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("OpenQA.Selenium.Remote.SendingRemoteHttpRequestEventArgs"),};
+WCHAR* sig345[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("OpenTelemetry.Baggage"),};
+WCHAR* sig346[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Serilog.Events.LogEvent"),};
+WCHAR* sig347[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Action"),};
+WCHAR* sig348[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Action`2[System.Object,!!0]"),(WCHAR*)WStr("!!0"),};
+WCHAR* sig349[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Boolean"),};
+WCHAR* sig350[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("Grpc.Core.Internal.ClientSideStatus"),};
+WCHAR* sig351[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("Grpc.Core.Internal.ClientSideStatus"),(WCHAR*)WStr("Grpc.Core.Internal.IBufferReader"),(WCHAR*)WStr("Grpc.Core.Metadata"),};
+WCHAR* sig352[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.Dictionary`2[System.String,System.Object]"),};
+WCHAR* sig353[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.Dictionary`2[System.String,System.Object]"),(WCHAR*)WStr("System.Boolean"),};
+WCHAR* sig354[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.ICollection`1[System.Reflection.MethodInfo]"),(WCHAR*)WStr("System.Func`1[System.IDisposable]"),};
+WCHAR* sig355[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.Object]"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String&"),(WCHAR*)WStr("System.String&"),};
+WCHAR* sig356[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),};
+WCHAR* sig357[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Confluent.Kafka.TopicPartitionOffset]"),};
+WCHAR* sig358[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),};
+WCHAR* sig359[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptions`1[Microsoft.Extensions.Logging.LoggerFactoryOptions]"),};
+WCHAR* sig360[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptions`1[Microsoft.Extensions.Logging.LoggerFactoryOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.IExternalScopeProvider"),};
+WCHAR* sig361[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.ILogEnricher]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.IStaticLogEnricher]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggingSampler"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptions`1[Microsoft.Extensions.Logging.LoggerFactoryOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.IExternalScopeProvider"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerEnrichmentOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerRedactionOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Compliance.Redaction.IRedactorProvider"),};
+WCHAR* sig362[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.ILogEnricher]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.IStaticLogEnricher]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggingSampler"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptions`1[Microsoft.Extensions.Logging.LoggerFactoryOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.IExternalScopeProvider"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerEnrichmentOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerRedactionOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Compliance.Redaction.IRedactorProvider"),(WCHAR*)WStr("Microsoft.Extensions.Diagnostics.Buffering.LogBuffer"),};
+WCHAR* sig363[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Logging.ILoggerProvider]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.ILogEnricher]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[Microsoft.Extensions.Diagnostics.Enrichment.IStaticLogEnricher]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerFilterOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptions`1[Microsoft.Extensions.Logging.LoggerFactoryOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Logging.IExternalScopeProvider"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerEnrichmentOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Options.IOptionsMonitor`1[Microsoft.Extensions.Logging.LoggerRedactionOptions]"),(WCHAR*)WStr("Microsoft.Extensions.Compliance.Redaction.IRedactorProvider"),};
+WCHAR* sig364[]={(WCHAR*)WStr("System.Void"),(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* sig365[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[System.String]"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),};
+WCHAR* sig366[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[System.String]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[System.String]"),(WCHAR*)WStr("System.Collections.Generic.IEnumerable`1[System.String]"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.String"),};
+WCHAR* sig367[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Exception"),(WCHAR*)WStr("System.Boolean"),};
+WCHAR* sig368[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.Http.HttpRequestMessage"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Diagnostics.Activity"),(WCHAR*)WStr("Grpc.Core.Status"),};
+WCHAR* sig369[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.Http.HttpRequestMessage"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Diagnostics.Activity"),(WCHAR*)WStr("System.Nullable`1[Grpc.Core.Status]"),};
+WCHAR* sig370[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.HttpWebResponse"),(WCHAR*)WStr("System.Runtime.Remoting.Channels.ITransportHeaders&"),(WCHAR*)WStr("System.IO.Stream&"),};
+WCHAR* sig371[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Net.WebException"),(WCHAR*)WStr("System.Net.HttpWebResponse&"),};
+WCHAR* sig372[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Object"),(WCHAR*)WStr("System.Collections.Generic.Dictionary`2[System.String,System.Object]"),};
+WCHAR* sig373[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Object"),(WCHAR*)WStr("System.Messaging.MessageQueueTransaction"),(WCHAR*)WStr("System.Messaging.MessageQueueTransactionType"),};
+WCHAR* sig374[]={(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* sig375[]={(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* sig376[]={(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* sig377[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.MessageRpc&"),};
+WCHAR* sig378[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.MessageRpc&"),(WCHAR*)WStr("System.Exception&"),(WCHAR*)WStr("System.Boolean&"),};
+WCHAR* sig379[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),};
+WCHAR* sig380[]={(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* sig381[]={(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* sig382[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("NLog.Config.LoggingConfiguration"),};
+WCHAR* sig383[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),};
+WCHAR* sig384[]={(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* sig385[]={(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* sig386[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),};
+WCHAR* sig387[]={(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* sig388[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),};
+WCHAR* sig389[]={(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* sig390[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Boolean"),(WCHAR*)WStr("RabbitMQ.Client.IBasicProperties"),(WCHAR*)WStr("_"),};
+WCHAR* sig391[]={(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* sig392[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.String"),(WCHAR*)WStr("System.Collections.Generic.IDictionary`2[System.String,System.String]"),};
+WCHAR* sig393[]={(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* sig394[]={(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* sig395[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.TimeSpan"),};
+WCHAR* sig396[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("System.Type"),(WCHAR*)WStr("NLog.Internal.TargetWithFilterChain"),(WCHAR*)WStr("NLog.LogEventInfo"),(WCHAR*)WStr("NLog.LogFactory"),};
+WCHAR* sig397[]={(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* sig398[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("Yarp.ReverseProxy.Forwarder.ForwarderHttpClientContext"),(WCHAR*)WStr("System.Net.Http.SocketsHttpHandler"),};
+WCHAR* sig399[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("_"),};
+WCHAR* sig400[]={(WCHAR*)WStr("System.Void"),(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),};
+WCHAR* sig401[]={(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* sig402[]={(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),};
+WCHAR* sig403[]={(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),(WCHAR*)WStr("_"),};
std::vector callTargets =
{
@@ -459,8 +460,8 @@ std::vector callTargets =
{(WCHAR*)WStr("AerospikeClient"),(WCHAR*)WStr("Aerospike.Client.AsyncCommand"),(WCHAR*)WStr("ExecuteCommand"),sig316,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"),sig316,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.Web"),(WCHAR*)WStr("System.Web.Compilation.BuildManager"),(WCHAR*)WStr("InvokePreStartInitMethodsCore"),sig353,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"),sig348,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.Compilation.BuildManager"),(WCHAR*)WStr("InvokePreStartInitMethodsCore"),sig354,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"),sig349,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"),sig316,1,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ThreadContext_DisassociateFromCurrentThread_Integration"),CallTargetKind::Default,1,1},
#endif
{(WCHAR*)WStr("Microsoft.AspNetCore.Authentication.Abstractions"),(WCHAR*)WStr("Microsoft.AspNetCore.Authentication.AuthenticationHttpContextExtensions"),(WCHAR*)WStr("SignInAsync"),sig199,5,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.UserEvents.AuthenticationHttpContextExtensionsIntegration"),CallTargetKind::Default,1,14},
@@ -469,19 +470,19 @@ std::vector callTargets =
{(WCHAR*)WStr("Microsoft.AspNetCore.Http"),(WCHAR*)WStr("Microsoft.AspNetCore.Http.DefaultHttpContext"),(WCHAR*)WStr("set_User"),sig207,2,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.UserEvents.HttpContextSetUser"),CallTargetKind::Default,2,14},
{(WCHAR*)WStr("Microsoft.AspNetCore.Http.Abstractions"),(WCHAR*)WStr("Microsoft.AspNetCore.Builder.MapExtensions"),(WCHAR*)WStr("Map"),sig077,4,2,2,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.EndpointsCollection.MapExtensionsMapIntegrationV2V3"),CallTargetKind::Default,1,14},
{(WCHAR*)WStr("Microsoft.AspNetCore.Http.Abstractions"),(WCHAR*)WStr("Microsoft.AspNetCore.Builder.MapExtensions"),(WCHAR*)WStr("Map"),sig078,5,5,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.EndpointsCollection.MapExtensionsMapIntegrationV5Plus"),CallTargetKind::Default,1,14},
-{(WCHAR*)WStr("Microsoft.AspNetCore.Http.Abstractions"),(WCHAR*)WStr("Microsoft.AspNetCore.Builder.RunExtensions"),(WCHAR*)WStr("Run"),sig334,3,2,2,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.EndpointsCollection.RunExtensionsRunIntegration"),CallTargetKind::Default,1,14},
+{(WCHAR*)WStr("Microsoft.AspNetCore.Http.Abstractions"),(WCHAR*)WStr("Microsoft.AspNetCore.Builder.RunExtensions"),(WCHAR*)WStr("Run"),sig335,3,2,2,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.EndpointsCollection.RunExtensionsRunIntegration"),CallTargetKind::Default,1,14},
{(WCHAR*)WStr("Microsoft.AspNetCore.Identity"),(WCHAR*)WStr("Microsoft.AspNetCore.Identity.SignInManager`1"),(WCHAR*)WStr("PasswordSignInAsync"),sig268,5,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.UserEvents.SignInManagerPasswordSignInIntegration"),CallTargetKind::Default,2,14},
{(WCHAR*)WStr("Microsoft.AspNetCore.Identity"),(WCHAR*)WStr("Microsoft.AspNetCore.Identity.SignInManager`1"),(WCHAR*)WStr("PasswordSignInAsync"),sig268,5,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.UserEvents.SignInManagerPasswordSignInIntegration"),CallTargetKind::Derived,2,14},
{(WCHAR*)WStr("Microsoft.AspNetCore.Identity"),(WCHAR*)WStr("Microsoft.AspNetCore.Identity.SignInManager`1"),(WCHAR*)WStr("PasswordSignInAsync"),sig267,5,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.UserEvents.SignInManagerPasswordSignInUserIntegration"),CallTargetKind::Default,2,14},
{(WCHAR*)WStr("Microsoft.AspNetCore.Identity"),(WCHAR*)WStr("Microsoft.AspNetCore.Identity.SignInManager`1"),(WCHAR*)WStr("PasswordSignInAsync"),sig268,5,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.UserEvents.SignInManagerPasswordSignInUserIntegration"),CallTargetKind::Derived,2,14},
-{(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.Core"),(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.ModelBinding.DefaultModelBindingContext"),(WCHAR*)WStr("set_Result"),sig336,2,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.DefaultModelBindingContext_SetResult_Integration"),CallTargetKind::Default,6,14},
-{(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.Core"),(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.ModelBinding.DefaultModelBindingContext"),(WCHAR*)WStr("set_Result"),sig336,2,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.DefaultModelBindingContext_SetResult_Integration"),CallTargetKind::Derived,6,14},
+{(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.Core"),(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.ModelBinding.DefaultModelBindingContext"),(WCHAR*)WStr("set_Result"),sig337,2,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.DefaultModelBindingContext_SetResult_Integration"),CallTargetKind::Default,6,14},
+{(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.Core"),(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.ModelBinding.DefaultModelBindingContext"),(WCHAR*)WStr("set_Result"),sig337,2,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.DefaultModelBindingContext_SetResult_Integration"),CallTargetKind::Derived,6,14},
{(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.Core"),(WCHAR*)WStr("Microsoft.AspNetCore.Mvc.MvcOptions"),(WCHAR*)WStr(".ctor"),sig316,1,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.MvcOptionsIntegration"),CallTargetKind::Default,2,14},
{(WCHAR*)WStr("Microsoft.AspNetCore.Server.IIS"),(WCHAR*)WStr("Microsoft.AspNetCore.Server.IIS.Core.IISHttpContext"),(WCHAR*)WStr("FireOnStarting"),sig180,1,2,0,0,10,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.Internal.Http.HttpProtocol"),(WCHAR*)WStr("FireOnStarting"),sig180,1,2,0,0,10,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"),sig196,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"),sig196,3,5,0,0,10,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"),sig394,2,2,0,0,10,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"),sig395,2,2,0,0,10,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"),sig075,2,2,0,0,10,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"),sig076,3,2,0,0,10,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"),sig266,2,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNetCore.UserEvents.UserManagerCreateIntegration"),CallTargetKind::Default,2,14},
@@ -489,7 +490,7 @@ std::vector callTargets =
#if _WIN32
{(WCHAR*)WStr("System.Web.Mvc"),(WCHAR*)WStr("System.Web.Mvc.Async.AsyncControllerActionInvoker"),(WCHAR*)WStr("BeginInvokeAction"),sig150,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("EndInvokeAction"),sig129,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"),sig400,4,4,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ControllerActionInvoker_InvokeAction_Integration"),CallTargetKind::Default,6,1},
+{(WCHAR*)WStr("System.Web.Mvc"),(WCHAR*)WStr("System.Web.Mvc.ControllerActionInvoker"),(WCHAR*)WStr("InvokeActionMethod"),sig401,4,4,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ControllerActionInvoker_InvokeAction_Integration"),CallTargetKind::Default,6,1},
{(WCHAR*)WStr("System.Web.Http"),(WCHAR*)WStr("System.Web.Http.ApiController"),(WCHAR*)WStr("ExecuteAsync"),sig304,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"),sig303,4,5,1,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ReflectedHttpActionDescriptor_ExecuteAsync_Integration"),CallTargetKind::Default,6,1},
{(WCHAR*)WStr("System.Web.Http"),(WCHAR*)WStr("System.Web.Http.ExceptionHandling.ExceptionHandlerExtensions"),(WCHAR*)WStr("HandleAsync"),sig305,4,5,1,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AspNet.ExceptionHandlerExtensions_HandleAsync_Integration"),CallTargetKind::Default,1,1},
@@ -570,7 +571,7 @@ std::vector callTargets =
{(WCHAR*)WStr("AWSSDK.StepFunctions"),(WCHAR*)WStr("Amazon.StepFunctions.AmazonStepFunctionsClient"),(WCHAR*)WStr("StartExecutionAsync"),sig043,3,3,3,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AWS.StepFunctions.StartExecutionAsyncIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("AWSSDK.StepFunctions"),(WCHAR*)WStr("Amazon.StepFunctions.AmazonStepFunctionsClient"),(WCHAR*)WStr("StartSyncExecution"),sig044,2,3,3,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AWS.StepFunctions.StartSyncExecutionIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("AWSSDK.StepFunctions"),(WCHAR*)WStr("Amazon.StepFunctions.AmazonStepFunctionsClient"),(WCHAR*)WStr("StartSyncExecutionAsync"),sig045,3,3,3,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AWS.StepFunctions.StartSyncExecutionAsyncIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Azure.Messaging.EventHubs"),(WCHAR*)WStr("Azure.Core.Shared.MessagingClientDiagnostics"),(WCHAR*)WStr("InstrumentMessage"),sig354,5,5,9,2,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.EventHubs.InstrumentMessageIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Azure.Messaging.EventHubs"),(WCHAR*)WStr("Azure.Core.Shared.MessagingClientDiagnostics"),(WCHAR*)WStr("InstrumentMessage"),sig355,5,5,9,2,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.EventHubs.InstrumentMessageIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Azure.Messaging.EventHubs"),(WCHAR*)WStr("Azure.Messaging.EventHubs.Amqp.AmqpConsumer"),(WCHAR*)WStr("ReceiveAsync"),sig295,4,5,9,2,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.EventHubs.AmqpConsumerReceiveAsyncIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Azure.Messaging.EventHubs"),(WCHAR*)WStr("Azure.Messaging.EventHubs.Producer.EventDataBatch"),(WCHAR*)WStr("TryAdd"),sig127,2,5,9,2,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.EventHubs.EventDataBatchTryAddIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Azure.Messaging.EventHubs"),(WCHAR*)WStr("Azure.Messaging.EventHubs.Producer.EventHubProducerClient"),(WCHAR*)WStr("SendAsync"),sig181,3,5,9,2,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.EventHubs.EventHubProducerClientSendBatchAsyncIntegration"),CallTargetKind::Default,1,15},
@@ -579,7 +580,7 @@ std::vector callTargets =
{(WCHAR*)WStr("Microsoft.Azure.WebJobs.Host"),(WCHAR*)WStr("Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor"),(WCHAR*)WStr("TryExecuteAsync"),sig270,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.Functions.AzureFunctionsExecutorTryExecuteAsyncIntegration"),CallTargetKind::Default,1,14},
{(WCHAR*)WStr("Microsoft.Azure.WebJobs.Script.Grpc"),(WCHAR*)WStr("Microsoft.Azure.WebJobs.Script.Grpc.GrpcMessageConversionExtensions"),(WCHAR*)WStr("ToRpcHttp"),sig271,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.Functions.GrpcMessageConversionExtensionsToRpcHttpIntegration"),CallTargetKind::Default,1,14},
{(WCHAR*)WStr("Microsoft.Azure.WebJobs.Script.WebHost"),(WCHAR*)WStr("Microsoft.Azure.WebJobs.Script.WebHost.Middleware.FunctionInvocationMiddleware"),(WCHAR*)WStr("Invoke"),sig197,2,3,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.Functions.FunctionInvocationMiddlewareInvokeIntegration"),CallTargetKind::Default,1,14},
-{(WCHAR*)WStr("Azure.Messaging.ServiceBus"),(WCHAR*)WStr("Azure.Core.Shared.MessagingClientDiagnostics"),(WCHAR*)WStr("InstrumentMessage"),sig354,5,7,14,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.ServiceBus.InstrumentMessageIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Azure.Messaging.ServiceBus"),(WCHAR*)WStr("Azure.Core.Shared.MessagingClientDiagnostics"),(WCHAR*)WStr("InstrumentMessage"),sig355,5,7,14,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.ServiceBus.InstrumentMessageIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Azure.Messaging.ServiceBus"),(WCHAR*)WStr("Azure.Messaging.ServiceBus.ReceiverManager"),(WCHAR*)WStr("ProcessOneMessage"),sig183,3,7,14,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.ServiceBus.ProcessMessageIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Azure.Messaging.ServiceBus"),(WCHAR*)WStr("Azure.Messaging.ServiceBus.ServiceBusMessageBatch"),(WCHAR*)WStr("TryAddMessage"),sig128,2,7,14,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.ServiceBus.SendServiceBusMessageBatchIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Azure.Messaging.ServiceBus"),(WCHAR*)WStr("Azure.Messaging.ServiceBus.ServiceBusReceiver"),(WCHAR*)WStr("ReceiveMessagesAsync"),sig296,5,7,14,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Azure.ServiceBus.ServiceBusReceiverReceiveMessagesAsyncIntegration"),CallTargetKind::Default,1,15},
@@ -628,24 +629,24 @@ std::vector callTargets =
{(WCHAR*)WStr("Couchbase.NetClient"),(WCHAR*)WStr("Couchbase.IO.Services.SharedPooledIOService"),(WCHAR*)WStr("ExecuteAsync"),sig189,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"),sig190,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"),sig191,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"),sig378,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"),sig387,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"),sig382,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"),sig385,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"),sig378,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"),sig387,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"),sig383,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"),sig386,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"),sig380,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"),sig391,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"),sig379,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"),sig388,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"),sig383,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"),sig386,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"),sig379,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"),sig388,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"),sig384,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"),sig387,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"),sig381,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"),sig392,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"),sig137,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"),sig355,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.Baggage"),(WCHAR*)WStr("set_Current"),sig356,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"),sig324,5,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Ci.TestExtensionsAddBenchmarkDataIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Ci.TestExtensions"),(WCHAR*)WStr("SetBenchmarkMetadata"),sig323,4,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Ci.TestExtensionsSetBenchmarkMetadataIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Ci.TestExtensions"),(WCHAR*)WStr("SetParameters"),sig325,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Ci.TestExtensionsSetParametersIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Ci.TestModule"),(WCHAR*)WStr("InternalCreate"),sig052,5,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Ci.TestModuleInternalCreateIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Ci.TestSession"),(WCHAR*)WStr("InternalGetOrCreate"),sig053,6,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Ci.TestSessionInternalGetOrCreateIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.GlobalSettings"),(WCHAR*)WStr("SetDebugEnabled"),sig348,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.GlobalSettingsSetDebugEnabledIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.GlobalSettings"),(WCHAR*)WStr("SetDebugEnabled"),sig349,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.GlobalSettingsSetDebugEnabledIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.ImmutableIntegrationSettings"),(WCHAR*)WStr("get_AnalyticsEnabled"),sig163,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.ImmutableIntegrationSettings.AnalyticsEnabledGetIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.ImmutableIntegrationSettings"),(WCHAR*)WStr("get_AnalyticsSampleRate"),sig147,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.ImmutableIntegrationSettings.AnalyticsSampleRateGetIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.ImmutableIntegrationSettings"),(WCHAR*)WStr("get_Enabled"),sig163,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.ImmutableIntegrationSettings.EnabledGetIntegration"),CallTargetKind::Default,1,15},
@@ -676,7 +677,7 @@ std::vector callTargets =
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.IntegrationSettings"),(WCHAR*)WStr("get_IntegrationName"),sig173,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.IntegrationSettings.IntegrationNameGetIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.IntegrationSettingsCollection"),(WCHAR*)WStr("get_Item"),sig058,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.IntegrationSettingsCollectionIndexerIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr(".ctor"),sig316,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.CtorIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr(".ctor"),sig348,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.CtorUseDefaultSourcesIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr(".ctor"),sig349,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.CtorUseDefaultSourcesIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr("FromDefaultSources"),sig060,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.FromDefaultSourcesIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr("get_AgentUri"),sig315,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.AgentUriGetIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr("get_AnalyticsEnabled"),sig126,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.AnalyticsEnabledGetIntegration"),CallTargetKind::Default,1,15},
@@ -699,12 +700,13 @@ std::vector callTargets =
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr("get_StatsComputationEnabled"),sig126,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.StatsComputationEnabledGetIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr("get_TraceEnabled"),sig126,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Configuration.TracerSettings.TraceEnabledGetIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Configuration.TracerSettings"),(WCHAR*)WStr("get_TracerMetricsEnabled"),sig126,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"),sig352,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"),sig348,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.Configuration.TracerSettings"),(WCHAR*)WStr("PopulateDictionary"),sig353,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"),sig349,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("TrackTransaction"),sig327,4,3,0,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"),sig326,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.FeatureFlags.FeatureFlagsSdk"),(WCHAR*)WStr("Evaluate"),sig061,6,3,31,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkEvaluateIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.FeatureFlags.FeatureFlagsSdk"),(WCHAR*)WStr("IsAvailable"),sig126,1,3,31,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkIsAvailableIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.FeatureFlags.FeatureFlagsSdk"),(WCHAR*)WStr("RegisterOnNewConfigEventHandler"),sig346,2,3,31,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkRegisterOnNewConfigEventHandlerIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.FeatureFlags.FeatureFlagsSdk"),(WCHAR*)WStr("RegisterOnNewConfigEventHandler"),sig347,2,3,31,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Datadog_Trace_Manual.FeatureFlagsSdkRegisterOnNewConfigEventHandlerIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.SpanContextExtractor"),(WCHAR*)WStr(".ctor"),sig316,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"),sig068,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Propagators.SpanContextExtractorExtractIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.SpanContextExtractor"),(WCHAR*)WStr("ExtractIncludingDsm"),sig069,5,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Propagators.SpanContextExtractorExtractIncludingDsmIntegration"),CallTargetKind::Default,1,15},
@@ -712,10 +714,10 @@ std::vector callTargets =
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.SpanContextInjector"),(WCHAR*)WStr("Inject"),sig317,4,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Propagators.SpanContextInjectorInjectIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.SpanContextInjector"),(WCHAR*)WStr("InjectIncludingDsm"),sig318,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"),sig066,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"),sig327,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"),sig371,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"),sig351,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"),sig351,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.SpanExtensions"),(WCHAR*)WStr("SetUser"),sig328,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"),sig372,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"),sig352,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"),sig352,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"),sig067,6,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Tracer.StartSpanIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Tracer"),(WCHAR*)WStr("ForceFlushAsync"),sig180,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Tracer.ForceFlushAsyncIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace.Manual"),(WCHAR*)WStr("Datadog.Trace.Tracer"),(WCHAR*)WStr("get_ActiveScope"),sig062,1,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.Tracer.GetActiveScopeIntegration"),CallTargetKind::Default,1,15},
@@ -729,8 +731,8 @@ std::vector callTargets =
{(WCHAR*)WStr("Datadog.Trace.OpenTracing"),(WCHAR*)WStr("Datadog.Trace.OpenTracing.OpenTracingTracerFactory"),(WCHAR*)WStr("WrapTracer"),sig116,2,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenTracing.OpenTracingTracerFactoryWrapTracerIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Datadog.Trace"),(WCHAR*)WStr("Datadog.Trace.Util.ProcessHelpers"),(WCHAR*)WStr("StartWithDoNotTrace"),sig146,3,2,49,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.VersionConflict.ProcessHelpersStartWithDoNotTraceIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("coverlet.core"),(WCHAR*)WStr("Coverlet.Core.Coverage"),(WCHAR*)WStr("GetCoverageResult"),sig051,1,3,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.CoverageGetCoverageResultIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("dotnet"),(WCHAR*)WStr("Microsoft.DotNet.Tools.Test.TestCommand"),(WCHAR*)WStr(".ctor"),sig365,6,2,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestCommand5ctorIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("dotnet"),(WCHAR*)WStr("Microsoft.DotNet.Tools.Test.TestCommand"),(WCHAR*)WStr(".ctor"),sig364,4,6,0,0,9,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestCommandctorIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("dotnet"),(WCHAR*)WStr("Microsoft.DotNet.Tools.Test.TestCommand"),(WCHAR*)WStr(".ctor"),sig366,6,2,0,0,5,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestCommand5ctorIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("dotnet"),(WCHAR*)WStr("Microsoft.DotNet.Tools.Test.TestCommand"),(WCHAR*)WStr(".ctor"),sig365,4,6,0,0,9,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestCommandctorIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("dotnet"),(WCHAR*)WStr("Microsoft.DotNet.Tools.Test.TestCommand"),(WCHAR*)WStr("Run"),sig156,2,2,0,0,9,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.TestCommandRunIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Microsoft.VisualStudio.TraceDataCollector"),(WCHAR*)WStr("Microsoft.VisualStudio.TraceCollector.VanguardCollector.ManagedVanguard"),(WCHAR*)WStr("Stop"),sig316,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"),sig154,2,15,0,0,15,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.DotnetTest.ExecutorExecuteIntegration"),CallTargetKind::Default,1,15},
@@ -755,11 +757,11 @@ std::vector callTargets =
{(WCHAR*)WStr("GraphQL.SystemReactive"),(WCHAR*)WStr("GraphQL.Execution.SubscriptionExecutionStrategy"),(WCHAR*)WStr("ExecuteAsync"),sig215,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.GraphQL.Net.ExecuteAsyncIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.ParsingPrimitives"),(WCHAR*)WStr("ReadRawString"),sig175,4,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcDotNet.GrpcAspNetCoreServer.IAST.ParsingPrimitivesReadRawStringIntegration"),CallTargetKind::Default,4,15},
{(WCHAR*)WStr("Grpc.AspNetCore.Server"),(WCHAR*)WStr("Grpc.AspNetCore.Server.Internal.CallHandlers.ServerCallHandlerBase`3"),(WCHAR*)WStr("HandleCallAsync"),sig197,2,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcDotNet.GrpcAspNetCoreServer.ServerCallHandlerBaseHandleCallAsyncIntegration"),CallTargetKind::Default,1,14},
-{(WCHAR*)WStr("Grpc.AspNetCore.Server"),(WCHAR*)WStr("Grpc.AspNetCore.Server.Internal.GrpcProtocolHelpers"),(WCHAR*)WStr("BuildHttpErrorResponse"),sig335,5,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcDotNet.GrpcAspNetCoreServer.GrpcProtocolHelpersBuildHttpErrorResponseIntegration"),CallTargetKind::Default,1,14},
+{(WCHAR*)WStr("Grpc.AspNetCore.Server"),(WCHAR*)WStr("Grpc.AspNetCore.Server.Internal.GrpcProtocolHelpers"),(WCHAR*)WStr("BuildHttpErrorResponse"),sig336,5,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcDotNet.GrpcAspNetCoreServer.GrpcProtocolHelpersBuildHttpErrorResponseIntegration"),CallTargetKind::Default,1,14},
{(WCHAR*)WStr("Grpc.AspNetCore.Server"),(WCHAR*)WStr("Grpc.AspNetCore.Server.Internal.HttpContextServerCallContext"),(WCHAR*)WStr("LogCallEnd"),sig316,1,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcDotNet.GrpcAspNetCoreServer.HttpContextServerCallContextLogCallEndIntegration"),CallTargetKind::Default,1,14},
{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.DefaultCallInvoker"),(WCHAR*)WStr("CreateCall"),sig072,4,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Client.DefaultCallInvokerInstrumentation"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.Internal.AsyncCall`2"),(WCHAR*)WStr("HandleFinished"),sig349,3,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Client.AsyncCallHandleFinishedInstrumentation"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.Internal.AsyncCall`2"),(WCHAR*)WStr("HandleUnaryResponse"),sig350,5,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Client.AsyncCallHandleUnaryResponseInstrumentation"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.Internal.AsyncCall`2"),(WCHAR*)WStr("HandleFinished"),sig350,3,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Client.AsyncCallHandleFinishedInstrumentation"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.Internal.AsyncCall`2"),(WCHAR*)WStr("HandleUnaryResponse"),sig351,5,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Client.AsyncCallHandleUnaryResponseInstrumentation"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.Internal.AsyncCallServer`2"),(WCHAR*)WStr("SendInitialMetadataAsync"),sig193,2,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Server.AsyncCallServerSendInitialMetadataAsyncInstrumentation"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.Internal.AsyncCallServer`2"),(WCHAR*)WStr("SendStatusFromServerAsync"),sig194,4,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Server.AsyncCallServerSendStatusFromServerAsyncInstrumentation"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.Internal.ClientStreamingServerCallHandler`2"),(WCHAR*)WStr("HandleCall"),sig192,3,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Server.ServerCallHandlerInstrumentation"),CallTargetKind::Default,1,15},
@@ -767,8 +769,8 @@ std::vector callTargets =
{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.Internal.MetadataArraySafeHandle"),(WCHAR*)WStr("Create"),sig073,2,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Client.MetadataArraySafeHandleCreateInstrumentation"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.Internal.ServerStreamingServerCallHandler`2"),(WCHAR*)WStr("HandleCall"),sig192,3,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Server.ServerCallHandlerInstrumentation"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Grpc.Core"),(WCHAR*)WStr("Grpc.Core.Internal.UnaryServerCallHandler`2"),(WCHAR*)WStr("HandleCall"),sig192,3,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcLegacy.Server.ServerCallHandlerInstrumentation"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Grpc.Net.Client"),(WCHAR*)WStr("Grpc.Net.Client.Internal.GrpcCall`2"),(WCHAR*)WStr("FinishCall"),sig367,5,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcDotNet.GrpcNetClient.GrpcCallFinishCallIntegration"),CallTargetKind::Default,1,14},
-{(WCHAR*)WStr("Grpc.Net.Client"),(WCHAR*)WStr("Grpc.Net.Client.Internal.GrpcCall`2"),(WCHAR*)WStr("FinishCall"),sig368,5,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcDotNet.GrpcNetClient.GrpcCallFinishCallPre243Integration"),CallTargetKind::Default,1,14},
+{(WCHAR*)WStr("Grpc.Net.Client"),(WCHAR*)WStr("Grpc.Net.Client.Internal.GrpcCall`2"),(WCHAR*)WStr("FinishCall"),sig368,5,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcDotNet.GrpcNetClient.GrpcCallFinishCallIntegration"),CallTargetKind::Default,1,14},
+{(WCHAR*)WStr("Grpc.Net.Client"),(WCHAR*)WStr("Grpc.Net.Client.Internal.GrpcCall`2"),(WCHAR*)WStr("FinishCall"),sig369,5,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcDotNet.GrpcNetClient.GrpcCallFinishCallPre243Integration"),CallTargetKind::Default,1,14},
{(WCHAR*)WStr("Grpc.Net.Client"),(WCHAR*)WStr("Grpc.Net.Client.Internal.GrpcCall`2"),(WCHAR*)WStr("RunCall"),sig206,3,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Grpc.GrpcDotNet.GrpcNetClient.GrpcCallRunCallIntegration"),CallTargetKind::Default,1,14},
{(WCHAR*)WStr("Hangfire.Core"),(WCHAR*)WStr("Hangfire.Common.JobFilterCollection"),(WCHAR*)WStr(".ctor"),sig316,1,1,7,0,1,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Hangfire.JobFilterCollectionCtorIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("System.Security.Cryptography"),(WCHAR*)WStr("System.Security.Cryptography.HashAlgorithm"),(WCHAR*)WStr("ComputeHash"),sig133,4,7,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.HashAlgorithm.HashAlgorithmIntegration"),CallTargetKind::Default,4,14},
@@ -793,29 +795,29 @@ std::vector callTargets =
{(WCHAR*)WStr("System.Net.Http"),(WCHAR*)WStr("System.Net.Http.SocketsHttpHandler"),(WCHAR*)WStr("SendAsync"),sig302,3,4,0,0,10,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"),sig302,3,4,0,0,10,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"),sig302,3,4,0,0,10,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"),sig397,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"),sig332,4,9,0,0,9,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"),sig333,3,9,0,0,9,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"),sig357,3,2,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.LoggerFactoryConstructorIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Microsoft.Extensions.Logging"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerFactory"),(WCHAR*)WStr(".ctor"),sig358,4,5,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.LoggerFactoryConstructorIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Microsoft.Extensions.Logging"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerFactory"),(WCHAR*)WStr(".ctor"),sig359,5,7,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.LoggerFactoryConstructorNet7Integration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Microsoft.Extensions.Logging"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerFactoryScopeProvider"),(WCHAR*)WStr("ForEachScope"),sig347,3,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.LoggerFactoryScopeProviderForEachScopeIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Microsoft.Extensions.Logging.Abstractions"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerExternalScopeProvider"),(WCHAR*)WStr("ForEachScope"),sig347,3,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.LoggerExternalScopeProviderForEachScopeIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Microsoft.Extensions.Telemetry"),(WCHAR*)WStr("Microsoft.Extensions.Logging.ExtendedLoggerFactory"),(WCHAR*)WStr(".ctor"),sig361,12,9,5,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.ExtendedLoggerFactoryConstructorIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Microsoft.Extensions.Telemetry"),(WCHAR*)WStr("Microsoft.Extensions.Logging.ExtendedLoggerFactory"),(WCHAR*)WStr(".ctor"),sig362,10,8,0,0,9,3,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.ExtendedLoggerFactoryConstructorIntegration_8xx"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Microsoft.Extensions.Telemetry"),(WCHAR*)WStr("Microsoft.Extensions.Logging.ExtendedLoggerFactory"),(WCHAR*)WStr(".ctor"),sig360,11,9,3,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.ExtendedLoggerFactoryConstructorIntegration_930_940"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Microsoft.Extensions.Telemetry"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerFactoryScopeProvider"),(WCHAR*)WStr("ForEachScope"),sig347,3,8,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.LoggerFactoryScopeProviderForEachScopeIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Yarp.ReverseProxy"),(WCHAR*)WStr("Yarp.ReverseProxy.Forwarder.ForwarderHttpClientFactory"),(WCHAR*)WStr("ConfigureHandler"),sig398,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"),sig333,4,9,0,0,9,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"),sig334,3,9,0,0,9,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"),sig358,3,2,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.LoggerFactoryConstructorIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Microsoft.Extensions.Logging"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerFactory"),(WCHAR*)WStr(".ctor"),sig359,4,5,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.LoggerFactoryConstructorIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Microsoft.Extensions.Logging"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerFactory"),(WCHAR*)WStr(".ctor"),sig360,5,7,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.LoggerFactoryConstructorNet7Integration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Microsoft.Extensions.Logging"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerFactoryScopeProvider"),(WCHAR*)WStr("ForEachScope"),sig348,3,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.LoggerFactoryScopeProviderForEachScopeIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Microsoft.Extensions.Logging.Abstractions"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerExternalScopeProvider"),(WCHAR*)WStr("ForEachScope"),sig348,3,2,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.LoggerExternalScopeProviderForEachScopeIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Microsoft.Extensions.Telemetry"),(WCHAR*)WStr("Microsoft.Extensions.Logging.ExtendedLoggerFactory"),(WCHAR*)WStr(".ctor"),sig362,12,9,5,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.ExtendedLoggerFactoryConstructorIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Microsoft.Extensions.Telemetry"),(WCHAR*)WStr("Microsoft.Extensions.Logging.ExtendedLoggerFactory"),(WCHAR*)WStr(".ctor"),sig363,10,8,0,0,9,3,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.ExtendedLoggerFactoryConstructorIntegration_8xx"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Microsoft.Extensions.Telemetry"),(WCHAR*)WStr("Microsoft.Extensions.Logging.ExtendedLoggerFactory"),(WCHAR*)WStr(".ctor"),sig361,11,9,3,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.DirectSubmission.ExtendedLoggerFactoryConstructorIntegration_930_940"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Microsoft.Extensions.Telemetry"),(WCHAR*)WStr("Microsoft.Extensions.Logging.LoggerFactoryScopeProvider"),(WCHAR*)WStr("ForEachScope"),sig348,3,8,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.ILogger.LoggerFactoryScopeProviderForEachScopeIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Consumer`2"),(WCHAR*)WStr(".ctor"),sig320,2,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaConsumerConstructorIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Consumer`2"),(WCHAR*)WStr("Close"),sig316,1,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaConsumerCloseIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Consumer`2"),(WCHAR*)WStr("Commit"),sig138,1,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaConsumerCommitAllIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Consumer`2"),(WCHAR*)WStr("Commit"),sig356,2,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaConsumerCommitIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Consumer`2"),(WCHAR*)WStr("Commit"),sig357,2,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaConsumerCommitIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Consumer`2"),(WCHAR*)WStr("Consume"),sig047,2,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaConsumerConsumeIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Consumer`2"),(WCHAR*)WStr("Dispose"),sig316,1,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaConsumerDisposeIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Consumer`2"),(WCHAR*)WStr("Unsubscribe"),sig316,1,1,4,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Kafka.KafkaConsumerUnsubscribeIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Confluent.Kafka"),(WCHAR*)WStr("Confluent.Kafka.Producer`2"),(WCHAR*)WStr(".ctor"),sig321,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"),sig322,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"),sig259,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"),sig379,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"),sig380,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"),sig074,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"),sig074,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"),sig152,2,1,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Log4Net.AppenderAttachedImplIntegration"),CallTargetKind::Default,1,15},
@@ -845,7 +847,7 @@ std::vector callTargets =
{(WCHAR*)WStr("MongoDB.Driver.Core"),(WCHAR*)WStr("MongoDB.Driver.Core.WireProtocol.CommandWireProtocol`1"),(WCHAR*)WStr("ExecuteAsync"),sig224,3,2,1,0,3,5,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.MongoDb.IWireProtocol_ExecuteAsync_Integration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("MongoDB.Driver.Core"),(WCHAR*)WStr("MongoDB.Driver.Core.WireProtocol.GetMoreWireProtocol`1"),(WCHAR*)WStr("Execute"),sig006,3,2,2,0,3,5,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.MongoDb.IWireProtocol_Generic_Execute_Integration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("MongoDB.Driver.Core"),(WCHAR*)WStr("MongoDB.Driver.Core.WireProtocol.GetMoreWireProtocol`1"),(WCHAR*)WStr("ExecuteAsync"),sig224,3,2,1,0,3,5,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.MongoDb.IWireProtocol_ExecuteAsync_Integration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("MongoDB.Driver.Core"),(WCHAR*)WStr("MongoDB.Driver.Core.WireProtocol.KillCursorsWireProtocol"),(WCHAR*)WStr("Execute"),sig339,3,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.MongoDb.IWireProtocol_Execute_Integration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("MongoDB.Driver.Core"),(WCHAR*)WStr("MongoDB.Driver.Core.WireProtocol.KillCursorsWireProtocol"),(WCHAR*)WStr("Execute"),sig340,3,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.MongoDb.IWireProtocol_Execute_Integration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("MongoDB.Driver.Core"),(WCHAR*)WStr("MongoDB.Driver.Core.WireProtocol.KillCursorsWireProtocol"),(WCHAR*)WStr("ExecuteAsync"),sig201,3,2,1,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.MongoDb.IWireProtocol_ExecuteAsync_Integration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("MongoDB.Driver.Core"),(WCHAR*)WStr("MongoDB.Driver.Core.WireProtocol.QueryWireProtocol`1"),(WCHAR*)WStr("Execute"),sig006,3,2,2,0,3,5,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.MongoDb.IWireProtocol_Generic_Execute_Integration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("MongoDB.Driver.Core"),(WCHAR*)WStr("MongoDB.Driver.Core.WireProtocol.QueryWireProtocol`1"),(WCHAR*)WStr("ExecuteAsync"),sig224,3,2,1,0,3,5,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.MongoDb.IWireProtocol_ExecuteAsync_Integration"),CallTargetKind::Default,1,15},
@@ -853,18 +855,18 @@ std::vector callTargets =
{(WCHAR*)WStr("MongoDB.Driver.Core"),(WCHAR*)WStr("MongoDB.Driver.Core.WireProtocol.WriteWireProtocolBase`1"),(WCHAR*)WStr("ExecuteAsync"),sig224,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"),sig316,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"),sig158,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"),sig372,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"),sig373,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"),sig316,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"),sig316,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"),sig173,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"),sig337,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"),sig338,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.TestAssemblyInfo"),(WCHAR*)WStr("RunAssemblyInitialize"),sig338,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"),sig339,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"),sig316,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"),sig402,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"),sig401,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"),sig403,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"),sig402,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"),sig179,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("RunClassInitialize"),sig398,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"),sig399,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"),sig399,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"),sig400,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"),sig089,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"),sig092,1,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodRunnerExecuteIntegration3_8"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodRunner"),(WCHAR*)WStr("ExecuteTest"),sig093,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodRunnerExecuteTestIntegration"),CallTargetKind::Default,1,15},
@@ -875,18 +877,18 @@ std::vector callTargets =
{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner"),(WCHAR*)WStr("RunSingleTest"),sig090,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"),sig094,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"),sig278,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"),sig388,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"),sig389,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"),sig316,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"),sig173,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"),sig337,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"),sig338,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.TestAssemblyInfo"),(WCHAR*)WStr("RunAssemblyInitialize"),sig338,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"),sig339,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"),sig316,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"),sig402,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"),sig401,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"),sig401,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"),sig403,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"),sig402,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"),sig402,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"),sig179,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"),sig398,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"),sig399,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"),sig399,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"),sig400,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"),sig212,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"),sig277,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"),sig088,4,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TypeCacheGetTestMethodInfoIntegration"),CallTargetKind::Default,1,15},
@@ -895,21 +897,21 @@ std::vector callTargets =
{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner"),(WCHAR*)WStr("RunSingleTest"),sig090,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"),sig094,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"),sig278,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"),sig388,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"),sig389,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"),sig091,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"),sig091,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"),sig279,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodAttributeExecuteAsyncIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.TestFramework"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute"),(WCHAR*)WStr("ExecuteAsync"),sig279,2,14,0,0,14,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodAttributeExecuteAsyncIntegration"),CallTargetKind::Derived,1,15},
{(WCHAR*)WStr("MSTest.TestFramework"),(WCHAR*)WStr("Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute"),(WCHAR*)WStr("ExecuteAsync"),sig279,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"),sig279,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"),sig337,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"),sig401,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.TestAssemblyInfo"),(WCHAR*)WStr("RunAssemblyInitialize"),sig338,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"),sig402,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"),sig212,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.TestMethodRunner"),(WCHAR*)WStr("ExecuteTestAsync"),sig277,2,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TestMethodRunnerExecuteTestIntegrationV3_9"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TypeCache"),(WCHAR*)WStr("GetTestMethodInfo"),sig087,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.TypeCacheGetTestMethodInfoIntegrationV3_9"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner"),(WCHAR*)WStr("RunSingleTest"),sig094,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestRunnerRunSingleTestIntegration3_8"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner"),(WCHAR*)WStr("RunSingleTestAsync"),sig278,4,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestRunnerRunSingleTestAsyncIntegration3_8"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.UnitTestDiscoverer"),(WCHAR*)WStr("SendTestCases"),sig363,5,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestDiscovererSendTestCasesIntegrationV4"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("MSTestAdapter.PlatformServices"),(WCHAR*)WStr("Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.UnitTestDiscoverer"),(WCHAR*)WStr("SendTestCases"),sig364,5,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.MsTestV2.UnitTestDiscovererSendTestCasesIntegrationV4"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("MySql.Data"),(WCHAR*)WStr("MySql.Data.MySqlClient.MySqlCommand"),(WCHAR*)WStr("Close"),sig316,1,6,7,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.ReaderCloseIntegration"),CallTargetKind::Default,4,15},
{(WCHAR*)WStr("MySql.Data"),(WCHAR*)WStr("MySql.Data.MySqlClient.MySqlCommand"),(WCHAR*)WStr("ExecuteDbDataReader"),sig140,2,6,7,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.CommandExecuteReaderWithBehaviorIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("MySql.Data"),(WCHAR*)WStr("MySql.Data.MySqlClient.MySqlCommand"),(WCHAR*)WStr("ExecuteDbDataReader"),sig140,2,8,0,0,9,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.CommandExecuteReaderWithBehaviorIntegration"),CallTargetKind::Default,1,15},
@@ -959,12 +961,12 @@ std::vector callTargets =
{(WCHAR*)WStr("MySqlConnector"),(WCHAR*)WStr("MySqlConnector.MySqlDataReader"),(WCHAR*)WStr("Read"),sig126,1,1,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.ReaderReadIntegration"),CallTargetKind::Default,4,15},
{(WCHAR*)WStr("MySqlConnector"),(WCHAR*)WStr("MySqlConnector.MySqlDataReader"),(WCHAR*)WStr("ReadAsync"),sig306,2,1,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.ReaderReadAsyncIntegration"),CallTargetKind::Default,4,15},
{(WCHAR*)WStr("NLog"),(WCHAR*)WStr("NLog.Config.LoggingConfigurationFileLoader"),(WCHAR*)WStr("Load"),sig099,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"),sig340,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("ActivateLoggingConfiguration"),sig341,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"),sig100,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"),sig381,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"),sig381,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"),sig395,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"),sig395,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"),sig382,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"),sig382,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"),sig396,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"),sig396,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"),sig140,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"),sig298,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"),sig151,1,4,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.CommandExecuteNonQueryIntegration"),CallTargetKind::Default,1,15},
@@ -981,20 +983,20 @@ std::vector callTargets =
{(WCHAR*)WStr("Npgsql"),(WCHAR*)WStr("Npgsql.NpgsqlDataReader"),(WCHAR*)WStr("ReadAsync"),sig306,2,4,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.ReaderReadAsyncIntegration"),CallTargetKind::Default,4,15},
{(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Execution.CommandBuilder"),(WCHAR*)WStr("MakeSkipCommand"),sig103,2,3,0,0,3,6,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.NUnit.NUnitCommandBuilderMakeTestCommandIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Execution.CommandBuilder"),(WCHAR*)WStr("MakeTestCommand"),sig105,2,3,0,0,3,6,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.NUnit.NUnitCommandBuilderMakeTestCommandIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Execution.SimpleWorkItem"),(WCHAR*)WStr(".ctor"),sig342,4,3,13,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.NUnit.SimpleWorkItemctor2Integration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Execution.SimpleWorkItem"),(WCHAR*)WStr(".ctor"),sig341,3,3,7,0,3,12,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.NUnit.SimpleWorkItemctorIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Execution.SimpleWorkItem"),(WCHAR*)WStr(".ctor"),sig343,4,3,13,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.NUnit.SimpleWorkItemctor2Integration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Execution.SimpleWorkItem"),(WCHAR*)WStr(".ctor"),sig342,3,3,7,0,3,12,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.NUnit.SimpleWorkItemctorIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Execution.SimpleWorkItem"),(WCHAR*)WStr("MakeTestCommand"),sig104,1,3,7,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.NUnit.NUnitSimpleWorkItemMakeTestCommandIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Execution.WorkItem"),(WCHAR*)WStr("PerformWork"),sig316,1,3,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.NUnit.NUnitWorkItemPerformWorkIntegration"),CallTargetKind::Derived,1,15},
{(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Execution.WorkItem"),(WCHAR*)WStr("WorkItemComplete"),sig316,1,3,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.NUnit.NUnitWorkItemWorkItemCompleteIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("nunit.framework"),(WCHAR*)WStr("NUnit.Framework.Internal.Reflect"),(WCHAR*)WStr("InvokeMethod"),sig170,4,3,0,0,4,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("Evaluate"),sig061,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("IsAvailable"),sig126,1,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenFeature.OpenFeatureSdkIsAvailableIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature"),(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature.FeatureFlagsSdk"),(WCHAR*)WStr("RegisterOnNewConfigEventHandler"),sig346,2,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenFeature.OpenFeatureSdkRegisterOnNewConfigEventHandlerIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature"),(WCHAR*)WStr("Datadog.FeatureFlags.OpenFeature.FeatureFlagsSdk"),(WCHAR*)WStr("RegisterOnNewConfigEventHandler"),sig347,2,2,0,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.OpenFeature.OpenFeatureSdkRegisterOnNewConfigEventHandlerIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("OpenTelemetry"),(WCHAR*)WStr("OpenTelemetry.Trace.TracerProviderBuilderExtensions"),(WCHAR*)WStr("Build"),sig115,2,1,0,0,1,0,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.OpenTelemetry.TracerProviderBuilderIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("OpenTelemetry.Api"),(WCHAR*)WStr("OpenTelemetry.Baggage"),(WCHAR*)WStr("ClearBaggage"),sig109,2,1,0,0,1,0,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.OpenTelemetry.OTelBaggage_ClearBaggageIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("OpenTelemetry.Api"),(WCHAR*)WStr("OpenTelemetry.Baggage"),(WCHAR*)WStr("get_Current"),sig108,1,1,0,0,1,0,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.OpenTelemetry.OTelBaggage_GetCurrentIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("OpenTelemetry.Api"),(WCHAR*)WStr("OpenTelemetry.Baggage"),(WCHAR*)WStr("RemoveBaggage"),sig111,3,1,0,0,1,0,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.OpenTelemetry.OTelBaggage_RemoveBaggageIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("OpenTelemetry.Api"),(WCHAR*)WStr("OpenTelemetry.Baggage"),(WCHAR*)WStr("set_Current"),sig344,2,1,0,0,1,0,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.OpenTelemetry.OTelBaggage_SetCurrentIntegration"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("OpenTelemetry.Api"),(WCHAR*)WStr("OpenTelemetry.Baggage"),(WCHAR*)WStr("set_Current"),sig345,2,1,0,0,1,0,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.OpenTelemetry.OTelBaggage_SetCurrentIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("OpenTelemetry.Api"),(WCHAR*)WStr("OpenTelemetry.Baggage"),(WCHAR*)WStr("SetBaggage"),sig112,4,1,0,0,1,0,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.OpenTelemetry.OTelBaggage_SetBaggageIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("OpenTelemetry.Api"),(WCHAR*)WStr("OpenTelemetry.Baggage"),(WCHAR*)WStr("SetBaggage"),sig110,3,1,0,0,1,0,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.OpenTelemetry.OTelBaggage_SetBaggageItemsIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("OpenTelemetry.Api"),(WCHAR*)WStr("OpenTelemetry.Trace.Tracer"),(WCHAR*)WStr("StartRootSpan"),sig113,6,1,0,0,1,0,0,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.OpenTelemetry.StartRootSpanIntegration"),CallTargetKind::Default,1,15},
@@ -1052,21 +1054,21 @@ std::vector callTargets =
{(WCHAR*)WStr("Oracle.ManagedDataAccess"),(WCHAR*)WStr("Oracle.ManagedDataAccess.Client.OracleDataReader"),(WCHAR*)WStr("ReadAsync"),sig306,2,23,0,0,23,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.AdoNet.ReaderReadAsyncIntegration"),CallTargetKind::Default,4,15},
{(WCHAR*)WStr("System"),(WCHAR*)WStr("System.Diagnostics.Process"),(WCHAR*)WStr("Start"),sig145,1,1,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Process.ProcessStartIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("System.Diagnostics.Process"),(WCHAR*)WStr("System.Diagnostics.Process"),(WCHAR*)WStr("Start"),sig145,1,1,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Process.ProcessStartIntegration"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IBufferMessage"),(WCHAR*)WStr("InternalMergeFrom"),sig330,2,3,15,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.BufferMessageInternalMergeFromIntegration"),CallTargetKind::Interface,1,15},
-{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IBufferMessage"),(WCHAR*)WStr("InternalWriteTo"),sig331,2,3,15,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.BufferMessageInternalWriteToIntegration"),CallTargetKind::Interface,1,15},
-{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IMessage"),(WCHAR*)WStr("MergeFrom"),sig328,2,3,13,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.MessageMergeFromIntegration"),CallTargetKind::Interface,1,15},
-{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IMessage"),(WCHAR*)WStr("MergeFrom"),sig328,2,3,0,0,3,12,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.OldMessageMergeFromIntegration"),CallTargetKind::Interface,1,15},
-{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IMessage"),(WCHAR*)WStr("WriteTo"),sig329,2,3,13,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.MessageWriteToIntegration"),CallTargetKind::Interface,1,15},
-{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IMessage"),(WCHAR*)WStr("WriteTo"),sig329,2,3,0,0,3,12,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.OldMessageWriteToIntegration"),CallTargetKind::Interface,1,15},
+{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IBufferMessage"),(WCHAR*)WStr("InternalMergeFrom"),sig331,2,3,15,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.BufferMessageInternalMergeFromIntegration"),CallTargetKind::Interface,1,15},
+{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IBufferMessage"),(WCHAR*)WStr("InternalWriteTo"),sig332,2,3,15,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.BufferMessageInternalWriteToIntegration"),CallTargetKind::Interface,1,15},
+{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IMessage"),(WCHAR*)WStr("MergeFrom"),sig329,2,3,13,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.MessageMergeFromIntegration"),CallTargetKind::Interface,1,15},
+{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IMessage"),(WCHAR*)WStr("MergeFrom"),sig329,2,3,0,0,3,12,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.OldMessageMergeFromIntegration"),CallTargetKind::Interface,1,15},
+{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IMessage"),(WCHAR*)WStr("WriteTo"),sig330,2,3,13,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Protobuf.MessageWriteToIntegration"),CallTargetKind::Interface,1,15},
+{(WCHAR*)WStr("Google.Protobuf"),(WCHAR*)WStr("Google.Protobuf.IMessage"),(WCHAR*)WStr("WriteTo"),sig330,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"),sig210,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"),sig211,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"),sig393,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"),sig389,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"),sig390,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"),sig384,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"),sig394,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"),sig390,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"),sig391,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"),sig385,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"),sig210,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"),sig211,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"),sig393,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"),sig394,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"),sig307,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"),sig293,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"),sig310,7,7,0,0,7,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.RabbitMQ.BasicPublishAsyncCachedStringsIntegration"),CallTargetKind::Default,1,15},
@@ -1077,28 +1079,28 @@ std::vector callTargets =
{(WCHAR*)WStr("RabbitMQ.Client"),(WCHAR*)WStr("RabbitMQ.Client.Impl.Channel"),(WCHAR*)WStr("QueueDeclareAsync"),sig294,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"),sig177,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"),sig122,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"),sig392,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"),sig393,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"),sig172,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"),sig171,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"),sig374,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"),sig375,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"),sig160,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"),sig375,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"),sig370,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"),sig369,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"),sig375,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.Http.HttpClientTransportSink"),(WCHAR*)WStr("ProcessMessage"),sig376,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"),sig371,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"),sig370,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"),sig376,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"),sig172,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"),sig171,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"),sig373,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"),sig375,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"),sig374,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"),sig376,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"),sig343,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.HttpCommandExecutor"),(WCHAR*)WStr("OnSendingRemoteHttpRequest"),sig344,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"),sig106,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.Selenium.WebDriverExecuteIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("WebDriver"),(WCHAR*)WStr("OpenQA.Selenium.Remote.RemoteWebDriver"),(WCHAR*)WStr("Execute"),sig106,3,3,0,0,3,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.Selenium.WebDriverExecuteIntegration"),CallTargetKind::Derived,1,15},
{(WCHAR*)WStr("WebDriver"),(WCHAR*)WStr("OpenQA.Selenium.WebDriver"),(WCHAR*)WStr("Execute"),sig107,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.Selenium.WebDriverExecuteIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("WebDriver"),(WCHAR*)WStr("OpenQA.Selenium.WebDriver"),(WCHAR*)WStr("Execute"),sig107,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.Selenium.WebDriverExecuteIntegration"),CallTargetKind::Derived,1,15},
-{(WCHAR*)WStr("Serilog"),(WCHAR*)WStr("Serilog.Core.Logger"),(WCHAR*)WStr("Dispatch"),sig345,2,2,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.Serilog.LogsInjection.LoggerDispatchInstrumentation"),CallTargetKind::Default,1,15},
-{(WCHAR*)WStr("Serilog"),(WCHAR*)WStr("Serilog.Core.Pipeline.Logger"),(WCHAR*)WStr("Dispatch"),sig345,2,1,4,0,1,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.Serilog.LogsInjection.LoggerDispatchInstrumentation"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Serilog"),(WCHAR*)WStr("Serilog.Core.Logger"),(WCHAR*)WStr("Dispatch"),sig346,2,2,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.Serilog.LogsInjection.LoggerDispatchInstrumentation"),CallTargetKind::Default,1,15},
+{(WCHAR*)WStr("Serilog"),(WCHAR*)WStr("Serilog.Core.Pipeline.Logger"),(WCHAR*)WStr("Dispatch"),sig346,2,1,4,0,1,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.Serilog.LogsInjection.LoggerDispatchInstrumentation"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("Serilog"),(WCHAR*)WStr("Serilog.LoggerConfiguration"),(WCHAR*)WStr("CreateLogger"),sig124,1,1,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Logging.Serilog.DirectSubmission.LoggerConfigurationInstrumentation"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("ServiceStack.Redis"),(WCHAR*)WStr("ServiceStack.Redis.RedisNativeClient"),(WCHAR*)WStr("SendReceive"),sig002,5,4,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Redis.ServiceStack.RedisNativeClientSendReceiveIntegration"),CallTargetKind::Default,1,15},
{(WCHAR*)WStr("ServiceStack.Redis"),(WCHAR*)WStr("ServiceStack.Redis.RedisNativeClient"),(WCHAR*)WStr("SendReceive"),sig003,6,6,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Redis.ServiceStack.RedisNativeClientSendReceiveIntegration_6_2_0"),CallTargetKind::Default,1,15},
@@ -1198,7 +1200,7 @@ std::vector callTargets =
{(WCHAR*)WStr("Microsoft.AspNetCore.Diagnostics"),(WCHAR*)WStr("Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware"),(WCHAR*)WStr("DisplayException"),sig195,2,3,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.StackTraceLeak.DeveloperExceptionPageMiddlewareIntegration_Pre_3_0_0"),CallTargetKind::Default,4,14},
{(WCHAR*)WStr("Microsoft.AspNetCore.Diagnostics"),(WCHAR*)WStr("Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl"),(WCHAR*)WStr("DisplayException"),sig195,2,7,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.StackTraceLeak.DeveloperExceptionPageMiddlewareIntegration_Pre_3_0_0"),CallTargetKind::Default,4,14},
#if _WIN32
-{(WCHAR*)WStr("System.Web"),(WCHAR*)WStr("System.Web.HttpResponse"),(WCHAR*)WStr("WriteErrorMessage"),sig366,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.StackTraceLeak.HttpResponseIntegration"),CallTargetKind::Default,4,1},
+{(WCHAR*)WStr("System.Web"),(WCHAR*)WStr("System.Web.HttpResponse"),(WCHAR*)WStr("WriteErrorMessage"),sig367,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.StackTraceLeak.HttpResponseIntegration"),CallTargetKind::Default,4,1},
#endif
{(WCHAR*)WStr("System.Security.Cryptography"),(WCHAR*)WStr("System.Security.Cryptography.SymmetricAlgorithm"),(WCHAR*)WStr(".ctor"),sig316,1,7,0,0,10,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegration"),CallTargetKind::Default,4,14},
{(WCHAR*)WStr("System.Security.Cryptography.Primitives"),(WCHAR*)WStr("System.Security.Cryptography.SymmetricAlgorithm"),(WCHAR*)WStr(".ctor"),sig316,1,1,0,0,6,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.CryptographyAlgorithm.SymmetricAlgorithmIntegration"),CallTargetKind::Default,4,14},
@@ -1207,8 +1209,8 @@ std::vector callTargets =
{(WCHAR*)WStr("System.ServiceModel"),(WCHAR*)WStr("System.ServiceModel.Dispatcher.AsyncMethodInvoker"),(WCHAR*)WStr("InvokeBegin"),sig149,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"),sig169,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"),sig130,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"),sig376,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"),sig377,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"),sig377,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"),sig378,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"),sig168,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"),sig308,3,4,0,0,4,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Wcf.TaskMethodInvokerIntegration"),CallTargetKind::Default,1,1},
#endif
@@ -1225,16 +1227,16 @@ std::vector callTargets =
{(WCHAR*)WStr("System.Net.Requests"),(WCHAR*)WStr("System.Net.HttpWebRequest"),(WCHAR*)WStr("GetRequestStream"),sig157,1,9,0,0,10,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"),sig161,1,4,0,0,10,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"),sig216,1,4,0,0,10,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"),sig378,2,1,0,0,10,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"),sig379,2,1,0,0,10,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"),sig378,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"),sig379,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"),sig180,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"),sig180,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"),sig309,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"),sig309,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"),sig300,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"),sig378,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"),sig379,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"),sig309,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"),sig180,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"),sig180,1,2,2,0,2,65535,65535,assemblyName,(WCHAR*)WStr("Datadog.Trace.ClrProfiler.AutoInstrumentation.Testing.XUnit.XUnitTestAssemblyRunnerBeforeTestAssemblyFinishedAsyncIntegration"),CallTargetKind::Derived,1,15},
@@ -1242,14 +1244,14 @@ std::vector callTargets =
{(WCHAR*)WStr("xunit.execution.dotnet"),(WCHAR*)WStr("Xunit.Sdk.TestClassRunner`1"),(WCHAR*)WStr("RunAsync"),sig309,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"),sig131,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"),sig300,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"),sig378,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"),sig379,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"),sig309,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.TestAssemblyRunner`4"),(WCHAR*)WStr("Run"),sig313,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"),sig313,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"),sig378,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"),sig379,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"),sig312,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.XunitTestMethodRunnerBase`3"),(WCHAR*)WStr("RunTestCase"),sig314,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.XunitTestMethodRunnerContext"),(WCHAR*)WStr(".ctor"),sig396,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"),sig397,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/DataStreamsMonitoringManualApiTest.cs b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/DataStreamsMonitoringManualApiTest.cs
index 305228330a8c..ce9e8c50f54d 100644
--- a/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/DataStreamsMonitoringManualApiTest.cs
+++ b/tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/DataStreamsMonitoringManualApiTest.cs
@@ -3,6 +3,7 @@
// This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2017 Datadog, Inc.
//
+using System.Linq;
using System.Threading.Tasks;
using Datadog.Trace.Configuration;
using Datadog.Trace.TestHelpers;
@@ -43,5 +44,21 @@ public async Task ContextPropagation()
await Verifier.Verify(MockDataStreamsPayload.Normalize(dsPoints), settings)
.UseFileName($"{nameof(DataStreamsMonitoringManualApiTest)}.{nameof(ContextPropagation)}")
.DisableRequireUniquePrefix();
+
+ // Verify transaction tracking: both spans tagged, produce/consume tracked with the same transaction ID
+ var transactions = dsPoints
+ .SelectMany(p => p.Stats)
+ .SelectMany(b => b.DecodeTransactions())
+ .ToList();
+
+ transactions.Should().HaveCount(2, "one produce and one consume transaction should be recorded");
+ transactions.Should().ContainSingle(t => t.CheckpointName == "queue-produce");
+ transactions.Should().ContainSingle(t => t.CheckpointName == "queue-consume");
+
+ var transactionId = transactions[0].TransactionId;
+ transactions.Should().OnlyContain(t => t.TransactionId == transactionId, "producer and consumer should share the same transaction ID");
+
+ spans.Should().OnlyContain(s => s.Tags.ContainsKey("dsm.transaction.id"), "each span should be tagged with dsm.transaction.id");
+ spans.Should().OnlyContain(s => s.Tags["dsm.transaction.id"] == transactionId, "span tags should match the tracked transaction ID");
}
}
diff --git a/tracer/test/Datadog.Trace.TestHelpers/DataStreamsMonitoring/MockDataStreamsBucket.cs b/tracer/test/Datadog.Trace.TestHelpers/DataStreamsMonitoring/MockDataStreamsBucket.cs
index d432d5a4906d..ea5625d7b53e 100644
--- a/tracer/test/Datadog.Trace.TestHelpers/DataStreamsMonitoring/MockDataStreamsBucket.cs
+++ b/tracer/test/Datadog.Trace.TestHelpers/DataStreamsMonitoring/MockDataStreamsBucket.cs
@@ -1,8 +1,11 @@
-//
+//
// 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.Generic;
+using System.Text;
using MessagePack;
namespace Datadog.Trace.TestHelpers.DataStreamsMonitoring;
@@ -21,4 +24,64 @@ public class MockDataStreamsBucket
[Key(nameof(Backlogs))]
public MockDataStreamsBacklog[] Backlogs { get; set; }
+
+ [Key(nameof(Transactions))]
+ public byte[] Transactions { get; set; }
+
+ [Key(nameof(TransactionCheckpointIds))]
+ public byte[] TransactionCheckpointIds { get; set; }
+
+ ///
+ /// Decodes the raw binary transaction data in this bucket into structured records.
+ /// Returns an empty list if the bucket contains no transaction data.
+ ///
+ public IReadOnlyList DecodeTransactions()
+ {
+ if (Transactions is null || Transactions.Length == 0)
+ {
+ return Array.Empty();
+ }
+
+ // Decode checkpoint ID → name mapping from TransactionCheckpointIds.
+ // Binary format per entry: [checkpointId (1 byte)][nameLength (1 byte)][nameBytes (nameLength bytes)]
+ var checkpointNames = new Dictionary();
+ if (TransactionCheckpointIds is { Length: > 0 } cpIds)
+ {
+ int i = 0;
+ while (i < cpIds.Length)
+ {
+ var id = cpIds[i++];
+ var nameLen = cpIds[i++];
+ var name = Encoding.UTF8.GetString(cpIds, i, nameLen);
+ checkpointNames[id] = name;
+ i += nameLen;
+ }
+ }
+
+ // Decode transactions.
+ // Binary format per entry: [checkpointId (1 byte)][timestampNs (8 bytes, big-endian)][idLength (1 byte)][idBytes (idLength bytes)]
+ var result = new List();
+ var data = Transactions;
+ int pos = 0;
+ while (pos < data.Length)
+ {
+ var checkpointId = data[pos++];
+
+ var timestampNs =
+ ((long)data[pos] << 56) | ((long)data[pos + 1] << 48) |
+ ((long)data[pos + 2] << 40) | ((long)data[pos + 3] << 32) |
+ ((long)data[pos + 4] << 24) | ((long)data[pos + 5] << 16) |
+ ((long)data[pos + 6] << 8) | data[pos + 7];
+ pos += 8;
+
+ var idLen = data[pos++];
+ var transactionId = Encoding.UTF8.GetString(data, pos, idLen);
+ pos += idLen;
+
+ checkpointNames.TryGetValue(checkpointId, out var checkpointName);
+ result.Add(new MockDataStreamsTransaction(transactionId, checkpointName ?? checkpointId.ToString(), timestampNs));
+ }
+
+ return result;
+ }
}
diff --git a/tracer/test/Datadog.Trace.TestHelpers/DataStreamsMonitoring/MockDataStreamsTransaction.cs b/tracer/test/Datadog.Trace.TestHelpers/DataStreamsMonitoring/MockDataStreamsTransaction.cs
new file mode 100644
index 000000000000..c8b438251300
--- /dev/null
+++ b/tracer/test/Datadog.Trace.TestHelpers/DataStreamsMonitoring/MockDataStreamsTransaction.cs
@@ -0,0 +1,25 @@
+//
+// 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.
+//
+
+namespace Datadog.Trace.TestHelpers.DataStreamsMonitoring;
+
+///
+/// A decoded DSM transaction record extracted from a .
+///
+public class MockDataStreamsTransaction
+{
+ public MockDataStreamsTransaction(string transactionId, string checkpointName, long timestampNs)
+ {
+ TransactionId = transactionId;
+ CheckpointName = checkpointName;
+ TimestampNs = timestampNs;
+ }
+
+ public string TransactionId { get; }
+
+ public string CheckpointName { get; }
+
+ public long TimestampNs { get; }
+}
diff --git a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsAggregatorTests.cs b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsAggregatorTests.cs
index d3fef2c365cc..a38778079fd9 100644
--- a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsAggregatorTests.cs
+++ b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsAggregatorTests.cs
@@ -11,6 +11,7 @@
using Datadog.Trace.DataStreamsMonitoring;
using Datadog.Trace.DataStreamsMonitoring.Aggregation;
using Datadog.Trace.DataStreamsMonitoring.Hashes;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
using Datadog.Trace.DataStreamsMonitoring.Utils;
using Datadog.Trace.ExtensionMethods;
using Datadog.Trace.TestHelpers.TestTracer;
@@ -127,6 +128,36 @@ public async Task Aggregator_FlushesStats()
AssertBucket(stats, hash: 3, CreateSketch(5), CreateSketch(2));
}
+ [Fact]
+ public async Task Serialize_ReturnsTrue_WhenOnlyTransactionsPresent()
+ {
+ await using var tracer = TracerHelper.Create();
+ var aggregator = new DataStreamsAggregator(
+ new DataStreamsMessagePackFormatter(tracer.Settings, new ProfilerSettings(ProfilerState.Disabled)),
+ BucketDurationMs);
+
+ aggregator.AddTransaction(new DataStreamsTransactionInfo("tx-1", DateTimeOffset.UtcNow.ToUnixTimeNanoseconds(), "checkpoint"));
+
+ using var stream = new MemoryStream();
+ aggregator.Serialize(stream, long.MaxValue).Should().BeTrue();
+
+ // second call must return false — transactions were already consumed on the first call
+ using var stream2 = new MemoryStream();
+ aggregator.Serialize(stream2, long.MaxValue).Should().BeFalse();
+ }
+
+ [Fact]
+ public async Task Serialize_ReturnsFalse_WhenEmpty()
+ {
+ await using var tracer = TracerHelper.Create();
+ var aggregator = new DataStreamsAggregator(
+ new DataStreamsMessagePackFormatter(tracer.Settings, new ProfilerSettings(ProfilerState.Disabled)),
+ BucketDurationMs);
+
+ using var stream = new MemoryStream();
+ aggregator.Serialize(stream, long.MaxValue).Should().BeFalse();
+ }
+
private static DataStreamsAggregator CreateAggregatorWithData(Tracer tracer, long t1, long t2)
{
var aggregator = new DataStreamsAggregator(
diff --git a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsExtractorRegistryTest.cs b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsExtractorRegistryTest.cs
new file mode 100644
index 000000000000..55f9c4002ce7
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsExtractorRegistryTest.cs
@@ -0,0 +1,21 @@
+//
+// 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.DataStreamsMonitoring.TransactionTracking;
+using FluentAssertions;
+using Xunit;
+
+namespace Datadog.Trace.Tests.DataStreamsMonitoring;
+
+public class DataStreamsExtractorRegistryTest
+{
+ [Fact]
+ public void DeserializeCorrectly()
+ {
+ var registry = new DataStreamsExtractorRegistry("[{\"name\": \"transaction-origin\", \"type\": \"HTTP_OUT_HEADERS\", \"value\": \"transaction-id\"}]");
+ registry.AsJson().Should().Be("{\"HttpOutHeaders\":[{\"name\":\"transaction-origin\",\"type\":\"HTTP_OUT_HEADERS\",\"value\":\"transaction-id\",\"ExtractorType\":1}]}");
+ }
+}
diff --git a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsManagerTests.cs b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsManagerTests.cs
index d7e58b90d9bb..a18ce53a0468 100644
--- a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsManagerTests.cs
+++ b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsManagerTests.cs
@@ -13,6 +13,7 @@
using Datadog.Trace.DataStreamsMonitoring;
using Datadog.Trace.DataStreamsMonitoring.Aggregation;
using Datadog.Trace.DataStreamsMonitoring.Hashes;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
using Datadog.Trace.ExtensionMethods;
using Datadog.Trace.PlatformHelpers;
using Datadog.Trace.TestHelpers.FluentAssertionsExtensions;
@@ -126,6 +127,15 @@ public void WhenEnabled_TracksBacklog()
point.Tags.Should().Be(tags);
}
+ [Fact]
+ public void WhenEnabled_TracksTransactions()
+ {
+ var dsm = GetDataStreamManager(true, out var writer);
+ dsm.TrackTransaction("transaction-id", "checkpoint");
+
+ writer.DataStreamsTransactions.Size().Should().BeGreaterThan(0);
+ }
+
[Fact]
public async Task WhenEnabled_TimeInQueueIsNotUsedForSecondCheckpoint()
{
@@ -249,6 +259,37 @@ public void WhenEnabled_SetCheckpoint_SetsSpanTags()
span.Tags.GetTag("pathway.hash").Should().NotBeNull();
}
+ [Fact]
+ public void WhenEnabled_TrackTransaction_AddsTransactionAndTagsSpan()
+ {
+ var dsm = GetDataStreamManager(true, out var writer);
+ var span = new Span(new SpanContext(traceId: 123, spanId: 456), DateTimeOffset.UtcNow);
+
+ span.TrackTransaction(dsm, "tx-abc", "some-checkpoint");
+
+ writer.DataStreamsTransactions.GetDataAndReset().Should().NotBeEmpty();
+ span.Tags.GetTag("dsm.transaction.id").Should().Be("tx-abc");
+ }
+
+ [Fact]
+ public void WhenDisabled_TrackTransaction_DoesNothing()
+ {
+ var dsm = GetDataStreamManager(false, out _);
+ var span = new Span(new SpanContext(traceId: 123, spanId: 456), DateTimeOffset.UtcNow);
+
+ var act = () => span.TrackTransaction(dsm, "tx-abc", "some-checkpoint");
+ act.Should().NotThrow();
+ }
+
+ [Fact]
+ public void WhenManagerIsNull_TrackTransaction_DoesNothing()
+ {
+ var span = new Span(new SpanContext(traceId: 123, spanId: 456), DateTimeOffset.UtcNow);
+
+ var act = () => span.TrackTransaction(null, "tx-abc", "some-checkpoint");
+ act.Should().NotThrow();
+ }
+
[Fact]
public async Task WhenEnabled_OneConsumeTwoProduceUsesTwiceConsumePathway()
{
@@ -358,6 +399,8 @@ internal class DataStreamsWriterMock : IDataStreamsWriter
public ConcurrentQueue BacklogPoints { get; } = new();
+ public DataStreamsTransactionContainer DataStreamsTransactions { get; } = new(1024);
+
public int DisposeCount => Volatile.Read(ref _disposeCount);
public void Add(in StatsPoint point)
@@ -365,6 +408,11 @@ public void Add(in StatsPoint point)
Points.Enqueue(point);
}
+ public void AddTransaction(in DataStreamsTransactionInfo transaction)
+ {
+ DataStreamsTransactions.Add(transaction);
+ }
+
public void AddBacklog(in BacklogPoint point)
{
BacklogPoints.Enqueue(point);
diff --git a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsMessagePackFormatterTests.cs b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsMessagePackFormatterTests.cs
index 242d91ee6e1e..782e7badde7c 100644
--- a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsMessagePackFormatterTests.cs
+++ b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsMessagePackFormatterTests.cs
@@ -91,7 +91,7 @@ public void CanRoundTripMessagePackFormat()
};
using var ms = new MemoryStream();
- formatter.Serialize(ms, bucketDurationNs: bucketDuration, statsBuckets: buckets, backlogBuckets);
+ formatter.Serialize(ms, bucketDurationNs: bucketDuration, statsBuckets: buckets, backlogBuckets, System.Array.Empty());
var data = new ArraySegment(ms.GetBuffer());
@@ -192,7 +192,7 @@ public void ProcessTagsGetWritten()
var formatter = new DataStreamsMessagePackFormatter(settings, new ProfilerSettings(ProfilerState.Disabled));
using var ms = new MemoryStream();
- formatter.Serialize(ms, bucketDuration, [], []);
+ formatter.Serialize(ms, bucketDuration, [], [], System.Array.Empty());
var result = MessagePackSerializer.Deserialize(new ArraySegment(ms.GetBuffer()));
// content varies depending on how the tests are run, so we cannot really assert on the content.
diff --git a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsPublicApiTests.cs b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsPublicApiTests.cs
new file mode 100644
index 000000000000..1623463b1c22
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsPublicApiTests.cs
@@ -0,0 +1,56 @@
+//
+// 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.Threading.Tasks;
+using Datadog.Trace.ClrProfiler.AutoInstrumentation.ManualInstrumentation.DataStreams;
+using Datadog.Trace.Configuration;
+using Datadog.Trace.DataStreamsMonitoring;
+using Datadog.Trace.TestHelpers.TestTracer;
+using FluentAssertions;
+using Xunit;
+
+namespace Datadog.Trace.Tests.DataStreamsMonitoring;
+
+public class DataStreamsPublicApiTests
+{
+ ///
+ /// Verifies the full wiring: integration sets the span tag when DSM is enabled.
+ /// The tag is the observable side-effect accessible without a mock writer.
+ ///
+ [Fact]
+ public async Task Invoke_WhenDsmEnabled_SetsSpanTag()
+ {
+ var settings = TracerSettings.Create(new() { { ConfigurationKeys.DataStreamsMonitoring.Enabled, true } });
+ await using var tracer = TracerHelper.Create(settings);
+ var span = new Span(new SpanContext(traceId: 123, spanId: 456), DateTimeOffset.UtcNow);
+
+ DataStreamsTrackTransactionIntegration.Invoke(tracer, span, "tx-abc", "my-checkpoint");
+
+ span.Tags.GetTag("dsm.transaction.id").Should().Be("tx-abc");
+ }
+
+ [Fact]
+ public async Task Invoke_WhenDsmDisabled_DoesNotSetTag()
+ {
+ var settings = TracerSettings.Create(new() { { ConfigurationKeys.DataStreamsMonitoring.Enabled, false } });
+ await using var tracer = TracerHelper.Create(settings);
+ var span = new Span(new SpanContext(traceId: 123, spanId: 456), DateTimeOffset.UtcNow);
+
+ DataStreamsTrackTransactionIntegration.Invoke(tracer, span, "tx-abc", "my-checkpoint");
+
+ span.Tags.GetTag("dsm.transaction.id").Should().BeNull();
+ }
+
+ [Fact]
+ public async Task Invoke_WithNullSpan_DoesNotThrow()
+ {
+ var settings = TracerSettings.Create(new() { { ConfigurationKeys.DataStreamsMonitoring.Enabled, true } });
+ await using var tracer = TracerHelper.Create(settings);
+
+ var act = () => DataStreamsTrackTransactionIntegration.Invoke(tracer, (Span)null, "tx-abc", "my-checkpoint");
+ act.Should().NotThrow();
+ }
+}
diff --git a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionCacheTestCollection.cs b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionCacheTestCollection.cs
new file mode 100644
index 000000000000..28c5c241103a
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionCacheTestCollection.cs
@@ -0,0 +1,15 @@
+//
+// 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 Xunit;
+
+namespace Datadog.Trace.Tests.DataStreamsMonitoring;
+
+// Tests that assert on specific checkpoint IDs in the static cache must not run in parallel with other
+// tests that create DataStreamsTransactionInfo objects — they share a static ConcurrentDictionary + counter.
+[CollectionDefinition(nameof(DataStreamsTransactionCacheTestCollection), DisableParallelization = true)]
+public class DataStreamsTransactionCacheTestCollection
+{
+}
diff --git a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionContainerTest.cs b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionContainerTest.cs
new file mode 100644
index 000000000000..74a1c2cfa914
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionContainerTest.cs
@@ -0,0 +1,53 @@
+//
+// 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.Linq;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
+using FluentAssertions;
+using Xunit;
+
+namespace Datadog.Trace.Tests.DataStreamsMonitoring;
+
+[Collection(nameof(DataStreamsTransactionCacheTestCollection))]
+public class DataStreamsTransactionContainerTest
+{
+ [Fact]
+ public void ZerosAreTrimmedWhenSerialized()
+ {
+ DataStreamsTransactionInfo.ClearCache();
+ var container = new DataStreamsTransactionContainer(1024);
+ container.GetDataAndReset().Should().BeEmpty();
+
+ var transaction = new DataStreamsTransactionInfo("1", 1, "1");
+ container.Add(transaction);
+ var bytes = container.GetDataAndReset();
+ bytes.Should().BeEquivalentTo(new byte[] { 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 49 });
+ }
+
+ [Fact]
+ public void Add_WhenRemainingSpaceExactlyEqualsTransactionSize_StoresDataCorrectly()
+ {
+ var transaction = new DataStreamsTransactionInfo("id", 1L, "cp");
+ var expectedBytes = transaction.GetBytes();
+
+ // buffer sized to exactly fit one transaction — no slack
+ var container = new DataStreamsTransactionContainer(expectedBytes.Length);
+ container.Add(transaction);
+ container.GetDataAndReset().Should().BeEquivalentTo(expectedBytes);
+ }
+
+ [Fact]
+ public void Add_MultipleTransactions_AccumulatesBytes()
+ {
+ var t1 = new DataStreamsTransactionInfo("aaa", 10L, "cp1");
+ var t2 = new DataStreamsTransactionInfo("bbb", 20L, "cp2");
+ var expected = t1.GetBytes().Concat(t2.GetBytes()).ToArray();
+
+ var container = new DataStreamsTransactionContainer(1024);
+ container.Add(t1);
+ container.Add(t2);
+ container.GetDataAndReset().Should().BeEquivalentTo(expected);
+ }
+}
diff --git a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionExtractorTests.cs b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionExtractorTests.cs
new file mode 100644
index 000000000000..5d12371d4295
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionExtractorTests.cs
@@ -0,0 +1,41 @@
+//
+// 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.Linq;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
+using FluentAssertions;
+using Xunit;
+
+namespace Datadog.Trace.Tests.DataStreamsMonitoring;
+
+public class DataStreamsTransactionExtractorTests
+{
+ // Issues 8 + 10: all known type strings must resolve to the correct enum value.
+ // Enum values: Unknown=0, HttpOutHeaders=1, HttpInHeaders=2, KafkaConsumeHeaders=3, KafkaProduceHeaders=4
+ [Theory]
+ [InlineData("HTTP_OUT_HEADERS", 1)]
+ [InlineData("HTTP_IN_HEADERS", 2)]
+ [InlineData("KAFKA_CONSUME_HEADERS", 3)]
+ [InlineData("KAFKA_PRODUCE_HEADERS", 4)]
+ [InlineData("UNKNOWN_STUFF", 0)]
+ [InlineData("", 0)]
+ public void ExtractorType_ReturnsCorrectType_ForTypeString(string stringType, int expectedInt)
+ {
+ var expected = (DataStreamsTransactionExtractor.Type)expectedInt;
+ var json = $"[{{\"name\": \"n\", \"type\": \"{stringType}\", \"value\": \"v\"}}]";
+ var registry = new DataStreamsExtractorRegistry(json);
+ registry.GetExtractorsByType(expected).Should().ContainSingle()
+ .Which.ExtractorType.Should().Be(expected);
+ }
+
+ [Fact]
+ public void ExtractorType_ReturnsSameValue_OnMultipleCalls()
+ {
+ var registry = new DataStreamsExtractorRegistry("[{\"name\": \"n\", \"type\": \"HTTP_OUT_HEADERS\", \"value\": \"v\"}]");
+ var extractor = registry.GetExtractorsByType(DataStreamsTransactionExtractor.Type.HttpOutHeaders)!.Single();
+ extractor.ExtractorType.Should().Be(extractor.ExtractorType);
+ }
+}
diff --git a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionInfoTest.cs b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionInfoTest.cs
new file mode 100644
index 000000000000..9e162226f6da
--- /dev/null
+++ b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsTransactionInfoTest.cs
@@ -0,0 +1,66 @@
+//
+// 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 Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
+using FluentAssertions;
+using Xunit;
+
+namespace Datadog.Trace.Tests.DataStreamsMonitoring;
+
+[Collection(nameof(DataStreamsTransactionCacheTestCollection))]
+public class DataStreamsTransactionInfoTest
+{
+ [Fact]
+ public void TransactionInfoSerializesCorrectly()
+ {
+ DataStreamsTransactionInfo.ClearCache();
+ var transaction = new DataStreamsTransactionInfo("1", 1, "1");
+ transaction.TimestampNs.Should().Be(1);
+ transaction.GetBytes().Should().BeEquivalentTo(new byte[] { 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 49 });
+ }
+
+ [Fact]
+ public void TransactionInfoCacheSerializesCorrectly()
+ {
+ DataStreamsTransactionInfo.ClearCache();
+ _ = new DataStreamsTransactionInfo("1", 1, "1");
+ var cacheBytes = DataStreamsTransactionInfo.GetCacheBytes();
+ cacheBytes.Should().BeEquivalentTo(new byte[] { 1, 1, 49 });
+ }
+
+ [Fact]
+ public void GetBytes_ReturnsSameBytesOnSubsequentCalls()
+ {
+ var transaction = new DataStreamsTransactionInfo("tx-abc-123", 9_876_543_210L, "some-checkpoint");
+ transaction.GetBytes().Should().BeEquivalentTo(transaction.GetBytes());
+ }
+
+ [Fact]
+ public void WriteTo_WritesSameBytesAsGetBytes()
+ {
+ var transaction = new DataStreamsTransactionInfo("tx-id", 42L, "checkpoint");
+ var expected = transaction.GetBytes();
+
+ var buffer = new byte[expected.Length + 4]; // extra padding to catch over-writes
+ transaction.WriteTo(buffer, 2);
+
+ buffer[0].Should().Be(0); // padding before offset untouched
+ buffer[1].Should().Be(0);
+ for (var i = 0; i < expected.Length; i++)
+ {
+ buffer[2 + i].Should().Be(expected[i]);
+ }
+
+ buffer[2 + expected.Length].Should().Be(0); // padding after untouched
+ buffer[3 + expected.Length].Should().Be(0);
+ }
+
+ [Fact]
+ public void GetByteCount_MatchesGetBytesLength()
+ {
+ var transaction = new DataStreamsTransactionInfo("hello-world", 12345L, "my-cp");
+ transaction.GetByteCount().Should().Be(transaction.GetBytes().Length);
+ }
+}
diff --git a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsWriterTests.cs b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsWriterTests.cs
index d17450feb4ca..11d4c5224534 100644
--- a/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsWriterTests.cs
+++ b/tracer/test/Datadog.Trace.Tests/DataStreamsMonitoring/DataStreamsWriterTests.cs
@@ -15,6 +15,7 @@
using Datadog.Trace.DataStreamsMonitoring;
using Datadog.Trace.DataStreamsMonitoring.Aggregation;
using Datadog.Trace.DataStreamsMonitoring.Hashes;
+using Datadog.Trace.DataStreamsMonitoring.TransactionTracking;
using Datadog.Trace.DataStreamsMonitoring.Transport;
using Datadog.Trace.ExtensionMethods;
using Datadog.Trace.TestHelpers.DataStreamsMonitoring;
@@ -67,6 +68,21 @@ public async Task DoesNotWriteIfNoStats_OnClose(bool? isSupported)
api.Sent.Should().BeEmpty();
}
+ [Fact]
+ public async Task WhenSupported_TracksTransactions()
+ {
+ var bucketDurationMs = 100;
+ var api = new StubApi();
+ var writer = CreateWriter(api, out var discovery, bucketDurationMs);
+ TriggerSupportUpdate(discovery, isSupported: true);
+
+ writer.AddTransaction(new DataStreamsTransactionInfo("id", 1, "checkpoint"));
+ await api.WaitForCount(1, 30_000);
+
+ HasOneOrTwoPoints(api);
+ await writer.DisposeAsync();
+ }
+
[Fact]
public async Task WhenSupported_WritesAStatsPointAfterDelay()
{
diff --git a/tracer/test/Datadog.Trace.Tests/Telemetry/config_norm_rules.json b/tracer/test/Datadog.Trace.Tests/Telemetry/config_norm_rules.json
index 928ecc5275f7..cb1043d2b6c1 100644
--- a/tracer/test/Datadog.Trace.Tests/Telemetry/config_norm_rules.json
+++ b/tracer/test/Datadog.Trace.Tests/Telemetry/config_norm_rules.json
@@ -378,6 +378,7 @@
"DD_TRACE_X_DATADOG_TAGS_MAX_LENGTH": "trace_x_datadog_tags_max_length",
"DD_DATA_STREAMS_ENABLED": "data_streams_enabled",
"DD_DATA_STREAMS_LEGACY_HEADERS": "data_streams_legacy_headers",
+ "DD_DATA_STREAMS_TRANSACTION_EXTRACTORS": "data_streams_transaction_extractors",
"DD_CIVISIBILITY_ENABLED": "ci_visibility_enabled",
"DD_CIVISIBILITY_AGENTLESS_ENABLED": "ci_visibility_agentless_enabled",
"DD_CIVISIBILITY_AGENTLESS_URL": "ci_visibility_agentless_url",
diff --git a/tracer/test/test-applications/integrations/Samples.DataStreams.ManualAPI/Program.cs b/tracer/test/test-applications/integrations/Samples.DataStreams.ManualAPI/Program.cs
index 08598d819f2a..0caab8196c92 100644
--- a/tracer/test/test-applications/integrations/Samples.DataStreams.ManualAPI/Program.cs
+++ b/tracer/test/test-applications/integrations/Samples.DataStreams.ManualAPI/Program.cs
@@ -27,10 +27,14 @@ private static async Task Send(string message)
await Task.Delay(millisecondsDelay: 100);
+ var transactionId = Guid.NewGuid().ToString();
+ Datadog.Trace.DataStreams.TrackTransaction(scope.Span, transactionId, "queue-produce");
+
Console.WriteLine("Sending one message to the queue...");
var sb = new StringBuilder();
var injector = new SpanContextInjector();
injector.InjectIncludingDsm(sb, (b, k, v) => b.Append($"{k}:{v};"), scope.Span.Context, "ConcurrentQueue", nameof(_queue));
+ sb.Append($"tx:{transactionId};");
sb.Append(message);
_queue.Enqueue(sb.ToString());
Console.WriteLine("message sent");
@@ -46,7 +50,7 @@ private static async Task Receive()
Console.WriteLine("Retrying to receive");
}
- var headers = Parse(result, out var content);
+ var headers = Parse(result, out var content, out var transactionId);
Console.WriteLine($"Parsed {headers.Count} headers");
var extractor = new SpanContextExtractor();
var extractedContext = extractor.ExtractIncludingDsm(
@@ -65,18 +69,25 @@ private static async Task Receive()
nameof(_queue));
using var scope = Tracer.Instance.StartActive("Samples.DataStreams.ManualAPI.Receive", new SpanCreationSettings { Parent = extractedContext });
+ if (transactionId is not null)
+ {
+ Datadog.Trace.DataStreams.TrackTransaction(scope.Span, transactionId, "queue-consume");
+ }
+
Console.WriteLine("Done");
return content;
}
/// headers and message
- private static Dictionary Parse(string raw, out string msg)
+ private static Dictionary Parse(string raw, out string msg, out string transactionId)
{
var content = raw.Split(separator: ';');
- var headers = content
- .Take(content.Length - 1) // SkipLast() is unavailable in older versions that we are testing on
- .Select(s => s.Split(separator: ':'))
- .ToDictionary(a => a[0], a => a[1]);
+ var pairs = content
+ .Take(content.Length - 1) // SkipLast() is unavailable in older versions that we are testing on
+ .Select(s => s.Split(separator: ':'))
+ .ToDictionary(a => a[0], a => a[1]);
+ pairs.TryGetValue("tx", out transactionId);
+ var headers = pairs.Where(kv => kv.Key != "tx").ToDictionary(kv => kv.Key, kv => kv.Value);
msg = content.Last();
return headers;
}