private static string BuildSubsegmentName()

in src/sdk/Utils/SqlRequestUtil.cs [158:195]


        private static string BuildSubsegmentName(DbCommand command)
            => command.Connection.Database + "@" + RemovePortNumberFromDataSource(command.Connection.DataSource);

        /// <summary>
        /// Check if subsegment should collect Sql command text.
        /// </summary>
#if !NET45
        internal static bool ShouldCollectSqlText()
            => AWSXRayRecorder.Instance.XRayOptions.CollectSqlQueries;
#else
        internal static bool ShouldCollectSqlText()
            => AppSettings.CollectSqlQueries;
#endif

        /// <summary>
        /// Check if it's within an ef core subsegment, if so, skip it
        /// </summary>
        internal static bool IsTraceable()
        {
            try
            {
                var subsegment = AWSXRayRecorder.Instance.GetEntity() as Subsegment;
                if (subsegment == null || subsegment.Sql == null)
                {
                    return true;
                }
                if (subsegment.IsInProgress && subsegment.Sql.Count > 0)
                {
                    return false;
                }
            }
            catch (EntityNotAvailableException e)
            {
                AWSXRayRecorder.Instance.TraceContext.HandleEntityMissing(AWSXRayRecorder.Instance, e, "Failed to get entity since it is not available in trace context.");
            }
            
            return true;
        }