EF Prof
EF Prof
Profiler new feature: Too many joins detection
This is Josh’s feature, since we wrote most of the code for it together. Basically, it recognize a very common performance problem, queries that uses too many joins, such as this one: Which would result in the following warning: Queries with too many joins might be a performance problem. Each join requires the database to perform additional work, and the complexity and cost of the query grows rapidly with each additional join. While relational database are optimized for handling joins, it is often more efficient to perform several separate queries...
Profiler Speculative Feature: Query plans
This isn’t a new feature, because you can’t use it right now, but it is a really nice feature that we are working on, and I couldn’t resist showing it off hot “off the press”, so to speak. Given the following query: SELECT this_.id AS id7_1_, this_.title AS title7_1_, this_.subtitle AS subtitle7_1_, this_.allowscomments AS allowsco4_7_1_, this_.createdat AS createdat7_1_, posts2_.blogid AS blogid3_, posts2_.id AS id3_, ...
Profiler new feature: Integrating with application frameworks
One of the things that makes working with the profiler easier is the fact that it gives you not just information, but information in context. I was working with an app using Rhino Service Bus, and it really bothered me that I couldn’t immediately figure out what was the trigger for a session. When using ASP.Net or WCF, the profiler can show the URL that triggered the request, but when we are not using a url based mechanism, that turns out to be much harder. So I set out to fix that, you can see the results...
Say hello to Uber Prof
I got several requests for this, so I am making Uber Prof itself available for purchasing. What is Uber Prof? It is a short hand way of saying: All the OR/M profilers that we make. An Uber Prof license gives you the ability to use: NHibernate Profiler Hibernate Profiler Linq to SQL Profiler Entity Framework Profiler And it will automatically give you the ability to use any additional profilers that we will create. And yes, there is an upgrade path if...
What happens behind the scenes: NHibernate, Linq to SQL, Entity Framework scenario analysis
One of the things that I began doing since starting to work on multiple OR/M Profilers is to compare how all of them are handling a particular task. This is by no means a comparative analysis, but it is an interesting data point. The scenario in question is loading a blog with all its posts and comments. Let us start with NHibernate: var blogs = s.CreateQuery(
@"from Blog b
left join fetch b.Posts p
left...
Profiler New Feature: Side by Side diff
The profiler could do session diffs (showing the difference between executed statements between two sessions) for a while now, but we got some requests for changing it to follow a more traditional source control diff style. This is now done, and it should make it easier to understand the changes between two sessions:
UberProf new feature: Query Plan Cache Misuse
This is a new feature available for NHibernate Profiler*, Linq to SQL Profiler and Entity Profiler. Basically, it detects when the same query is executed with different parameter sizes, which generate different query plan in the query cache. Let us say that we issue two queries, to find users by name. (Note that I am using a syntax that will show you the size of the parameters, to demonstrate the problem). We can do this using the following queries. exec sp_executesql
N'SELECT * FROM Users WHERE Username...
ÜberProf new feature: Fully keyboard enabled
For a long time, most of the work in the profiler (NH Prof, HProf, L2S Prof & EF Prof) could be done only with the use of the mouse. That annoyed a bunch of people, but it didn’t really bother me. Rob fixed this recently, and I cannot believe what kind of a difference it makes. Here are the shortcuts: S Focus on Sessions tab header ...
ÜberProf new feature: Programmatic Integration
Well… I am still working done the list of stuff people request for the profiler (NH Prof, HProf, L2S Prof & EF Prof) , and one of the things that popped into the head of the list was wanting to have programmatic access to the profiler output. We aren’t talking about just the XML reports that are available, but to be able to get the data in a way that is easy to work with. Well, here it is: There is a new DLL in the profiler distribution, HibernatingRhinos.Profiler.Integration, where you can find the CaptureProfilerOutput...
Entity Framework Profiler is now in public beta
After some time in private beta, the Entity Framework Profiler has now to the public beta stage. For the beta period, I am offering a 30% discount for EF Prof. EF Prof brings the an unparallel level of insight into Entity Framework internals. You can see exactly what sort of actions Entity Framework takes against you database, view the results of queries, correlate queries to the matching lines of code that spawn them and get on the spot guidance when you are violating Entity Framework best practices. Here is the screen shot,...
Entity Framework Profiler: The new look
This is hot off the press (well, off of Christopher’s desk, at the very least). If all goes well, we will have it out in public beta shortly.
ÜberProf and Continuous Integration
One of the features that keep popping up for ÜberProf is that people want to use that in CI scenarios, usually to be able to programmatically check that they don’t have things like SELECT N+1 popping up, etc. With build 562 of ÜberProf, this is now possible. How does this works? We now have a command line interface for ÜberProf, with the following options: /CmdLineMode[+|-] (short form /C)/File:<string> (short form /F)/ReportFormat:{Xml|Html} (short form...