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); }
private async Task <ContentResult> getPrometheusContent(string filter) { ContentResult content; var processor = ServiceProcessor.DataItemRegexPrometheusProcessor; { var dump = new HWiNFOProvider(); } var processingTasks = Services.Select(item => processor(item, null)); await Task.WhenAll(processingTasks); var processingResults = processingTasks.Select(item => item.Result).ToArray(); var validMimeType = System.Net.Mime.MediaTypeNames.Text.Plain; var invalidMimes = processingResults.Where(item => item.mimeType != validMimeType).Select(item => item.mimeType) .Distinct() .OrderBy(item => item) .ToArray(); if (invalidMimes.Any()) { string errorList = String.Join(", ", invalidMimes); throw new NotSupportedException($"Not supported mime type(s): {errorList}"); } IEnumerable <string> combinedResults = processingResults .Select(item => item.data as string) .Where(item => item != null) .SelectMany(item => item.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries)) .ToArray(); if (filter != null && filter.ToLower() != DebugFilterName) { combinedResults = combinedResults.Where(item => item.Contains(filter, StringComparison.InvariantCultureIgnoreCase)); } const string ProperLineEnd = "\n"; var textContent = String.Join(ProperLineEnd, combinedResults); if (!textContent.EndsWith(ProperLineEnd)) { textContent += ProperLineEnd; } content = Content(textContent); return(content); }
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); }
public async Task ServiceProcessorMemoryLeakTestHWInfoRaw() { (string mimeType, object data)result = (null, null); for (int i = 0; i < 100000; i++) { var provider = new HWiNFOProvider(); await provider.Open(); await provider.GetDataItems(); await provider.Close(); Debug.WriteLine($"Current loop: {i}"); } var textDump = result.data?.ToString(); var metricDump = String.Join(Environment.NewLine, textDump); }