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

  ClassDescription
Public classDeadlockVictimFilter
The DeadlockVictimFilter evaluates whether a query was chosen as the deadlock victim during execution.
Public classExecutionTimeAndPageReadsFilter
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.
Public classExecutionTimeFilter
The ExecutionTimeFilter evaluates whether a query has exceeded the specified execution time (db-side, query execution time).
Public classFilterRequiresExecutionPlanException
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.
Public classInfoMessageFilter
The InfoMessageFilter evaluates if SQL Server returned an info message containing the string specified when the filter's constructor was called.
Public classMissingIndexAndPageReadsFilter
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.
Public classMissingIndexFilter
The MissingIndexFilter filters out queries whose execution plan contain a missing index
Public classNullFilter
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.
Public classPageReadFilter
The PageReadFilter evaluates whether a query has exceeded the specified number of page reads during execution.
Public classPageReadsPerSecondFilter
The PageReadsPerSecondFilter evaluates whether a query performed page reads below the threshold specified when the filter's constructor was called.
Public classPrePlanPostPlanFilter
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.
Public classProfilerFilter
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.
Public classProfilerFilterDisabled
The ProfilerFilterDisabled filter effectively disables all logging within a profiler session.
Public classTableFilter
The TableFilter evaluates whether a query involves a table with the name specified in the call to the filter's constructor.
Public classTableScanFilter
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.
Public classUsesExecutionPlanDataAttribute
Custom attribute indicating that a Linq-to-SQL profiler filter requires SQL Server execution plan data to evaluate the filter conditions.

Interfaces

  InterfaceDescription
Public interfaceIExecutionPlanPreAndPostFilter
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.