Skip to content

ОтелСемантическиеСоглашения

Модуль — константы семантических соглашений (Semantic Conventions) OpenTelemetry.

Описание

Аналог пакета io.opentelemetry.semconv в Java. Возвращает имена атрибутов и метрик, которыми инструментирования описывают обращения к базам данных, серверам, ошибки и код, а также рекомендованные границы бакетов гистограмм. Инструментирование, использующее эти функции вместо строковых литералов, не расходится с соглашениями и с другими инструментированиями в одном трейсе.

Значения соответствуют стабильной части semantic-conventions 1.30+ (db.*, server.*, error.type, code.*).

Атрибуты баз данных

ФункцияЗначение
СистемаБД()db.system.name
ПространствоИменБД()db.namespace
ИмяКоллекцииБД()db.collection.name
ИмяОперацииБД()db.operation.name
ТекстЗапросаБД()db.query.text
ВозвращенныеСтрокиБД()db.response.returned_rows
ИмяПулаСоединенийБД()db.client.connection.pool.name
СостояниеСоединенияБД()db.client.connection.state
СостояниеСоединенияИспользуется()used — значение состояния соединения
СостояниеСоединенияСвободно()idle — значение состояния соединения

Атрибуты сервера, ошибок и кода

ФункцияЗначение
АдресСервера()server.address
ПортСервера()server.port
ТипОшибки()error.type
ПространствоИменКода()code.namespace
ИмяФункцииКода()code.function.name

Метрики клиента баз данных

ФункцияЗначение
МетрикаДлительностиОперацииБД()db.client.operation.duration
МетрикаКоличестваСоединенийБД()db.client.connection.count
МетрикаПределаСоединенийБД()db.client.connection.max
МетрикаОжидающихЗапросовСоединенийБД()db.client.connection.pending_requests
МетрикаВремениОжиданияСоединенияБД()db.client.connection.wait_time
МетрикаВремениСозданияСоединенияБД()db.client.connection.create_time
МетрикаТаймаутовСоединенийБД()db.client.connection.timeouts

ГраницыДлительностиОперацииБД

Рекомендованные границы бакетов гистограммы db.client.operation.duration в секундах: 0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10. Каждый вызов возвращает новый массив, поэтому вызывающий может его менять.

Возвращает: Массив из Число

Пример

bsl
Атрибуты = Новый Соответствие;
Атрибуты.Вставить(ОтелСемантическиеСоглашения.СистемаБД(), "postgresql");
Атрибуты.Вставить(ОтелСемантическиеСоглашения.ИмяОперацииБД(), "SELECT");
Атрибуты.Вставить(ОтелСемантическиеСоглашения.ИмяКоллекцииБД(), "users");

Спан = Трассировщик.НачатьСпан("SELECT users", ОтелВидСпана.Клиент(), Атрибуты);

Совет = Новый Структура("ГраницыГистограммы", ОтелСемантическиеСоглашения.ГраницыДлительностиОперацииБД());
Гистограмма = Метр.СоздатьГистограмму(
    ОтелСемантическиеСоглашения.МетрикаДлительностиОперацииБД(),
    "Длительность запросов к СУБД", "s", Совет);