Семплювання

Зменшення кількості створюваних телеметричних даних

Семплювання — це процес, який обмежує кількість трейсів, що генеруються системою. JavaScript SDK пропонує кілька головних семплерів.

Стандартна поведінка

Стандартно всі відрізки семплюються, тобто 100% трейсів семплюються. Якщо вам не потрібно керувати обсягом даних, не варто налаштовувати семплер.

TraceIDRatioBasedSampler

При семплюванні найпоширенішим головним семплером є TraceIdRatioBasedSampler. Він детерміновано семплює відсоток трейсів, який ви передаєте як параметр.

Змінні середовища

Ви можете налаштувати TraceIdRatioBasedSampler за допомогою змінних середовища:

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

Це вказує SDK семплювати відрізки так, щоб створювалося лише 10% трейсів.

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

Оглядач

Ви також можете налаштувати 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),
});

Востаннє змінено December 26, 2024: [uk] Ukrainian documentation for OpenTelemetry (2a3c5648)