コード例 #1
0
ファイル: Reporter.cs プロジェクト: vostok/snoopdog
        public Report Report(ClrRuntime runtime)
        {
            var report = new Report();

            report.Stats = StatCollectors
                           .Select(s => s(runtime))
                           .Concat(
                MultiStatCollectors
                .SelectMany(c => c(runtime)))
                           .Concat(BuildHeapStats(runtime))
                           .ToList();

            report.Metrics = MetricCollectors
                             .Select(m => m(runtime))
                             .Concat(
                MultiMetricCollectors
                .SelectMany(c => c(runtime, report)))
                             .ToList();

            report.Issues = Detectors.SelectMany(d => d(runtime, report)).ToList();

            return(report);
        }
コード例 #2
0
ファイル: Reporter.cs プロジェクト: vostok/snoopdog
 public Reporter RegisterMultiStat(Func <ClrRuntime, IEnumerable <Stat> > statCollectors)
 {
     MultiStatCollectors.Add(statCollectors);
     return(this);
 }