public void AddProvider(IReporterProvider provider) { lock (_syncLock) { _providers.Add(provider.GetType(), provider); } }
public void AddProvider(IReporterProvider provider) { if (CheckDisposed()) { throw new ObjectDisposedException(nameof(ReportFactory)); } lock (_syncLock) { _providers.Add(provider.GetType(), provider); } }
private Task ScheduleReport(IMetrics context, CancellationToken token, KeyValuePair <Type, IMetricReporter> metricReporter, ILogger logger, IReporterProvider provider, IReporterSettings settings) { return(_scheduler.Interval(metricReporter.Value.ReportInterval, async() => { var startTimestamp = _logger.IsEnabled(LogLevel.Information) ? Stopwatch.GetTimestamp() : 0; logger.ReportedStarted(metricReporter.Value); await _reportGenerator.Generate(metricReporter.Value, context, provider.Filter, token); logger.ReportRan(metricReporter.Value, startTimestamp); }, token)); }
private Task ScheduleReport( IMetrics context, CancellationToken token, KeyValuePair <Type, IMetricReporter> metricReporter, IReporterProvider provider) { return(_scheduler.Interval( metricReporter.Value.ReportInterval, TaskCreationOptions.LongRunning, async() => { try { var result = await _reportGenerator.GenerateAsync( metricReporter.Value, context, provider.Filter, token); if (result) { _metrics.Measure.Counter.Increment(_successCounter, metricReporter.Key.Name); } else { _metrics.Measure.Counter.Increment(_failedCounter, metricReporter.Key.Name); _logger.ReportFailed(metricReporter.Value); } } catch (Exception ex) { _metrics.Measure.Counter.Increment(_failedCounter, metricReporter.Key.Name); _logger.ReportFailed(metricReporter.Value, ex); } }, token)); }
private static void Compare(CommandLineOptions args, IResultsComparerProvider comparerProvider, IReporterProvider reporterProvider) { try { IResultsComparer comparer = string.IsNullOrEmpty(args.Comparer) ? comparerProvider.GetForFile(args.BasePath) : comparerProvider.GetById(args.Comparer); Console.WriteLine($"Comparer selected: {comparer.Name}\n"); ComparerOptions options = new() { StatisticalTestThreshold = args.StatisticalTestThreshold, NoiseThreshold = args.NoiseThreshold, FullId = args.FullId, TopCount = args.TopCount, Filters = args.Filters, Metric = args.Metric }; ComparerResults results = comparer.CompareResults(args.BasePath, args.DiffPath, options); IReporter reporter = reporterProvider.GetDefault(); Stream output = Console.OpenStandardOutput(); reporter.GenerateReport(results, output, options, leaveStreamOpen: true); } catch (Exception ex) { Console.Error.WriteLine($"Error: {ex.Message}"); } }
public void AddProvider(IReporterProvider provider) { }