Ejemplo n.º 1
0
        public async override Task <bool> InvokeAsync(string paramList)
        {
            var index = 0;

            var addAnother = true;
            var collectors = new List <ICounter>();

            while (addAnother)
            {
                var categoryNames = _counterBusiness.GetCategoryNames();
                var categoryName  = QueryParam("Category", GetParam(paramList, index++), categoryNames.Select(x => new KeyValuePair <string, string>(x, x)));

                var counterNames = _counterBusiness.GetCounterNames(categoryName);
                var counterName  = QueryParam("Counter", GetParam(paramList, index++), counterNames.Select(x => new KeyValuePair <string, string>(x, x)));

                string instanceName = null;
                var    cat          = new PerformanceCounterCategory(categoryName);
                if (cat.CategoryType == PerformanceCounterCategoryType.MultiInstance)
                {
                    var instanceNames = _counterBusiness.GetInstances(categoryName, counterName);
                    instanceName = QueryParam("Instance", GetParam(paramList, index++), instanceNames.Select(x => new KeyValuePair <string, string>(x, x)));
                }

                addAnother = QueryParam("Add another counter?", GetParam(paramList, index++), new Dictionary <bool, string> {
                    { true, "Yes" }, { false, "No" }
                });

                var collector = new Collector.Entities.Counter(categoryName, counterName, instanceName, null, null);
                collectors.Add(collector);
            }

            var groupName       = QueryParam <string>("Group Name", GetParam(paramList, index++));
            var secondsInterval = QueryParam <int>("Seconds Interval", GetParam(paramList, index++));

            var refreshInstanceInterval = 0;

            if (collectors.Any(x => x.InstanceName.Contains("*") || x.InstanceName.Contains("?")))
            {
                refreshInstanceInterval = QueryParam <int>("Refresh Instance Interval", GetParam(paramList, index++));
            }

            var collectorEngineType = QueryParam("Collector Engine Type", GetParam(paramList, index++), new Dictionary <CollectorEngineType, string> {
                { CollectorEngineType.Safe, CollectorEngineType.Safe.ToString() }, { CollectorEngineType.Exact, CollectorEngineType.Exact.ToString() }
            });

            var initaiteBusiness = new DataInitiator(_configBusiness, _counterBusiness);
            var response         = initaiteBusiness.CreateCounter(groupName, secondsInterval, refreshInstanceInterval, collectors, collectorEngineType);

            OutputLine(response.Item2.Item1, response.Item2.Item2);

            TestNewCounterGroup(response.Item1);

            return(false);
        }
Ejemplo n.º 2
0
        public override async Task <bool> InvokeAsync(string paramList)
        {
            var initaiteBusiness = new DataInitiator(_configBusiness, _counterBusiness);
            var messages         = initaiteBusiness.CreateAll();

            foreach (var message in messages)
            {
                OutputLine(message.Item1, message.Item2);
            }

            return(true);
        }
Ejemplo n.º 3
0
        private bool InitiateDefaultCounters()
        {
            var initaiteBusiness = new DataInitiator(_configBusiness, _counterBusiness);
            var messages         = initaiteBusiness.CreateAll();
            var someIssue        = false;

            foreach (var message in messages)
            {
                OutputLine(message.Item1, message.Item2);

                if (message.Item2 == OutputLevel.Error)
                {
                    someIssue = true;
                }
            }

            return(!someIssue);
        }
Ejemplo n.º 4
0
        public static void Main(string[] args)
        {
            var host = BuildWebHost(args);

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;
                try
                {
                    var context = services.GetRequiredService <OnlineStoreDbContext>();
                    DataInitiator.Initialize(context);
                }
                catch (Exception ex)
                {
                    var logger = services.GetRequiredService <ILogger <Program> >();
                    logger.LogError(ex, "An error occurred while using DataInitiator.");
                }
            }

            host.Run();
        }