Chapter 14. Monitoring, Logging, and Profiling

No matter how well you design your system, separate its components, and simplify your architecture, a distributed application is always complicated. As a consequence, when a distributed application fails, it can be difficult to track down not only the cause of the problem but also the component where the error occurred. This is a problem for any large system, but it is particularly painful with distributed systems, where components can be spread across multiple machines, sites, and geographic locations. To manage this difficulty, you need to create a reliable logging infrastructure. Fortunately, the rich class library of the Microsoft .NET Framework makes it easy. This is the topic we'll consider in the first part of this chapter, with both server-side and client-side logging.

Of course, logging isn't just a way to identify errors and their possible causes it's also a way to record diagnostic information about an application, its usage patterns, and its performance. In this sense, logging is just one way to instrument, or profile, an application. This is the other focus of this chapter: applying the delicate science of profiling. In most cases, this means using and understanding Windows performance counters to help you gauge the performance (and changes in performance) of an application. We'll tackle that topic at the end of this chapter.



Microsoft. NET Distributed Applications(c) Integrating XML Web Services and. NET Remoting
MicrosoftВ® .NET Distributed Applications: Integrating XML Web Services and .NET Remoting (Pro-Developer)
ISBN: 0735619336
EAN: 2147483647
Year: 2005
Pages: 174

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net