CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/OpenTelemetry/采样
文档目录
文档开始手动插桩使用插桩库导出器资源采样什么是 OpenTelemetry?
API 参考文档示例
采样插桩使用插桩库导出器上下文传播资源Serverless基准测试API 参考文档示例资源目录
支持库列表

OpenTelemetry

采样

[采样](/project/opentelemetry/doc/otel--sampling)是一个限制系统生成链路数量的过程。JavaScript SDK 提供了几种[头部采样器](/project/opentelemetry/doc/otel--sampling#head-sampling)。 ## 默认行为 {#default-behavior} 默认情况下,所有 Span 都会被采样,

采样是一个限制系统生成链路数量的过程。JavaScript SDK 提供了几种头部采样器。

默认行为 {#default-behavior}

默认情况下,所有 Span 都会被采样,因此 100% 的链路都会被采样。如果不需要管理数据量,就不需要设置采样器。

TraceIDRatioBasedSampler {#traceidratiobasedsampler}

采样时,最常用的头部采样器是 TraceIDRatioBasedSampler。它会确定性地根据你传入的百分比参数对追踪链路进行采样。

环境变量 {#environment-variables}

你可以使用环境变量配置 TraceIDRatioBasedSampler:

export OTEL_TRACES_SAMPLER="traceidratio"
export OTEL_TRACES_SAMPLER_ARG="0.1"

这会告诉 SDK 对 Span 进行采样,仅生成 10% 的链路。

Node.js {#node-js}

你也可以在代码中配置 TraceIDRatioBasedSampler。这是一个 Node.js 示例:

import { TraceIdRatioBasedSampler } from '@opentelemetry/sdk-trace-node';

const samplePercentage = 0.1;

const sdk = new NodeSDK({
  // 其他 SDK 配置参数放在这里
  sampler: new TraceIdRatioBasedSampler(samplePercentage),
});
const { TraceIdRatioBasedSampler } = require('@opentelemetry/sdk-trace-node');

const samplePercentage = 0.1;

const sdk = new NodeSDK({
  // 其他 SDK 配置参数放在这里
  sampler: new TraceIdRatioBasedSampler(samplePercentage),
});

浏览器 {#browser}

你也可以在代码中配置 TraceIDRatioBasedSampler。这是一个浏览器应用示例:

import {
  WebTracerProvider,
  TraceIdRatioBasedSampler,
} from '@opentelemetry/sdk-trace-web';

const samplePercentage = 0.1;

const provider = new WebTracerProvider({
  sampler: new TraceIdRatioBasedSampler(samplePercentage),
});
const {
  WebTracerProvider,
  TraceIdRatioBasedSampler,
} = require('@opentelemetry/sdk-trace-web');

const samplePercentage = 0.1;

const provider = new WebTracerProvider({
  sampler: new TraceIdRatioBasedSampler(samplePercentage),
});

文章大纲