ОтелСемантическиеСоглашения
Модуль — константы семантических соглашений (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. Каждый вызов возвращает новый массив, поэтому вызывающий может его менять.
Возвращает: Массив из Число
Пример
Атрибуты = Новый Соответствие;
Атрибуты.Вставить(ОтелСемантическиеСоглашения.СистемаБД(), "postgresql");
Атрибуты.Вставить(ОтелСемантическиеСоглашения.ИмяОперацииБД(), "SELECT");
Атрибуты.Вставить(ОтелСемантическиеСоглашения.ИмяКоллекцииБД(), "users");
Спан = Трассировщик.НачатьСпан("SELECT users", ОтелВидСпана.Клиент(), Атрибуты);
Совет = Новый Структура("ГраницыГистограммы", ОтелСемантическиеСоглашения.ГраницыДлительностиОперацииБД());
Гистограмма = Метр.СоздатьГистограмму(
ОтелСемантическиеСоглашения.МетрикаДлительностиОперацииБД(),
"Длительность запросов к СУБД", "s", Совет);