in src/sdk/Sql/SqlEventListener.cs [93:119]
private void OnEventStart(EventWrittenEventArgs sqlEventData)
{
if (sqlEventData.Payload.Count != 4)
{
return;
}
// Skip EF request
if (SqlRequestUtil.IsTraceable())
{
SqlRequestUtil.ProcessEventData(sqlEventData);
try
{
var currentSubsegment = _recorder.GetEntity() as Subsegment;
int id = Convert.ToInt32(sqlEventData.Payload[0], CultureInfo.InvariantCulture);
if (currentSubsegment != null)
{
CurrentSqlEvents.TryAdd(id, currentSubsegment);
}
}
catch (EntityNotAvailableException e)
{
AWSXRayRecorder.Instance.TraceContext.HandleEntityMissing(AWSXRayRecorder.Instance, e, "Subsegment is not available in trace context.");
}
}
}