Saturday, August 13, 2005
Solution for Deployment of Enterprise Library with Builtin Instrumentation
As already mentioned before, the EL now comes with builtin instrumentation and performance monitoring, by default. Funny thing is that during installation of EL, the performance counters required are NOT registered by default. That's only on the development platform. To compound to this issue, the same steps of registering the performance counters must be performed on the deployment platform, and of course, administrative rights is required. Duh...!
In searching for solutions to the built-in instrumentation within EL, I found the following blogs that are very useful:
In searching for solutions to the built-in instrumentation within EL, I found the following blogs that are very useful:
In instances where deploying with administrative rights is not an option i.e. externally hosted solutions, the EL must be recompiled to disable the built-in instrumentation via removing certain compiler directives.
this blog explains the steps required to achieve this, and I quote it here for ease of reference:
- Open up the EnterpriseLibrary.sln and modify the Configuration Properties\Build\Conditional Constants of the EnterpriseLibrary.Common project.
- Remove the USEWMI;USEEVENTLOG;USEPERFORMANCECOUNTER constants. By removing these constants, all of the internal Enterprise Library instrumentation will be disabled.
- Recompile.
Of course, with this solution, we introduce additional configuration management overheads. Which application works with instrumentation? Which one don't? In addition, 2 versions of EL assemblies must be maintained; with instrumentation, and without.
Headache...