使用xperf我可以生成一个跟踪并获得所有文件的“平面”列表,如下所示:
xperf -on FileIO + FILE_IO + FILE_IO_INIT + FILENAME -stackwalk FileRead + FileWrite + FileDelete
xperf -start FileIOSession -heap -PidNewProcess“C:\ Python27 \ x86 \ python.exe scratchy.py”-WaitForNewProcess -BufferSize 1024 -MinBuffers 128 -MaxBuffers 512 -stackwalk HeapAlloc + HeapRealloc -f ./tempheap.etl < / p>
xperf -stop FileIOSession -stop -d fileio.etl
xperf -i fileio.etl -o fio_output.txt -a filename
不幸的是,fio_output.txt文件包含一个可以访问的文件列表(来自我的Web浏览器,IDE等)。更令人沮丧的是,如果我手动打开xperfview并打开文件I / O摘要表,我可以看到我的进程(在这种情况下为python.exe)和它读取的一个文件(用于测试目的)但似乎无法找到在CLI上输出相同数据的方法,这是我需要的 - 一种生成文件访问信息的无人值守的自动方法。
答案 0 :(得分:1)
如果要查看此数据,则应将跟踪加载到WPA中,打开文件I / O表,并相应地排列列。由于您希望按进程分组,因此首先应该包含进程列,然后是橙色条,然后是所需的任何数据列。
如果要导出数据以编程方式解析它,那么应该使用WPT 8.1中的wpaexporter.exe。请参阅我写的博客文章,描述如何执行此操作: https://randomascii.wordpress.com/2013/11/04/exporting-arbitrary-data-from-xperf-etl-files/ 使用wpaexporter可以准确地确定要导出的数据列,而不是受xperf.exe为您提供的有限的跟踪处理操作集约束。
答案 1 :(得分:0)
我怀疑你可以从tracerpt.exe获取这些数据 - 我试试看