问题标签 [wpr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1338 浏览

windows-8.1 - 仅为提供程序中的某些特定 ETW 任务激活堆栈?

从 Windows 7 开始,可以为用户模式事件激活调用堆栈。这很好用,但有时不需要为提供程序中的所有任务/事件激活堆栈,最好只为某些特定任务激活堆栈。这可能吗?

0 投票
1 回答
1081 浏览

windows - 用于 guid 的 logman 查询提供程序

我正在为调查性能问题创建一个诊断捕获计划。我们将使用 Windows 性能记录器来捕获 FileIO 和网络指标。但是,我正在努力解决一个特定的细节。

我想使用 WPR 配置文件网络。我可以使用 wpr -profiledetails Network 列出配置文件详细信息。输出包括提供者和关键字。大多数提供程序都有名称,因此我可以使用 logman 查询提供程序 -n _provider_name_ 显示关键字详细信息。一些提供者没有名字,例如

36b6f488-aad7-48c2-afe3-d4ec2c8b46fa: 0x10000: 0xff

如何显示关键字的含义?

谢谢和问候......保罗

0 投票
1 回答
427 浏览

callstack - 为什么“通用事件”没有调用堆栈

我确实读过

在 Xperf 中捕获调用堆栈和事件

和其他来源,但我想做的最直接的事情就是在 WPA 的“通用事件”图中显示“堆栈”列。

WPA,通用事件图

为什么不存在?当然,因为堆栈信息不可用,但为什么呢?我确实知道“xperf -help stackwalk”,但列出的不是我想要的。例如,

无法获取网络事件的调用堆栈。为什么?我肯定错过了什么。谢谢!

0 投票
1 回答
1656 浏览

logging - 如何在 Windows 10 通用应用程序中创建自定义 wpr 配置文件

我需要在 Windows 10 中创建文件日志记录模式。为此,我需要在 Windows 10 通用应用程序中创建自定义配置文件,以便我可以将默认日志记录模式从内存更改为文件,并更改缓冲区设置。

请帮忙。

0 投票
1 回答
317 浏览

windows - 如何更改 WPR 跟踪文件名称?

我是 Windows 性能记录器 (WPR) 的新手,想知道在运行 RebootCycle 时是否可以更改跟踪文件的名称。

我现在使用的命令是:

wpr -start GeneralProfile -filemode -onoffscenario RebootCycle -onoffresultspath C:\traces -numiterations 1

使用上述命令,WPR 生成启动和关闭跟踪文件,文件名格式如下:

机器名称.Date.Time.RebootCycle_1.Boot.etl

这会导致每次运行命令时跟踪文件都具有不同的名称,但我希望具有预定义的名称,例如boot.etlshutdown.etl。我怎样才能做到这一点?

0 投票
2 回答
499 浏览

wpr - 有没有办法从 Windows 性能记录器跟踪 (WPR) 中提取实际调用堆栈地址?

根据https://randomascii.wordpress.com/2013/11/04/exporting-arbitrary-data-from-xperf-etl-files/, wpaexporter.exe 应该是这样做的正确工具。

我设法用正确的数据准备了一个配置文件,但不幸的是,wpaexporter 一直在尝试翻译地址,即使没有将“-symbols”提供给命令行,也会产生一些无用的

警告。

这很烦人,因为我们的应用程序的一部分使用了一些无法生成 Microsoft 兼容格式的符号的 Delphi 代码。有了地址,我们就可以使用映射文件在调用堆栈中找到 Delphi 符号。

有没有办法从 wpr 跟踪中提取调用堆栈地址?

0 投票
1 回答
452 浏览

trace - 如何将 Windows 网络事件添加到我的自定义 wprp 文件?

我正在尝试使用我自己的事件和一些通用网络事件在 HoloLens 上捕获 etl 跟踪。在我的 PC 上使用 WPR,我可以选择Networking I/O activity,这将显示Microsoft-Windows-TCPIP我在 WPA 中分析时的事件。我无法弄清楚如何在 HoloLens 上查看这些事件,或者如何成功地将它们放入我的 wprp 文件中。即使在 Windows 上,我也尝试过以下操作但没有成功。我自己的活动工作正常。

0 投票
0 回答
107 浏览

windows - Xperf 通过快速启动周期

我需要编写一个小程序/脚本来运行 Xperf,以通过 Windows 快速启动(又名快速启动)周期收集某些 ETW 事件(操作系统和驱动程序)。

我如何能够保留我的程序和 xperf 进程,以便它们可以收集事件,直到操作系统休眠和操作系统再次初始化?Windows Performance Recorder (WPR) 可以做到这一点,但出于其他原因我需要自己编写。

0 投票
0 回答
2098 浏览

debug-symbols - Windows Performance Analyzer (WPA) 没有为我的 c# 应用程序解析符号

操作系统:Windows Server 2012 R2(也尝试过 Windows 10)

WPRUI/WPA 版本:10.0.16299.91

Visual Studio Community 2017 版本:15.6.6

.NET 版本:4.7

对于我认为非常简单的场景,我无法在 WPA 中加载符号。

  1. C# 控制台应用程序(称为 TestEtw - 二进制文件是 TestEtw.exe)
  2. ETL 文件
  3. NGENPDB 文件(由 WPRUI 输出)
  4. testetw 的 Symcache 文件 ( TestEtw.exe-f5dfdbac20df4e29879d1c9abbd2cda61v2.symcache )
  5. _NT_SYMBOL_PATH=c:\MySyms;srv*C:\Symbols*http://msdl.microsoft.com/download/symbols
    1. PDB 在项目的 bin 目录中,我在其中复制了一份c:\MySyms
  6. 在 WPA 中加载 ETL 文件并单击加载符号。您会发现 wpa 不会为 TestEtw.exe(前面提到的 C# 控制台应用程序)加载符号

在此处输入图像描述

我尝试了很多事情:

  1. 验证 symchk 可以通过运行找到符号: symchk c:\Users\Administrator\source\repos\TestEtw\TestEtw\bin\Debug\TestEtw.exe /v
    1. 它在 c:\MySyms\TestEtw.pdb 中找到符号
  2. 已验证c:\symcache实际包含一个 testetw 文件,并且其名称与 PDB 签名匹配: TestEtw.exe-f5dfdbac20df4e29879d1c9abbd2cda61v2.symcache
  3. 旧版本的 WPA(6.3.9600.16384 - 这是 winblue_rtm 版本)也不会加载这些符号
  4. 通过 Process Monitor 确认 WPA 确实为 TestEtw 打开了 symcache 文件。

因此,似乎 symcheck 可以找到 pdb,wpa 正在填充 symcache 甚至加载 symcache 文件,但 WPA UI 没有在 TestEtw 中显示符号。

任何帮助将不胜感激。谢谢!

0 投票
0 回答
36 浏览

windows - 在 xperf 输出中使用机器模式以通过自定义实用程序进一步解析有什么实质性好处?

所以我试图处理用 WPR 记录的性能数据并用 xperf 处理成 .csv 格式,它有两种模式,-target human-target machine,我可以看到不同之处在于机器模式似乎将事件从将相同的时间戳转换为一两行,但是在使用自定义外部实用程序解析此数据时,这是否有真正的好处?

我可以看到机器版本中的信息可能会少一些?

人类模式

机器模式: