Модуль tracing
Модуль tracing используется для трассировки пользовательских функций.
Модуль для этой роли имеет имя app.roles.tracing.
Чтобы использовать роль внутри пользовательской функции, выполните require('app.roles.tracing').
Узнать больше о модуле трассировки можно в репозитории tarantool/tracing.
Инициировать новый сегмент (span) трассировки. Используется для обозначения начала отслеживаемого кода.
Параметры:
context— текущий контекст для трассировки запросов:trace_id— идентификатор трассировки, к которой будет принадлежать сегмент;span_id— идентификатор сегмента, который будет использован как идентификатор родительского сегмента;sample— нужно ли трассировать запрос с помощью текущего и дочерних сегментов;baggage— дополнительные данные текущего сегмента трассировки;
name(string) — название сегмента трассировки;opts— дополнительные параметры для создания сегмента трассировки:tags— таблица тегов, которые будут добавлены к создаваемому сегменту;start_timestamp— время начала сегмента в микросекундах с начала эпохи.
Возвращает: объект span
Возвращаемый тип: object
Если контекст трассировки еще не был инициализирован, передайте первым аргументом в start_span() переменную для контекста (ctx),
которая содержит пустую таблицу.
В последующих вызовах передайте ту же переменную с текущим контекстом трассировки.
local ctx = {}local span_1 = tracing.start_span(ctx, 'test_1')local span_2 = tracing.start_span(ctx, 'test_2')-- ...
Если передается контекст из клиента, создайте таблицу с ключами trace_id, span_id и sample.
local ctx = {trace_id = 'trace_id',span_id = 'span_id',sample = true,}local span_1 = tracing.start_span(ctx, 'test_1')-- ...
Завершить отслеживание сегмента кода и сохранить собранную информацию для выбранного объекта span.
Параметры:
opts— опции для функции:timestamp— временная метка в микросекундах с начала эпохи, указывающая время завершения сегмента. Если параметр не указан, используется текущее время;error(string) — строка, добавляющая тег ошибки к сегменту.
Возвращает: true , иначе false и строку с описанием ошибки.