Skip to content

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

Какие атрибуты семантических соглашений OpenTelemetry заполняет opentelemetry-instrumentation-entity. В таблицах — stable-атрибуты и метрики semconv (версия 1.44.0); атрибуты и метрики в статусе development отмечены отдельно. Группы атрибутов названы так же, как в semconv.

Ключи entity.* — собственные атрибуты библиотеки, они описаны в обзоре.

Спаны запросов ​

Database client spans

Спан вида CLIENT на каждый запрос к СУБД.

АтрибутЗначение
db.system.nameсистема СУБД коннектора: postgresql, sqlite, inmemory, json
db.namespaceбаза данных, путь к файлу или каталогу
db.collection.nameтаблица запроса
db.operation.nameSELECT, INSERT, DELETE, CREATE TABLE, BEGIN, COMMIT, ROLLBACK
db.query.textтекст запроса с плейсхолдерами; у коннекторов без SQL не заполняется, выключается настройкой ТекстЗапроса
server.address, server.portсервер СУБД; у файловых баз не заполняются
error.typeтип ошибки, если запрос завершился ошибкой, см. Error

Из значений db.system.name в semconv описаны postgresql и sqlite, inmemory и json — собственные.

Атрибуты в статусе development ​

АтрибутЗначение
db.response.returned_rowsчисло строк, которые вернул SELECT

Спаны операций ​

Спан вида INTERNAL на каждую операцию менеджера сущностей.

Code ​

Code

АтрибутЗначение
code.function.nameполное имя операции: МенеджерСущностей.Сохранить, МенеджерСущностей.Получить, МенеджерСущностей.ПолучитьОдно, МенеджерСущностей.Удалить, МенеджерСущностей.Инициализировать, МенеджерСущностей.ВыполнитьСКоннектором, МенеджерСущностей.ВычислитьСКоннектором
error.typeтип ошибки, если операция завершилась ошибкой, см. Error

Метрики ​

Database client metrics

МетрикаАтрибуты
db.client.operation.durationdb.system.name, db.namespace, db.collection.name, db.operation.name, server.address, server.port, error.type

Длительность — в секундах, с границами бакетов из semconv.

Метрики в статусе development ​

МетрикаАтрибуты
db.client.connection.countdb.client.connection.pool.name, db.client.connection.state: used, idle
db.client.connection.maxdb.client.connection.pool.name
db.client.connection.pending_requestsdb.client.connection.pool.name
db.client.connection.wait_timedb.client.connection.pool.name
db.client.connection.create_timedb.client.connection.pool.name
db.client.connection.timeoutsdb.client.connection.pool.name

Атрибуты db.client.connection.pool.name и db.client.connection.state — тоже в статусе development.

Гистограммы entity.operation.duration и entity.repository.invocation.duration — собственные метрики библиотеки. Из атрибутов semconv в них есть error.type, а в entity.repository.invocation.duration ещё code.function.name — полное имя метода ИмяХранилищаСущностей.ИмяМетода.

Исключения ​

Exceptions in logs

Исключение операции или запроса записывается записью лога с серьёзностью WARN. Атрибуты exception.* заполняет ядро из переданного исключения, см. семантические соглашения opentelemetry.

СобытиеСтатус в semconv
db.client.operation.exceptiondevelopment, Database exceptions
entity.operation.exceptionсобственное событие библиотеки

Error ​

Error

АтрибутЗначение
error.typeОтелУтилиты.ТипОшибки: код ошибки библиотеки errors или код нативной ошибки OneScript, для нераспознанной ошибки — _OTHER. Спан и метрика одного события получают одно значение