Instrumentation Configuration API

状态: 开发中

概述

Instrumentation Configuration API 是 声明式配置接口 的一部分。

该 API 允许 Instrumentation Libraries 通过在初始化时读取相关配置来消费配置。例如,用于 HTTP 客户端的 Instrumentation Library 可以读取要捕获的 HTTP 请求和响应头的集合。

它包含以下主要组件:

ConfigProvider

ConfigProvider 提供对与 Instrumentation 相关的配置属性的访问。

Instrumentation Libraries 在初始化时访问 ConfigProviderConfigProvider 可以作为参数传递给 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 值与属性未设置。