Функции трассировки и профилирования

Маленький. Быстро. Надежный.
Выберите любые три.

void * sqlite3_trace (sqlite3 *, void (* xTrace) (void *, const char *), void *); void * sqlite3_profile (sqlite3 *, void (* xProfile) (void *, const char *, sqlite3_uint64), void *);

Эти процедуры устарели. Использовать sqlite3_trace_v2 () интерфейс вместо процедур, описанных здесь.

Эти подпрограммы регистрируют функции обратного вызова, которые можно использовать для отслеживания и профилирования выполнения операторов SQL.

Функция обратного вызова, зарегистрированная sqlite3_trace (), вызывается в разное время, когда оператор SQL выполняется sqlite3_step () , Обратный вызов sqlite3_trace () вызывается с помощью рендеринга UTF-8 текста оператора SQL, когда оператор сначала начинает выполняться. Дополнительные вызовы sqlite3_trace () могут возникать при вводе каждой запущенной подпрограммы. Обратные вызовы для триггеров содержат комментарий SQL UTF-8, который идентифицирует триггер.

SQLITE_TRACE_SIZE_LIMIT опция времени компиляции может быть использована для ограничения длины связанный параметр расширение вывода sqlite3_trace ().

Функция обратного вызова, зарегистрированная sqlite3_profile (), вызывается по завершении каждого оператора SQL. Обратный вызов профиля содержит исходный текст оператора и приблизительное время, которое потребовалось для выполнения этого оператора. Время обратного вызова профиля указывается в единицах наносекунд, однако текущая реализация допускает разрешение только в миллисекундах, поэтому шесть младших разрядов во времени не имеют смысла. Будущие версии SQLite могут обеспечить большее разрешение обратного вызова профилировщика. Вызывая либо sqlite3_trace () или же sqlite3_trace_v2 () отменит профиль обратного вызова.

Смотрите также списки Объекты , Константы , а также функции ,