in src/Microsoft.Azure.WebJobs.Extensions.Kafka/Listeners/Scaler/KafkaGenericTargetScaler.cs [25:48]
internal KafkaGenericTargetScaler(string topic, string consumerGroup, string functionID, IConsumer<Tkey, TValue> consumer, KafkaMetricsProvider<Tkey, TValue> metricsProvider, long lagThreshold, ILogger logger)
{
if (string.IsNullOrWhiteSpace(topic))
{
throw new ArgumentException("Invalid topic: ", nameof(topic));
}
if (string.IsNullOrWhiteSpace(consumerGroup))
{
throw new ArgumentException("Invalid consumer group: ", nameof(consumerGroup));
}
topicName = topic;
this.consumerGroup = consumerGroup;
TargetScalerDescriptor = new TargetScalerDescriptor(functionID);
this.lagThreshold = lagThreshold;
this.logger = logger;
this.metricsProvider = metricsProvider;
lastScaleUpTime = DateTime.MinValue;
lastTargetScalerResult = null;
this.logger.LogInformation($"Started Target Scaler - topic name: {topicName}, consumerGroup: {consumerGroup}, functionID: {functionID}, lagThreshold: {lagThreshold}.");
}