Add profiling to selected DAs

This commit is contained in:
2025-04-11 17:07:48 -04:00
parent acbd29948a
commit b0075feee9
4 changed files with 67 additions and 26 deletions

View File

@@ -12,10 +12,10 @@ namespace MarketData.Utils
/// <summary>SQlUtils - SQL utility class</summary>
public class SqlUtils
{
public static int COMMAND_TIMEOUT=300;
public static int MIN_POOL_SIZE=10;
public static int MAX_POOL_SIZE=50;
public static string COLLATION="utf8mb4_unicode_ci";
private static readonly int MIN_POOL_SIZE=10;
private static readonly int MAX_POOL_SIZE=100;
public static readonly int COMMAND_TIMEOUT=300; // seconds
private static readonly int CONNECTION_TIMEOUT=300; // seconds
/// <summary>CreateMySqlConnection - Creates an SQL connection.</summary>
/// <param name="datasource">datasource.</param>
@@ -40,13 +40,12 @@ namespace MarketData.Utils
sb.Append("MinimumPoolSize=").Append(MIN_POOL_SIZE).Append(";");
sb.Append("MaximumPoolSize=").Append(MAX_POOL_SIZE).Append(";");
sb.Append("allow user variables=").Append("true").Append("; ");
sb.Append("default command timeout=").Append("300").Append("; ");
sb.Append("connect timeout=").Append("300").Append(";");
sb.Append("default command timeout=").Append(COMMAND_TIMEOUT).Append("; ");
sb.Append("connect timeout=").Append(CONNECTION_TIMEOUT).Append(";");
sb.Append("charset=").Append("utf8mb4").Append(" ");
connectionString=sb.ToString();
MySqlConnection connection=new MySqlConnection(connectionString);
connection.Open();
//SetConnectionCollation(connection);
return connection;
}
catch(Exception exception)
@@ -74,8 +73,8 @@ namespace MarketData.Utils
sb.Append("SslMode=").Append("None").Append("; ");
sb.Append("pooling=").Append("true").Append(";");
sb.Append("allow user variables=").Append("true").Append("; ");
sb.Append("default command timeout=").Append("300").Append("; ");
sb.Append("connect timeout=").Append("300").Append(";");
sb.Append("default command timeout=").Append(COMMAND_TIMEOUT).Append("; ");
sb.Append("connect timeout=").Append(CONNECTION_TIMEOUT).Append(";");
sb.Append("MinimumPoolSize=").Append(MIN_POOL_SIZE).Append(";");
sb.Append("MaximumPoolSize=").Append(MAX_POOL_SIZE).Append(";");
sb.Append("charset=").Append("utf8mb4").Append(" ");
@@ -193,7 +192,7 @@ namespace MarketData.Utils
sb.Append(")");
return sb.ToString();
}
//
public static String CreateInClause(List<int> list)
{
StringBuilder sb = new StringBuilder();
@@ -243,21 +242,5 @@ namespace MarketData.Utils
{
return SqlString(value,true);
}
public static string Set(string name,string value)
{
StringBuilder sb=new StringBuilder();
sb.Append("SET ").Append(name).Append("=").Append(AddQuotes(value)).Append(" ").Append(Collation()).Append(";");
return sb.ToString();
}
public static string Set(string name,DateTime date)
{
StringBuilder sb=new StringBuilder();
sb.Append("SET ").Append(name).Append("=").Append(SqlDate(date,true)).Append(" ").Append(Collation()).Append(";");
return sb.ToString();
}
private static string Collation()
{
return "COLLATE "+COLLATION;
}
}
}