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); }