public virtual void Configure(ConfigParams config)
        {
            _configParams = config;

            Enabled       = config.GetAsBooleanWithDefault("parameters.enabled", true);
            TimerInterval = config.GetAsNullableInteger("parameters.timer_interval") ?? DefaultTimerInterval;
            DelayInterval = config.GetAsNullableInteger("parameters.delay_interval") ?? DefaultDelayInterval;

            MinimumThroughput = config.GetAsNullableInteger("parameters.minimum_throughput") ?? DefaultMinimumThroughput;
            MaximumThroughput = config.GetAsNullableInteger("parameters.maximum_throughput") ?? DefaultMaximumThroughput;
            GrowthRate        = config.GetAsNullableDouble("parameters.growth_rate") ?? DefaultGrowthRate;

            ResourceGroup = config.GetAsString("parameters.resource_group");
            ConnectionUri = config.GetAsString("parameters.connection_uri");
        }
Beispiel #2
0
        public virtual void Configure(ConfigParams config)
        {
            Enabled       = config.GetAsBooleanWithDefault("parameters.enabled", true);
            TimerInterval = config.GetAsNullableInteger("parameters.timer_interval") ?? DefaultTimerInterval;
            DelayInterval = config.GetAsNullableInteger("parameters.delay_interval") ?? DefaultDelayInterval;

            MinimumThroughput = config.GetAsNullableInteger("parameters.minimum_throughput") ?? DefaultMinimumThroughput;
            MaximumThroughput = config.GetAsNullableInteger("parameters.maximum_throughput") ?? DefaultMaximumThroughput;
            GrowthRate        = config.GetAsNullableDouble("parameters.growth_rate") ?? DefaultGrowthRate;

            ResourceGroup = config.GetAsString("parameters.resource_group");
            ConnectionUri = config.GetAsString("parameters.connection_uri");

            var mongoDbConnectionUrl = new MongoUrlBuilder(ConnectionUri);

            AccountName  = mongoDbConnectionUrl.Username;
            AccessKey    = mongoDbConnectionUrl.Password;
            DatabaseName = mongoDbConnectionUrl.DatabaseName;

            _timer = new FixedRateTimer(PerformMonitorAsync, TimerInterval, DelayInterval);
        }