我该怎么读书.中的ETL文件网

本文关键字:ETL 文件 中的 读书 | 更新日期: 2023-09-27 17:57:50

如何阅读。中的ETL文件。网我想在列表视图中查看我的etl文件,但我无法解析文件的内容,因为它不是ascii。

我该怎么读书.中的ETL文件网

没关系,我是通过各种谷歌搜索找到的。我就是这样做的:

    //Init
    System.Diagnostics.Process worker = new System.Diagnostics.Process();
    //Start logging
    worker.StartInfo.FileName="logman";
    worker.StartInfo.Arguments="start MyTcpipLog -p Microsoft-Windows-TCPIP -ets";
    worker.Start();
    worker.WaitForExit();
    //Do nothing for 30 seconds
    DateTime start = DateTime.Now;
    while(DateTime.Now.Subtract(start).Seconds<5){}
    //Stop logging
    worker.StartInfo.FileName="logman";
    worker.StartInfo.Arguments="stop MyTcpipLog -ets";
    worker.Start();
    worker.WaitForExit();
    //Convert .etl to .csv
    worker.StartInfo.FileName="tracerpt";
    worker.StartInfo.Arguments = "'""+System.IO.Path.GetDirectoryName(Application.ExecutablePath)+"''MyTcpipLog.etl'" -o '""+System.IO.Path.GetDirectoryName(Application.ExecutablePath)+"''MyTcpipLog.csv'"";
    worker.Start();
    worker.WaitForExit();
    //Load CSV into memory
    // create reader & open file
    System.IO.TextReader tr = new System.IO.StreamReader("MyTcpipLog.csv");
    string data = tr.ReadToEnd();
    tr.Close();
    //Delete CSV
    System.IO.File.Delete("MyTcpipLog.etl");
    System.IO.File.Delete("MyTcpipLog.csv");

您可能会使用p/Invoke以及WinAPI OpenTrace和ProcessTrace函数。有关C.中的一些示例代码,请参阅MSDN