并发可视化工具标记

在并发可视化工具中,标记是表示应用中事件的图标。 通常,应用生成这些事件以指定应用程序中的阶段或事件。 事件可由应用或应用使用的库和运行时生成。

标记种类

并发可视化工具使用三种类型的标记来表示应用程序事件:标志、消息和范围。

  1. 使用 标志 指示应用中有趣的时间点。 例如,可以使用标志来表示变量值已达到特定阈值或引发异常。

  2. 消息还会标记一个时间点,但你可以使用它进行日志样式跟踪。 例如,可能已转储到日志文件的内容,现在可以包装在消息调用中,以便跟踪它并在并发可视化工具中查看它。 还可以使用并发可视化工具将此数据导出到 CSV 文件。

  3. 时间段指应用中的一个时间间隔,例如一个阶段。

与线程的标记链接

生成标记的每个线程都有单独的时间线通道。 负责生成标记事件的线程的 ID 显示在标记通道的说明旁边。 标记通道左侧显示的 ID 与当前进程中另一个线程的 ID 匹配。

标记重要性

标记可以有四个重要性级别之一:低、正常、高和关键。 可以根据重要性级别筛选标记的来源。 例如,如果只想查看具有正常或关键重要性的特定源的标记,则可以在 “高级设置” 对话框中配置筛选器。 标记的重要性显示在其工具提示和 标记报表中。

标记类别

标记类别指示来自同一源的一组标记事件。 并发可视化工具使用颜色来区分不同类别的标志和范围。 可以将并发可视化工具配置为使用类别筛选特定事件提供程序中的标记事件。 使用 “高级设置” 对话框配置筛选器。

标记的已知来源

只要提供程序遵守某些约束,任何 ETW 提供程序都可以生成标记。 可以将并发可视化器配置为监听用于标记的额外事件源。 默认情况下,它会侦听这些事件源:

EventSource 中的标记

并发可视化工具还可以显示 EventSource 事件。 有关详细信息,请参阅 将 EventSource 事件可视化为标记

标志标记

标志标记表示应用中瞬间发生的内容。 标志可以表示多种应用程序事件。 例如,标记可以显示特定工作项被安排的时间或异常被引发的时间。 任务并行库等运行时还可以生成标志。

标志重要性

标志以不同的大小显示,具体取决于它们的重要性。 与任何标记一样,重要性可以是低、正常、高或关键。 此图按重要性级别显示标记的外观:

低、正常、高和关键重要性标记的插图。

标志类别

标志以五种不同颜色之一显示,具体取决于其类别。 如果存在五个以上的类别,则重复使用这些颜色。 不能选择颜色。 与任何标记一样,类别可以是任何整数。 下图显示了前五个类别的颜色。

类别标记的五种颜色的插图。

Alerts

警报是表示关键应用程序事件(例如异常)的红色标志。 下面是警报:

并发可视化工具中警报标记的说明。

聚合标志

有时,在并发可视化器中,标记彼此之间靠得太近,无法单独绘制。 发生这种情况时,将显示表示基础标志的灰色 聚合标志 。 当您将指针停留在这些图标之一上时,工具提示将显示所代表的基础标志数量。 若要查看标志,请放大。 如果完全放大,但仍然出现聚合标记,则可以在 标记报表中查看基础标记。

聚合标志以不同的大小绘制。 大小取决于聚合中最重要的标志的重要性级别。 下图例展示了重要性递增的聚合标识。

显示四个重要性级别的聚合标志的插图。

消息标记

消息标记表示日志输出。 消息是特定时间由特定线程颁发的字符串。 可以将消息导出到文本文件,以便与其他工具一起使用。 可以在并发可视化工具中将指针停留在消息上,以查看消息字符串。 还可以在 “标记”报表中查看所有消息标记。 下图显示了消息标记。

消息聚合标记

有时,"Concurrency Visualizer" 中多条消息彼此之间非常接近,以至于无法单独绘制。 发生这种情况时,将显示一个代表底层消息的消息聚合标记。 当您将指针悬停在这些图标之一上时,工具提示会显示此图标代表的基础消息数。 若要查看消息,请放大。 如果完全放大后仍然获取聚合标记,则可以在 “标记报表” 中查看底层消息。

范围标记

范围标记表示应用程序有意义的阶段。 例如,可以使用范围来表示处理特定工作项的时间间隔。 其长度表示相应应用程序阶段的持续时间。 此插图展示了“Concurrency Visualizer”中的范围:

并发可视化工具中的跨度标记说明

范围类别

范围标记以五种不同颜色之一显示,具体取决于其类别。 如果存在五个以上的类别,则重复这些颜色。 类别可以是任何整数。 此图显示了五种可能的颜色:

不同类别中的五个范围图示。

跨度聚合标识

有时,在并发可视化工具中,跨度标记彼此靠得太近,以至于无法单独绘制。 发生这种情况时,将显示表示基础范围的灰色 范围聚合标记 。 当您将指针悬停在这些图标之一上时,工具提示会显示所代表的底层范围的数量。 若要查看范围,请放大。 如果完全放大后仍然获得跨度聚合标记,则可以在 “标记报表” 中查看基础跨度标记。 此图显示了跨度聚合标记:

并行可视化工具中聚合跨度标记的示意图。