Enterprise Instrumentation Framework

Samer saw a presentation on the Enterprise Instrumentation Framework earlier tonight.

Samer, I don't know the nature of the work you're doing, but I can tell you from experience that when dealing with large applications and enterprise development these are very important topics. (In that regard, I guess you could say they at least picked a good name for it).

Especially in the financial industry (or other such regulated industries), logging and auditing are crucial. Instrumentation and tracing are also rather useful for tracking down production issues, where you can't easily debug the application as you would otherwise and will very often reside in a clustered environment. It's important to be able to see what is actually going on.

The merits of tracing aside, the EIF is necessary because there's really a scarcity of suitable options in the framework right now. The only built-in tracing is with the System.Diagnostics.Trace class, but this doesn't support a publisher/subscriber model (ie the sinks you refer to), among other things. Actually, that's not true, you can explicitly wire-up different handlers, but they are done in programmatically in the code that emits the messages - so it doesn't allow you to easily attach listeners are runtime. .NET also provides limited WMI support, too, but there are a number of problems there, most notably the performance. There are other solutions, like ETW, but then you're not really dealing in managed space anymore. Hopefully, EIF is positioned to fill this void. 

So, that being said, are there any interesting materials from the presentation available? I've started to look at it for my own edification to some extent, but as you mentioned there's not a whole lot of good, technical information out there on it (at least that I've seen). (If it's any indication, your post is in the top 3 if you google it).

EngineeringWriting