Я работаю над пакетным приложением, в котором слои DAO используют jooq для взаимодействия с базой данных оракула. Я настроил setClientInfo
на соединение с оракулом со всеми необходимыми ключами OCSID. Я использую класс-оболочку, который расширяет DelegatingDataSource
для динамического изменения модуля, действия, ecid и client_id на разных этапах пакетного приложения, например, я устанавливаю action
в качестве имени текущего шага и module
в качестве имени текущего задания и так далее. Я также установил action
с именами процедур.
Я хочу отслеживать по этим показателям, какая работа/шаг/процедура имеет проблемы с производительностью. Я заметил, что во время работы пакетного приложения некоторые показатели сохраняются в таблице v$session
. После завершения пакетного приложения я вижу только некоторые записи в V$ACTIVE_SESSION_HISTORY
. Я также пытался заставить процедуры спать более 2 минут, используя APEX_UTIL.PAUSE(120)
, но я не могу найти все записи в таблице V$ACTIVE_SESSION_HISTORY
после запуска пакетного приложения. Даже если во время запуска пакетного приложения было более 10–15 вызовов БД, я могу увидеть только 3–4 записи в V$ACTIVE_SESSION_HISTORY
. Как эти метрики сохраняются в V$ACTIVE_SESSION_HISTORY
? Как я могу отслеживать производительность по отношению к заданию/шагу/процедуре, используемой в пакетном приложении?