Метрики, связанные с БД с точки зрения сервиса DataSpace#
Показатели пула подключения к БД (Hikari)#
Основные показатели утилизации пула соединений к БД:
«active» — количество активных соединений в пуле;
«idle» — количество idle-соединений в пуле;
«pending» — количество потоков, ожидающих подключения из пула.

Далее на снимке показывается время, затраченное на получение соединения к БД из пула соединений:

Длительность исполнения SQL-операций в БД#
Чтобы измерять время работы jdbc-методов и SQL-запросов, источник данных (datasource) приложения оборачивается proxy-объектом.
В качестве прокси используется библиотека https://github.com/ttddyy/datasource-proxy.
<dependency>
<groupId>net.ttddyy</groupId>
<artifactId>datasource-proxy</artifactId>
<optional>true</optional>
</dependency>
Время выполнения SQL-запросов и их количество с разделением по типу SQL операций:

Вышеуказанный график выводит «сырые» данные. Далее представлена статистика SQL-операций (95 percentile, среднее время):

Присутствует опция для вывода времени выполнения jdbc-методов и их количества:

Метрика db ping#
Метрика, показывающая длительность исполнения простейшего запроса в памяти СУБД:
Oracle select 1 from dual;
PostgreSQL select 1.
За счет отсутствия в запросе обращения к дискам БД и т.п., данный показатель хорошо характеризует задержки в сетевой топологии между БД и сервисом DataSpace.
При правильно настроенной облачной среде «db ping» не должен превышать 5 мс.

Метрики буферизации запросов#
Метрики буферизации (накопления и отправки пачками) запросов.
Для просмотра метрик необходимо использовать панель «Buffering Metrics»:
bufferQueueSize — количество пакетов в очереди на формировании пачки;
packetsInOneTransactionCount — количество пакетов в пачке;
batchHandlingTime (95prc ms) — 95 percentile времени обработки пачки в мс;
batchHandlingTime (MAX ms) — максимальное значение времени обработки пачки в мс;
commitsByBatchSizeCount — количество завершений формирования пачки по причине BatchSize;
commitsByEmptyQueueCount — количество завершений формирования пачки по причине EmptyQueue;
commitsByTimeWindowCount — количество завершений формирования пачки по причине TimeWindow.