Как читать файлы .ETL в .Net? - PullRequest
3 голосов
/ 29 мая 2011

Как читать файлы .ETL в .Net? Я хочу видеть мой файл etl в виде списка, но не могу разобрать содержимое файла, так как оно не ascii.

Ответы [ 2 ]

2 голосов
/ 29 мая 2011

Не берите в голову, я понял это, используя различные поиски Google. вот как я это сделал:

    //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");
2 голосов
/ 29 мая 2011

Возможно, вы могли бы использовать функции P / Invoke и WinAPI OpenTrace и ProcessTrace. См. MSDN для примера кода в C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...