in Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/Trigger/CosmosDBMongoScalerProvider.cs [17:36]
public CosmosDBMongoScalerProvider(IServiceProvider serviceProvider, TriggerMetadata triggerMetadata)
{
CosmosDBMongoTriggerMetadata cosmosDBMongoTriggerMetadata = JsonConvert.DeserializeObject<CosmosDBMongoTriggerMetadata>(triggerMetadata.Metadata.ToString());
ILoggerFactory loggerFactory = serviceProvider.GetService<ILoggerFactory>();
_scaleMonitor = new CosmosDBMongoScaleMonitor(
cosmosDBMongoTriggerMetadata.FunctionName,
cosmosDBMongoTriggerMetadata.DatabaseName,
cosmosDBMongoTriggerMetadata.CollectionName,
loggerFactory,
maxWorkPerInstance: cosmosDBMongoTriggerMetadata.MaxWorkPerInstance,
minSampleCount: cosmosDBMongoTriggerMetadata.MinSampleCount);
_targetScaler = new CosmosDBMongoTargetScaler(
cosmosDBMongoTriggerMetadata.FunctionName,
cosmosDBMongoTriggerMetadata.DatabaseName,
cosmosDBMongoTriggerMetadata.CollectionName,
loggerFactory,
maxWorkPerInstance: cosmosDBMongoTriggerMetadata.MaxWorkPerInstance,
maxWorkInstance: cosmosDBMongoTriggerMetadata.MaxInstanceCount);
}