Skip to content

НапильникОтелХранилищеСущностей

Напильник слоя хранилищ сущностей: находит в контейнере хранилища и отдает их инструментированию из opentelemetry-instrumentation-entity, которое замеряет вызовы методов гистограммой.

Описание

Применяется к желудям с прозвищем ХранилищеСущностей. Такое прозвище получают и хранилища, которые autumn-data регистрирует для каждой сущности, и пользовательские хранилища с аннотацией &ХранилищеСущностей.

Обертку строит ОтелИнструментированиеХранилищаСущностей — там же описано, какие методы оборачиваются и какие сигналы пишутся. Если оборачивать нечего, желудь остается нетронутым.

Спанов напильник не создает: вызов метода хранилища виден в метрике, а трейс строят операции entity и запросы к СУБД, которые метод выполнил. Спан на самом методе хранилища вешается аннотацией &Наблюдаемый — на конструкторе желудя или на отдельном методе.

Порядок: &Порядок(503) - после напильников аннотаций.

Конструктор

bsl
&Напильник
&Порядок(503)
Процедура ПриСозданииОбъекта(&Табакерка &Пластилин("ОтелМетр") ОтелМетр,
		&Деталька(Значение = "otel.enabled", ЗначениеПоУмолчанию = Ложь) ОтелВключен,
		&Деталька(Значение = "otel.entity.repository.enabled", ЗначениеПоУмолчанию = "") СлойВключен)

Напильник включен, когда включен otel.enabled и не выключен otel.entity.repository.enabled. Метр достается из табакерки при первом обернутом желуде, поэтому SDK не поднимается, если хранилищ в приложении нет.

Конфигурация

Подробнее - в разделе Инструментирование entity.