有没有办法减少blg文件(性能计数器)的读取时间?

时间:2018-01-27 15:54:03

标签: c# performancecounter tx

我正在使用Tx.Windows nuget包来阅读效果计数器blg文件。

https://github.com/Microsoft/Tx

对于小尺寸文件,下面代码的结果非常直接,但随着文件大小的增加,读取时间也会增加。使用大文件(比如500MB),文件读取所用的时间非常长。

有没有办法减少文件读取时间?

using System;
using System.Linq;
using System.Reactive.Linq;
using Tx.Windows;

namespace ConsoleApp3
{
class Program
{
    static void Main(string[] args)
    {
        var observable = PerfCounterObservable.FromFile(@"C:\Files\test.blg");

        var grouped = from a in observable
                      group a by new { a.Machine, a.Instance, a.Timestamp } into groups
                      from g in groups.ToArray()
                      select new
                      {
                          groups.Key.Machine,
                          groups.Key.Instance,
                          groups.Key.Timestamp,
                          Counters = g
                      };

        var all = grouped.ToEnumerable().ToArray();

        Console.ReadLine();
    }
}
}

Microsoft Tx github位置的样本blg文件,

https://github.com/Microsoft/Tx/blob/master/Traces/BasicPerfCounters.blg

和测试代码,

https://github.com/Microsoft/Tx/blob/master/Test/Tx.Windows.Tests/PerfCounterTest.cs

0 个答案:

没有答案