Amostragem

Reduza a quantidade de telemetria criada

Amostragem é um processo que restringe a quantidade de rastros gerados por um sistema. O SDK JavaScript oferece diversos amostradores de cabeçalho (head samplers).

Comportamento padrão

Por padrão, todos os trechos são amostrados e, portanto, 100% dos rastros são amostrados. Se não for necessário gerenciar o volume de dados, não é preciso configurar um amostrador.

TraceIDRatioBasedSampler

O amostrador de cabeçalho mais comum é o TraceIdRatioBasedSampler. Ele realiza a amostragem determinística de uma porcentagem de rastros definida como parâmetro.

Variáveis de ambiente

Configure o TraceIdRatioBasedSampler com variáveis de ambiente:

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

Isso instrui o SDK a amostrar trechos de forma que apenas 10% dos rastros sejam criados.

Node.js

É possível configurar o TraceIdRatioBasedSampler também no código. Veja um exemplo para Node.js:

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

const samplePercentage = 0.1;

const sdk = new NodeSDK({
  // Outros parâmetros de configuração do SDK vão aqui
  sampler: new TraceIdRatioBasedSampler(samplePercentage),
});
const { TraceIdRatioBasedSampler } = require('@opentelemetry/sdk-trace-node');

const samplePercentage = 0.1;

const sdk = new NodeSDK({
  // Outros parâmetros de configuração do SDK vão aqui
  sampler: new TraceIdRatioBasedSampler(samplePercentage),
});

Navegador

É possível configurar o TraceIdRatioBasedSampler também no código. Veja um exemplo para aplicações de navegador:

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),
});