Семплювання

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

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

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

Зокрема, стандартний семплер є композицією ParentBased та ALWAYS_ON, що гарантує, що кореневий відрізок у трейсі завжди семплюється, і що всі дочірні відрізки поважають прапорець семплювання свого пращура для прийняття рішення про семплювання. Це гарантує, що всі відрізки у трейсі стандартно семплюються.

Семплер TraceIdRatioBased

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

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

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

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

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

Налаштування в коді

Хоча можливо налаштувати семплер TraceIdRatioBased в коді, це не рекомендується. Це вимагає вручну налаштувати Tracer Provider з усіма правильними опціями конфігурації, що важко зробити правильно порівняно з використанням OpenTelemetry::SDK.configure.


Востаннє змінено June 5, 2025: [uk] spellchecking (8ca5a3a5)