static async Task Main(string[] args)
        {
            Console.WriteLine("Starting...");

            var sw = Stopwatch.StartNew();

            var generateCount = 150_000_000;

            var messages = CreateRandomDataLazy(generateCount);

            try
            {
//                var script = new LoaderBuilder()
//                             .WithJsonSerializer("newtonsoft")
//                             .WithScriptFor("postgres")
//                             .WithScriptConfig(new ScriptConfig { TimeToWrite = TimeSpan.FromMinutes(60), ParallelsCount = 200, GetBatchSize = 1000})
//                             .Build();

                var script = new LoaderBuilder()
                             .WithJsonSerializer("newtonsoft")
                             .WithScriptFor("aerospike")
                             .WithScriptConfig(new ScriptConfig {
                    TimeToWrite = TimeSpan.FromMinutes(60), WriteParallelsCount = 200, GetBatchSize = 5
                })
                             .Build();

//                var script = new LoaderBuilder()
//                             .WithJsonSerializer("newtonsoft")
//                             .WithScriptFor("kafka")
//                             .WithScriptConfig(new ScriptConfig { TimeToWrite = TimeSpan.FromMinutes(1), WriteParallelsCount = 1, GetBatchSize = 1000})
//                             .Build();

//                var script = new LoaderBuilder()
//                             .WithJsonSerializer("newtonsoft")
//                             .WithScriptFor("tarantool")
//                             .WithScriptConfig(new ScriptConfig { TimeToWrite = TimeSpan.FromMinutes(1), WriteParallelsCount = 200, GetBatchSize = 1000})
//                             .Build();

                await script.Run(messages, CancellationToken.None);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            var measurementsResult = TelemetryService.GetMeasurementsResult();

            measurementsResult.ForEach(Console.WriteLine);
            TelemetryService.DumpRawData();

            sw.Stop();

            Console.WriteLine($"End in {sw.Elapsed}");
            Console.ReadLine();
        }