The Huagati.LinqToSQL.Profiler.Filters namespace contain filter implementations and base classes for Linq-to-SQL Profiler query filters. These filters can be used to limit the information stored in the profiler log based on various common (or customized) filter criteria.
Classes
Class | Description | |
---|---|---|
DeadlockVictimFilter |
The DeadlockVictimFilter evaluates whether a query was chosen as the deadlock victim during execution.
| |
ExecutionTimeAndPageReadsFilter |
The ExecutionTimeAndPageReadsFilter evaluates whether a query has exceeded the specified execution time (db-side, query execution time) and the specified number of page reads during execution.
| |
ExecutionTimeFilter |
The ExecutionTimeFilter evaluates whether a query has exceeded the specified execution time (db-side, query execution time).
| |
FilterRequiresExecutionPlanException |
Exception thrown by the Linq-to-SQL Profiler's BeginProfiling method(s) if a filter that rely on execution plans is specified but the ExecutionPlanMode parameter for the same profiler trace is set to None.
| |
InfoMessageFilter |
The InfoMessageFilter evaluates if SQL Server returned an info message containing the string specified when the filter's constructor was called.
| |
MissingIndexAndPageReadsFilter |
The MissingIndexAndPageReadsFilter first evaulates if a query performs more than a specified number of page reads, and if it does evaluates if the query execution plan includes MissingIndex hints from the SQL Server optimizer.
| |
MissingIndexFilter |
The MissingIndexFilter filters out queries whose execution plan contain a missing index
| |
NullFilter |
The null filter is identical to not using a filter in the Linq-to-SQL Profiler. All queries within the profiling session will be logged.
| |
PageReadFilter |
The PageReadFilter evaluates whether a query has exceeded the specified number of page reads during execution.
| |
PageReadsPerSecondFilter |
The PageReadsPerSecondFilter evaluates whether a query performed page reads below the threshold specified when the filter's constructor was called.
| |
PrePlanPostPlanFilter |
Generic implementation of a two-stage filter, evaluating one ProfilerFilter before retrieving the execution plan, and if that passes retrieving the execution plan and then evaluating the second filter.
| |
ProfilerFilter |
ProfilerFilter is the abstract base class for all filters for the Linq-to-SQL Profiler. Inherit this class to implement a new filter. Filters that rely on SQL Server execution plan data for evaluating filter conditions should be marked with the UsesExecutionPlanDataAttribute attribute.
| |
ProfilerFilterDisabled |
The ProfilerFilterDisabled filter effectively disables all logging within a profiler session.
| |
TableFilter |
The TableFilter evaluates whether a query involves a table with the name specified in the call to the filter's constructor.
| |
TableScanFilter |
The TableScanFilter evaluates whether a query performed a table scan, clustered index scan, or remote scan during execution. Requires execution plans to be enabled for the current profiler session.
| |
UsesExecutionPlanDataAttribute |
Custom attribute indicating that a Linq-to-SQL profiler filter requires SQL Server execution plan data to evaluate the filter conditions.
|
Interfaces
Interface | Description | |
---|---|---|
IExecutionPlanPreAndPostFilter |
Interface for filters that use execution plans but that has portions that can be evaluated prior to retrieving the execution plan. This allows the profiler to avoid retrieving the execution plans for queries/statements if pre-plan predicates can be used to filter it out.
|