Расширенные события не захватывают запросы Entity Framework (чтение / обновление) - PullRequest
0 голосов
/ 05 декабря 2018

Я добавил событие Extended для отслеживания вызовов sql, что замедляет работу моей системы, что приводит к исключениям тайм-аута и другим

CREATE EVENT SESSION [longrunning_statements] ON SERVER 
      ADD EVENT sqlserver.sql_statement_completed(
WHERE ([duration]>(2000000) AND [database_id]=(9)))
      ADD TARGET package0.event_file(SET filename=N'c:\capture\xe_longrunning_statement.xel',metadatafile=N'c:\capture\xe_longrunning_statement.xem')
       WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
 GO

Но я заметил, что оно не регистрирует обновления сервера sql / запросы на чтение / вызовы процедур /из Entity Framework, но только зарегистрированные мои sql запросы выполняются с использованием SSMS.

Любые идеи приветствуются

ОБНОВЛЕНИЕ:

Я использую EF6.1, которая использовала, я думаю, пакеты для сохранения данных.

1 Ответ

0 голосов
/ 11 декабря 2018

Вместо того, чтобы пытаться захватить sqlserver.sql_statement_completed, я бы захватил sqlserver.sql_batch_completed и sqlserver.rpc_completed для запросов / хранимых процедур, выпущенных приложением / API.

Если это не сработает, то удаление фильтров (или, по крайней мере, фильтра duration (как это предлагает Андрей в комментариях), вероятно, даст нам более глубокое понимание того, почему запросы не фиксируются.

...