Exemple #1
0
        private async Task initServiceCache()
        {
            string       prefix;
            var          configuredPrefix = Configuration?["PrometheusMetricPrefix"];
            const string defaultPrefix    = "hwi_";

            if (String.IsNullOrEmpty(configuredPrefix))
            {
                _logger.LogWarning($"No prefix defined in configuration; defaulting to {defaultPrefix}");
                prefix = defaultPrefix;
            }
            else
            {
                prefix = configuredPrefix;
            }

            var serviceProcessor = new ServiceProcessor();

            serviceProcessor.InitializeProcessors(prefix);
            Prefix = prefix;

            ServiceProcessor = serviceProcessor;
            var services = await ServiceProcessor.GetServices(Assembly.GetExecutingAssembly());

            Services = services;
            _logger?.Log(LogLevel.Information, "Cache Initialized");
        }
 public async Task DataItemRegexPrometheusProcessorTest()
 {
     (string mimeType, object data)result = (null, null);
     for (int i = 0; i < 1000; i++)
     {
         var serviceProcessor = new ServiceProcessor();
         serviceProcessor.InitializeProcessors();
         var processor = serviceProcessor.DataItemRegexPrometheusProcessor;
         var service   = new HWiNFOProvider();
         result = await processor(service, null);
     }
     var metricDump = String.Join(Environment.NewLine, result);
 }
        public async Task ServiceProcessorMemoryLeakTestHWInfo()
        {
            (string mimeType, object data)result = (null, null);
            for (int i = 0; i < 10000; i++)
            {
                var serviceProcessor = new ServiceProcessor();
                serviceProcessor.InitializeProcessors();
                var processor = serviceProcessor.DataItemRegexPrometheusProcessor;
                var service   = new HWiNFOProvider();
                result = await processor(service, null);

                Debug.WriteLine($"Current loop: {i}");
            }
            var textDump   = result.data?.ToString();
            var metricDump = String.Join(Environment.NewLine, textDump);
        }