将遥测数据放在功能标志上可能是一个功能强大的工具,用于了解功能标志的使用方式。 遥测允许你对功能管理策略做出明智的决策。
在本文档中,你将:
- 了解使用 Azure 应用配置提供程序库可用的遥测数据
- 了解使用功能管理库可用的遥测数据
功能评估
每当应用程序中评估启用了遥测功能的功能标志时,都会发出功能评估事件。 每次代码检查功能标志的状态或获取变体时,都会发生此事件(命名 FeatureEvaluation
)。 该事件捕获评估结果、变体分配详细信息以及有关做出特定决策的原因的上下文信息。
此事件包含以下字段:
基本字段
功能管理库为遥测数据提供以下属性:
- FeatureName:功能标志的名称。
- 已启用:一个布尔值,指示是否启用了功能标志。
- 变体:为功能标志选择的变体。
- VariantAssignmentReason:将变体分配给用户的原因;DefaultWhenDisabled、DefaultWhenEnabled、User、Group、Percentile、None。
- TargetingId:分配给变体的用户的 ID。
- DefaultWhenEnabled:启用功能标志时的默认变体。
- 版本:此架构的版本。
- VariantAssignmentPercentage:指定为其分配的变量的用户基数的百分比。 此字段仅适用于基于百分位的工作分配。
可以在 功能评估事件架构定义中找到完整架构。
然后,可以将此数据发送到要查看的位置,例如 Azure Monitor。 使用我们提供的与 Azure Monitor 的连接时,每当评估启用了遥测的功能标志时,都会使用以下属性发布 custom_event 。
应用配置自定义字段
使用 Azure 应用配置提供程序库时,会将其他属性添加到遥测数据。 这些属性提供有关功能标志及其评估的更多上下文:
- AllocationID:表示功能标志分配状态的唯一标识符。
- ETag:功能标志的当前 ETag。
-
FeatureFlagReference:对功能标志的引用,格式为
<your_store_endpoint>kv/<feature_flag_key>
. 当存在标签时,引用将它作为查询参数包括:<your_store_endpoint>kv/<feature_flag_key>?label=<feature_flag_label>
。
可以在 应用配置功能评估事件架构定义中找到完整架构。
后续步骤
本文档介绍了可用于功能标志的遥测数据。 若要了解如何在应用程序中使用遥测数据,请继续阅读语言或平台的以下文档。