in src/sdk/Utils/SqlRequestUtil.cs [68:94]
internal static void ProcessEventData(EventWrittenEventArgs sqlEventData)
{
int id = Convert.ToInt32(sqlEventData.Payload[0], CultureInfo.InvariantCulture);
string dataSource = Convert.ToString(sqlEventData.Payload[1], CultureInfo.InvariantCulture);
string database = Convert.ToString(sqlEventData.Payload[2], CultureInfo.InvariantCulture);
string commandText = Convert.ToString(sqlEventData.Payload[3], CultureInfo.InvariantCulture);
if (string.IsNullOrEmpty(database) || string.IsNullOrEmpty(dataSource))
{
return;
}
string subsegmentName = database + "@" + RemovePortNumberFromDataSource(dataSource);
var recorder = AWSXRayRecorder.Instance;
recorder.BeginSubsegment(subsegmentName);
recorder.SetNamespace("remote");
recorder.AddSqlInformation("database_type", "sqlserver");
if (ShouldCollectSqlText())
{
if (!string.IsNullOrEmpty(commandText))
{
recorder.AddSqlInformation("sanitized_query", commandText);
}
}
}