Delphi. FireDAC. Трассировка и мониторинг

Эта статья о возможностях трассировки, мониторинга в FireDAC. Она основана на официальной документации.

-Старая версия

-Новая версия

Трассировка в FireDAC это детализированный лог коммуникации между FireDAC и БД. Она включает номер, время, API вызовы и множество других параметров, а также DBMS environment report.

FireDAC предлагает 3 метода вывода трассировки, которые контролируются различными компонентами

23

Первый метод выводит информацию в текстовый файл

Второй метод выводит информацию в FDMonitor

Третий метод выводит информацию в событие.

Управление трассировкой

Чтобы включить трассировку для соединения

-Бросьте на форму TFDMoniXxxxClientLink

-Установите свойство Tracing в True до открытия первого соединения с MonitorBy=Xxx.

-Добавьте MonitorBy=Xxx параметр connection definition

Параметр MonitorBy ассоциирует definition cо специальным методом трассировки и становится read-only после первого соединения, созданного для этого definition.

Пример

Пример трассировочного контента

Управление трассировкой

Flat File Output

TFDMoniFlatFileClientLink выводит трассировочную информацию в текстовый файл, по умолчанию в папку TEMP, файл открывается при закрытии приложения. Свойства компонента, которые можно настроить

  • FileName–the trace file name. Environment variables–$(name)–can be used. The default name is $(TEMP)\traceN.txt.
  • FileEncoding– кодировка, по умолчанию ANSI.
  • FileAppend— добавление файлов
  • FileColumns–колонки, включаемый в файл трассировки

 

Remote Output

Компонент TFDMoniRemoteClientLink  выводит информацию в FDMonitor. Чтобы управлять выводом, нужно настроить свойства

  • Host–the IP address of the FDMonitor box. Default is localhost.
  • Port–the IP port that FDMonitor is listening. Default is 8050.
  • Timeout –the maximum number of ms allowed to establish a connection to FDMonitor.

Custom Output

TFDMoniCustomClientLink – компонент, который выводит информацию в событие, для этого нужно настроить событие OnOutput . В данном случае избегайте Application.ProcessMessages