public UnparametrizedWhereClausesPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Unparameterized Where Clauses",
                PluginDescription =
                "Unparameterized queries(ad-hoc queries) will cause more resource consumption (higher CPU and Memory usage of the the database server)."+
                Environment.NewLine +
                " Also if you are calling these queries using the `Database.SqlQuery/ExecuteSqlCommand` method directly, be aware of possible SQL injection attacks." +
                Environment.NewLine +
                @"If you are using SQL Server, try enabling parameterization:
            -- Enabling Parameterization
            ALTER DATABASE dbName SET PARAMETERIZATION FORCED;
            -- Optimizing for Ad hoc Workloads
            sp_configure 'show advanced options',1; RECONFIGURE; sp_configure 'optimize for ad hoc workloads',1; RECONFIGURE;" + Environment.NewLine
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public UnparametrizedWhereClausesPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Unparameterized Where Clauses",
                PluginDescription =
                    "Unparameterized queries(ad-hoc queries) will cause more resource consumption (higher CPU and Memory usage of the the database server)." +
                    Environment.NewLine +
                    " Also if you are calling these queries using the `Database.SqlQuery/ExecuteSqlCommand` method directly, be aware of possible SQL injection attacks." +
                    Environment.NewLine +
                    @"If you are using SQL Server, try enabling parameterization:
-- Enabling Parameterization
ALTER DATABASE dbName SET PARAMETERIZATION FORCED;
-- Optimizing for Ad hoc Workloads
sp_configure 'show advanced options',1; RECONFIGURE; sp_configure 'optimize for ad hoc workloads',1; RECONFIGURE;" + Environment.NewLine
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #3
0
        public SelectStarPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Select *",
                PluginDescription = "SELECT * makes the Table / Index Scan Monster come!"
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #4
0
        public MultipleContextPerRequestPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Multiple Contexts Per Request",
                PluginDescription = "Each new context, means creating a new connection without resuing the existing one."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #5
0
        public FunctionCallsInWhereClausePlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Function Calls In Where Clause",
                PluginDescription = "When functions are used in the WHERE clause, this forces SQL Server to do a table scan or index scan to get the correct results instead of doing an index seek if there is an index that can be used."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #6
0
        public ApplicationAnnouncementsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Announcements",
                PluginDescription = "Latest news of the project."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Application;
        }
        public FunctionCallsInWhereClausePlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Function Calls In Where Clause",
                PluginDescription = "When functions are used in the WHERE clause, this forces SQL Server to do a table scan or index scan to get the correct results instead of doing an index seek if there is an index that can be used."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #8
0
        public EFTrafficLoggerPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "By Contexts",
                PluginDescription = "By Contexts Plugin, sorts all of the EF interactions with the database by context."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
Пример #9
0
        public DumperPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Save And Replay",
                PluginDescription = "Dumper Plugin writes all of the received JSON contents from the Web API to a file."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
Пример #10
0
        public FullTableScansPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Full Table Scans",
                PluginDescription = "Full Table Scans Plugin, represents the issued SQL commands containing `LIKE '%...'` by EF."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #11
0
        public ByExceptionPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "By Exceptions",
                PluginDescription = "By Exceptions Plugin, Collects the exceptional issued SQL commands by EF."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #12
0
        public DuplicateJoinsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Duplicate Joins",
                PluginDescription = "Having duplicate joins to the same table, in the query."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #13
0
        public LongConnectionsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Long Connections",
                PluginDescription = "EF connections won’t be closed until the ObjectResult has been completely consumed or disposed. So if you are keeping the connection open, because the UI data binding is not done yet, there will be a lot of ASYNC_NETWORK_IO waits for the query at database side, which are hazardous."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public CommandsByRowsReturned()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Commands By Rows Returned",
                PluginDescription = "Visualizing Excessive Number Of Rows Returned."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
Пример #15
0
        public PossibleSqlInjectionsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Possible SQL Injections",
                PluginDescription = "Unparameterized queries using the `Database.SqlQuery/ExecuteSqlCommand` methods directly, could be target of possible SQL injection attacks."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public CommandsByJoinsCountPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Commands By Joins Count",
                PluginDescription = "Visualizing the most expensive commands."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
        public LongConnectionsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Long Connections",
                PluginDescription = "EF connections won’t be closed until the ObjectResult has been completely consumed or disposed. So if you are keeping the connection open, because the UI data binding is not done yet, there will be a lot of ASYNC_NETWORK_IO waits for the query at database side, which are hazardous."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #18
0
        public ByMethodsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Query From View",
                PluginDescription = "Doing queries from ASP.NET views is the sign of a bad design and also excessive lazy loading."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public DuplicateJoinsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Duplicate Joins",
                PluginDescription = "Having duplicate joins to the same table, in the query."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #20
0
        public ArithmeticOverflowPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Arithmetic Overflow",
                PluginDescription = "Queries like `select sum(f1) from tbl1;` are suspected to `Arithmetic Overflow` errors."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #21
0
        public ByExceptionPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "By Exceptions",
                PluginDescription = "By Exceptions Plugin, Collects the exceptional issued SQL commands by EF."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #22
0
        public SelectStarPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Select *",
                PluginDescription = "SELECT * makes the Table / Index Scan Monster come!"
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public UseFirstLevelCachePlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Use First Level Cache",
                PluginDescription = "By using EntityFramework's Find method, If an entity with the given primary key values exists in the context, then it is returned immediately without making a request to the store."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public ApplicationAnnouncementsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Announcements",
                PluginDescription = "Latest news of the project."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Application;
        }
        public CommandsByRequestIdPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Commands By Request IDs",
                PluginDescription = "Visualizing Requests Activities."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
        public InCorrectNullComparisonsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Incorrect Null Comparisons",
                PluginDescription = "Incorrect Null Comparisons: `select * from myTable where field1 = null`. It should be `select * from myTable where field1 IS null`."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #27
0
        public ByUrlPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "By Urls",
                PluginDescription = "By Urls Plugin, represents the sorted issued SQL commands by Url."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
        public CommandsByRowsReturned()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Commands By Rows Returned",
                PluginDescription = "Visualizing Excessive Number Of Rows Returned."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
Пример #29
0
        public UnparametrizedWhereClausesPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Unparameterized Where Clauses",
                PluginDescription = "Unparameterized queries(ad-hoc queries) will cause more resource consumption (higher CPU and Memory usage of the the database server)."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public ContextInMultipleThreadsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Context In Multiple Threads",
                PluginDescription = "ObjectContex and DbContext are not thread safe. Using a single ObjectContext in multiple threads will corrupt your data."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public FullTableScansPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Full Table Scans",
                PluginDescription = "Full Table Scans Plugin, represents the issued SQL commands containing `LIKE '%...'` by EF."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #32
0
        public ByUrlPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "By Urls",
                PluginDescription = "By Urls Plugin, represents the sorted issued SQL commands by Url."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
Пример #33
0
        public InCorrectNullComparisonsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Incorrect Null Comparisons",
                PluginDescription = "Incorrect Null Comparisons: `select * from myTable where field1 = null`. It should be `select * from myTable where field1 IS null`."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public CommandsByTimePlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Commands Time Line",
                PluginDescription = "Visualizing Commands Time Line."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
        public DuplicateCommandsPerMethodPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Duplicate Commands Per Method",
                PluginDescription = "Duplicate commands per method are the sign of excessive lazy loading or possible multiple enumeration of IEnumerable. Try using `Include` or `ToList` methods to fix it."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public RequestEntityTooLargePlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Large Query Entities",
                PluginDescription = "The received SQL string size is too large (> 20 KB)."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public MultipleContextPerRequestPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Multiple Contexts Per Request",
                PluginDescription = "Each new context, means creating a new connection without resuing the existing one."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public StaticResourcesQueriesPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Static Resources Queries",
                PluginDescription = "Static Resources Queries Plugin, represents the issued queries from the static resources/files requests."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #39
0
        public RawLoggerPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Raw Logger",
                PluginDescription = "RawLogger Plugin logs all of the received JSON contents from the Web API."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
Пример #40
0
        public RequestEntityTooLargePlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Large Query Entities",
                PluginDescription = "The received SQL string size is too large (> 20 KB)."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public PossibleSqlInjectionsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Possible SQL Injections",
                PluginDescription = "Unparameterized queries using the `Database.SqlQuery/ExecuteSqlCommand` methods directly, could be target of possible SQL injection attacks."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #42
0
        public ApplicationExceptionsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Exceptions",
                PluginDescription = "Shows the current application's exceptions."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Application;
        }
        public ConnectionsByRoundtripsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Connections By Roundtrips",
                PluginDescription = "Visualizing the most active connectins and possible incorrect lazy loadings."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
Пример #44
0
        public DumperPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Save And Replay",
                PluginDescription = "Dumper Plugin writes all of the received JSON contents from the Web API to a file."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
Пример #45
0
        public ByTransactionsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "By Transactions",
                PluginDescription = "By Transactions Plugin, represents the issued transactions by EF."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
        public ApplicationExceptionsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Exceptions",
                PluginDescription = "Shows the current application's exceptions."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Application;
        }
        public ConnectionsByRoundtripsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Connections By Roundtrips",
                PluginDescription = "Visualizing the most active connectins and possible incorrect lazy loadings."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
Пример #48
0
        public RawLoggerPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Raw Logger",
                PluginDescription = "RawLogger Plugin logs all of the received JSON contents from the Web API."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
        public ArithmeticOverflowPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Arithmetic Overflow",
                PluginDescription = "Queries like `select sum(f1) from tbl1;` are suspected to `Arithmetic Overflow` errors."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #50
0
        public ContextInMultipleThreadsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Context In Multiple Threads",
                PluginDescription = "ObjectContex and DbContext are not thread safe. Using a single ObjectContext in multiple threads will corrupt your data."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
Пример #51
0
        public CommandsByJoinsCountPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Commands By Joins Count",
                PluginDescription = "Visualizing the most expensive commands."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
        public DuplicateCommandsPerMethodPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Duplicate Commands Per Method",
                PluginDescription = "Duplicate commands per method are the sign of excessive lazy loading or possible multiple enumeration of IEnumerable. Try using `Include` or `ToList` methods to fix it."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }
        public EFTrafficLoggerPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "By Contexts",
                PluginDescription = "By Contexts Plugin, sorts all of the EF interactions with the database by context."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
        public CommandsByExecutionTimePlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Commands By Execution Time",
                PluginDescription = "Visualizing the most time consuming commands."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
Пример #55
0
        public ByConnectionsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "By Connections",
                PluginDescription = "By Connections Plugin, represents the issued connections by EF."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
        public CommandsByRequestIdPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Commands By Request IDs",
                PluginDescription = "Visualizing Requests Activities."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
Пример #57
0
        public ByMethodsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "By Methods",
                PluginDescription = "By Methods Plugin, represents the issued SQL commands from diffrent methods of the system."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Loggers;
        }
Пример #58
0
        public CommandsByTimePlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName        = "Commands Time Line",
                PluginDescription = "Visualizing Commands Time Line."
            };

            PluginAuthor = new PluginAuthor
            {
                Name       = "VahidN",
                Email      = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
        public CommandsByExecutionTimePlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Commands By Execution Time",
                PluginDescription = "Visualizing the most time consuming commands."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Visualizers;
        }
        public UnboundedResultSetsPlugin()
        {
            PluginMetadata = new PluginMetadata
            {
                PluginName = "Unbounded Result Sets",
                PluginDescription = "Unbounded result set performs a query without explicitly limiting the number of returned results. "+
                                    "These queries are the main cause of out of memory errors."
            };

            PluginAuthor = new PluginAuthor
            {
                Name = "VahidN",
                Email = "",
                WebSiteUrl = "http://www.dotnettips.info"
            };

            Category = PluginCategory.Alerts;
        }