Ayende @ Rahien

It's a girl

Linq to Sql profiler – transactions

Well, here is a new thingie, L2SProf can now detect transactions.

Both standard SQL transactions:

image

And also distributed transactions using System.Transactions:

image

This is an interesting feature, because you can see how the use of different transaction strategies have a big impact on how you structure your code.

For example, with L2S, it seems like you are encouraged to read outside of a transaction. Something that I, as an NHibernate user, find quite odd.

Comments

Samuel Jack
11/17/2009 12:13 PM by
Samuel Jack

Ayende,

Amazing turnaround: I only asked for the feature 6 days ago! Thanks.

Can you take it a bit further? Can you provide a report grouping operations by their Isolation level. I'd like to be able to review everything that is working at Serializable isolation level to see whether it really needs to be that strong. I'm not quite sure how the report should be presented: perhaps it would need to be by method?

Dmitry
11/17/2009 05:26 PM by
Dmitry

That's a helpful feature. I really like that it distinguishes distributed transactions, that for some reason seem to be very common in LINQ-to-SQL codebases, from database transactions.

On a slightly different note, could it be possible to have the Profiler to record ADO commands that are sent to the connection held by the data context?

Ayende Rahien
11/18/2009 02:47 AM by
Ayende Rahien

Samuel,

Interesting suggestion, I am not explicitly tracking this at the moment.

I've added an issue for this feature

Ayende Rahien
11/18/2009 02:47 AM by
Ayende Rahien

Dmitry,

Yes, it will track commands on the connection as well

Bart Czernicki
11/18/2009 03:17 AM by
Bart Czernicki

Nice product. Something I will definitely evaluate for our use, since we use Linq2Sql for read-only OR/M calls in several places.

You should add a link to the site on the related post(s) or on the side tab, since it took me a while to backtrack and try to find the Linq to Sql Profiler beta download site.

Comments have been closed on this topic.