I am using the Histogram target in extended events to track which objects that are being used in database.
CREATE EVENT SESSION [object_usage] ON SERVER ADD EVENT sqlserver.module_start( WHERE ([sqlserver].[database_id]=(8))) ADD TARGET package0.histogram(SET filtering_event_name=N'sqlserver.module_start',slots=(16384),source=N'object_id',source_type=(0)) WITH (MAX_MEMORY=65536 KB,EVENT_RETENTION_MODE=ALLOW_MULTIPLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF) GO
In general this works very good. There is just one strange thing:
There is one stored procedure, that I know for sure is being called frequently (about once a second), and that is not getting into the extended events histogram session. I have also tried executing the stored procedure myself in SSMS many times. It is still not getting into the histogram session.
Any ideas what the problem could be?