我正在使用 logparser.exe
( http://www.microsoft.com/en-us/download/details.aspx?id=24659 ) 来处理捕获的跟踪(在 .etl
文件中)。然而,输出并不能证明我所知道的记录在 .etl
文件中的高分辨率时间戳。
输出仅吐出最多秒的时间戳(即2014-07-24 18:52:39
)
最佳答案
回答我自己的问题:
Logparser.exe 默认设置时间戳格式以排除毫秒/纳秒。您有两种选择来查看更高分辨率的时间戳:
1。使用 TO_STRING(Timestamp, 'HH:mm:ss.ln')
详细转换您的特定字段。示例用法如下:
c:>"c:\Program Files (x86)\Log Parser 2.2\LogParser.exe" -i:ETW -o:CSV "SELECT TO_STRING(Timestamp, 'HH:mm:ss.ln') AS Timestamp, EventTypeName FROM 'c:\PerfLogs\ASP\LocalSystem\20140724-000003\Verbose Trace.etl'" > verbose.csv
2。使用 -oTsFormat
参数更改所有时间戳输出,无论哪个字段:
c:>"c:\Program Files (x86)\Log Parser 2.2\LogParser.exe" -i:ETW -o:CSV -oTsFormat "HH:mm: ss.ln" "SELECT * FROM 'c:\PerfLogs\ASP\LocalSystem\20140724-000003\Verbose Trace.etl'" > verbose.csv
时间格式字符串:
此处列出了更多时间格式字符串:http://strivinglife.com/words/post/Microsoft-Log-Parser-timestamp-formats
- HH - 小时
- mm - 分钟
- ss - 秒
- l - 毫秒
- n - 纳秒
关于logparser - 将 Logparser.exe 与 .etl 文件一起使用 - 无法检索高分辨率时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24959254/