Instrumentation Configuration API
状态: 开发中
概述
Instrumentation Configuration API 是 声明式配置接口 的一部分。
该 API 允许 Instrumentation Libraries 通过在初始化时读取相关配置来消费配置。例如,用于 HTTP 客户端的 Instrumentation Library 可以读取要捕获的 HTTP 请求和响应头的集合。
它包含以下主要组件:
- ConfigProvider 是 API 的入口点。
- ConfigProperties 是配置映射节点的编程表示。
ConfigProvider
ConfigProvider 提供对与 Instrumentation 相关的配置属性的访问。
Instrumentation Libraries 在初始化时访问 ConfigProvider。ConfigProvider 可以作为参数传递给 Instrumentation Library,或者 Instrumentation Library 可以从中心位置访问它。因此,API 应提供一种访问全局默认 ConfigProvider 以及设置/注册它的方法。
ConfigProvider 操作
ConfigProvider 必须提供以下函数:
待定:决定是否需要额外的操作来提高 API 的易用性
获取 Instrumentation 配置
获取与 Instrumentation Libraries 相关的配置。
返回: ConfigProperties,代表 .instrumentation 配置映射节点。
如果未设置 .instrumentation 节点,则 get instrumentation config 必须返回 nil、null、undefined 或其他表示为空的特定语言的惯用模式。
ConfigProperties
ConfigProperties 是配置映射节点(即 YAML 映射节点)的编程表示。
ConfigProperties 必须提供访问器,用于读取其表示的映射节点中的所有属性,包括:
- 标量(字符串、布尔值、双精度浮点数、64 位整数)
- 映射,应表示为
ConfigProperties - 标量序列
- 映射序列,应表示为
ConfigProperties - 存在的属性键集
ConfigProperties 应根据语言的惯用方式,以类型安全的方式提供属性访问。
ConfigProperties 应允许调用者区分属性是否存在 null 值与属性未设置。