扩展事件未捕获 Entity Framework 个查询 (read/updates)
Extended events not capturing Entity Framework queries (read/updates)
我添加了扩展事件来跟踪 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 服务器 updates/read queries/procedures 来自 Entity Framework 的调用,但只记录了我的 sql 查询 运行使用 SSMS。
欢迎任何想法
更新:
我使用 EF6.1,我认为它用于批量保存数据。
我不会尝试捕获 sqlserver.sql_statement_completed
,而是捕获 sqlserver.sql_batch_completed
和 sqlserver.rpc_completed
application/API 发出的 queries/stored 程序。
如果这不起作用,则删除过滤器(或至少 duration
过滤器(正如 Andrey 在评论中建议的那样)可能会让我们更深入地了解为什么未捕获查询。
我添加了扩展事件来跟踪 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 服务器 updates/read queries/procedures 来自 Entity Framework 的调用,但只记录了我的 sql 查询 运行使用 SSMS。
欢迎任何想法
更新:
我使用 EF6.1,我认为它用于批量保存数据。
我不会尝试捕获 sqlserver.sql_statement_completed
,而是捕获 sqlserver.sql_batch_completed
和 sqlserver.rpc_completed
application/API 发出的 queries/stored 程序。
如果这不起作用,则删除过滤器(或至少 duration
过滤器(正如 Andrey 在评论中建议的那样)可能会让我们更深入地了解为什么未捕获查询。