3.13. Probabilistic Sampling Processor


如果您处理大量遥测数据,并希望通过降低处理的数据量来降低成本,您可以使用 Probabilistic Sampling Processor 作为 Tail Sampling Processor 的替代选择。

重要

Probabilistic Sampling Processor 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

处理器在无状态和每个请求中抽样指定百分比的 trace 范围或日志记录。

处理器将有关已用的有效抽样概率的信息添加到遥测数据中:

  • 在 trace span 中,处理器在 W3C Trace Context tracestate 字段中对阈值和可选的随机性信息进行编码。
  • 在日志记录中,处理器将阈值和随机信息编码为属性。

以下是用于抽样追踪的 Probabilistic Sampling Processor 的 OpenTelemetryCollector 自定义资源配置示例:

# ...
  config:
    processors:
      probabilistic_sampler: 
1

        sampling_percentage: 15.3 
2

        mode: "proportional" 
3

        hash_seed: 22 
4

        sampling_precision: 14 
5

        fail_closed: true 
6

# ...
service:
  pipelines:
    traces:
      processors: [probabilistic_sampler]
# ...
Copy to Clipboard Toggle word wrap
1
对于追踪管道,随机性的来源是 span 跟踪 ID 的散列值。
2
必需。接受 32 位浮点百分比值,在其中对 span 进行抽样。
3
可选。接受抽样逻辑模式支持的字符串值:默认的 hash_seedproportional,或 equalizinghash_seed 模式将 Fowler-Noll-Vo (FNV)哈希功能应用到 trace ID,并将散列值用于抽样百分比值。您还可以使用 hash_seed 模式,以及 trace ID 以外的遥测单元。proportional 模式对总范围数量有严格的、基于概率的比例进行抽样,并基于 OpenTelemetry 和 World Wide Web Consortium 规格。equalizing 模式可用于将抽样概率降低到整个管道中的最小值,或者在 Collector 部署中应用统一的抽样可能性,其中 client SDK 具有混合抽样配置。
4
可选。接受 32 位未签名的整数,该整数用于计算哈希算法。如果没有配置此字段,则默认的 seed 值为 0。如果使用多个 Collector 实例层,您必须将同一层的所有收集器配置为相同的 seed 值。
5
可选。决定用于编码抽样阈值的十六进制数。接受整数值。支持的值 1-14。如果阈值 4 包含超过 16 个重要位(使用 56 位 proportional 模式)时,默认值 4 会导致对阈值进行舍入。如果您选择 proportional 模式,请为前面的 samplers 应用保留精度的目的使用更大的值。
6
可选。拒绝 span,带有抽样错误。接受一个布尔值。默认值为 true

以下是用于抽样日志记录的 Probabilistic Sampling Processor 的 OpenTelemetryCollector 自定义资源配置示例:

# ...
  config:
    processors:
      probabilistic_sampler/logs:
        sampling_percentage: 15.3 
1

        mode: "hash_seed" 
2

        hash_seed: 22 
3

        sampling_precision: 4 
4

        attribute_source: "record" 
5

        from_attribute: "<log_record_attribute_name>" 
6

        fail_closed: true 
7

# ...
service:
  pipelines:
    logs:
      processors: [ probabilistic_sampler/logs ]
# ...
Copy to Clipboard Toggle word wrap
1
必需。接受 32 位浮点百分比值,在其中对 span 进行抽样。
2
可选。接受抽样逻辑模式支持的字符串值:默认的 hash_seedequalizing, 或 proportionalhash_seed 模式将 Fowler-Noll-Vo (FNV)哈希功能应用到 trace ID 或指定的日志记录属性,然后根据抽样百分比值来权衡散列值。您也可以将 hash_seed 模式与遥测 ID 的其他单元一起使用,例如,使用 service.instance.id 资源属性从 pod 中收集日志记录。equalizing 模式可用于将抽样概率降低到整个管道中的最小值,或者在 Collector 部署中应用统一的抽样可能性,其中 client SDK 具有混合抽样配置。proportional 模式对总范围数量有严格的、基于概率的比例进行抽样,并基于 OpenTelemetry 和 World Wide Web Consortium 规格。
3
可选。接受 32 位未签名的整数,该整数用于计算哈希算法。如果没有配置此字段,则默认的 seed 值为 0。如果使用多个 Collector 实例层,您必须将同一层的所有收集器配置为相同的 seed 值。
4
可选。决定用于编码抽样阈值的十六进制数。接受整数值。支持的值 1-14。如果阈值 4 包含超过 16 个重要位(使用 56 位 proportional 模式)时,默认值 4 会导致对阈值进行舍入。如果您选择 proportional 模式,请为前面的 samplers 应用保留精度的目的使用更大的值。
5
可选。定义 from_attribute 中查找日志记录属性的位置。日志记录属性用作随机性的来源。接受默认的 traceID 值或 record 值。
6
可选。用于计算抽样哈希的日志记录属性的名称,如唯一的日志记录 ID。接受字符串值。默认值为 ""。只有在需要在缺少 trace ID 或 trace ID 抽样被禁用或将 attribute_source 字段设置为 record 值时,才需要指定日志记录属性作为随机性时才使用这个选项。
7
可选。拒绝 span,带有抽样错误。接受一个布尔值。默认值为 true
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部