in src/TriggersBinding/MySqlTriggerScaleMonitor.cs [24:35]
public MySqlTriggerScaleMonitor(string userFunctionId, MySqlObject userTable, string userDefinedLeasesTableName, string connectionString, int maxChangesPerWorker, ILogger logger)
{
_ = !string.IsNullOrEmpty(userFunctionId) ? true : throw new ArgumentNullException(userFunctionId);
_ = userTable != null ? true : throw new ArgumentNullException(nameof(userTable));
this._userTable = userTable;
// Do not convert the scale-monitor ID to lower-case string since MySQL table names can be case-sensitive
// depending on the collation of the current database.
this.Descriptor = new ScaleMonitorDescriptor($"{userFunctionId}-MySqlTrigger-{this._userTable.FullName}", userFunctionId);
this._metricsProvider = new MySqlTriggerMetricsProvider(connectionString, logger, this._userTable, userFunctionId, userDefinedLeasesTableName);
this._logger = logger ?? throw new ArgumentNullException(nameof(logger));
this._maxChangesPerWorker = maxChangesPerWorker;
}