Fuchsia.tracing

添加:11

结构

KnownCategory

fuchsia.tracing/tracing.fidl 中定义

GetKnownCategories 返回的值。

字段类型说明默认
name CategoryName
添加日期:18
无默认取景方式
description CategoryDescription
添加日期:18
无默认取景方式

枚举

BufferDisposition 严格

类型:uint8

fuchsia.tracing/tracing.fidl 中定义

用于选择在 Start 时清除/保留轨迹缓冲区内容的选项。 缓冲区内容的简要总结:轨迹缓冲区分为两个主要部分:持久和不持久。durable 部分包含各自引用的字符串和线程数据(trace_encoded_string_ref_t 和 trace_encoded_thread_ref_t)等内容。非持久性部分包含其余轨迹数据(例如事件);举例来说,当(非持久性)缓冲区填满时,会在循环缓冲模式下被舍弃的部分。

名称说明
1

清空整个缓冲区,包括持久性缓冲区内容。 注意:如果在会话期间完成此操作,则此时间点之前的字符串和线程引用将失效,底层数据也将随之消失。为了防止在清除缓冲区内容之前保存内容。

这通常适用于在上一个停止后保存缓冲区内容的情况。

2

清除缓冲区中的非持久性部分,保留持久性部分。

这通常在以下情况下使用:在前一个停止后未保存缓冲区内容,而当前内容被舍弃。

3

保留缓冲区内容。新的轨迹数据会添加到上一条轨迹的运行结束处。

这通常用于以下情形:在前一个停止后未保存缓冲区内容,而要保留当前内容时。

BufferingMode 严格

类型:uint8

fuchsia.tracing/tracing.fidl 中定义

轨迹缓冲模式。

名称说明
1

在一次性模式下,只有一个缓冲区未被重复使用。当缓冲区填满提供程序时,提供程序只会不断地丢弃记录并保留计数,然后在跟踪停止时,标头会进行更新以记录最终状态。

2

在循环模式下,不断写入缓冲区,直到跟踪停止。当缓冲区填满时,系统会根据需要舍弃较旧的记录。

3

在流式模式下,缓冲区实际上分为两部分。当缓冲区的一半填满时,提供程序会通过提供的 fifo 通知跟踪管理器,然后开始填充缓冲区的另一半。保存缓冲区后,管理器会通过提供的 fifo 响应。如果跟踪管理器未及时保存缓冲区,并且其他缓冲区已填满,则提供程序必须丢弃记录,直到空间可用。

常量

名称类型说明
MAX_CATEGORY_DESCRIPTION_LENGTH 400 uint32

类别说明的最大长度。

MAX_CATEGORY_NAME_LENGTH 100 uint32

类别名称的长度上限。

MAX_NUM_ENABLED_CATEGORIES 5000 uint32

支持的类别数量上限。

MAX_NUM_KNOWN_CATEGORIES 5000 uint32

支持的类别数量上限。

MAX_PROVIDER_NAME_LENGTH 100 uint32

提供商名称的长度上限。

别名

名称说明
CategoryDescription string[MAX_CATEGORY_DESCRIPTION_LENGTH]
添加日期:18
CategoryName string[MAX_CATEGORY_NAME_LENGTH]

aliases

添加日期:18
EnabledCategoryList vector[MAX_NUM_ENABLED_CATEGORIES]
添加日期:18
ProviderId uint32
添加日期:18
ProviderName string[MAX_PROVIDER_NAME_LENGTH]
添加日期:18