Microsoft has a long tradition of bundling functionality with its operating system releases, and APM is no exception. The Windows Server platform oozes with metrics richness. From the core of the NT Executive (the kernel) to the most obscure run-time subsystem ("cache read pin hits %," for example), everything has a counter.
But perhaps even more important than the number of counters is the way in which Microsoft makes them available to the developer. For legacy Windows applications that predate the .Net framework, there's the PDH (Performance Data Helper) library, a single point of reference for accessing metrics counters across the OS. Virtually every major subsystem is represented, and Windows developers can easily extend their own applications to expose custom metrics through the PDH interface.
Incidentally, PDH is also used by the graphical PerfMon (Performance Monitor) application (part of the core Windows OS) to graph and log metrics data, so writing a PDH-enabled application has the added benefit of exposing custom counters to PerfMon.
With the advent of the .Net framework, Microsoft extended its pervasive metrics model into the realm of the Web application server. All aspects of framework operation, from the JIT (Just in Time) compiler for the CLR (Common Language Runtime) virtual machine to the ASP .Net Web services libraries, are fully instrumented and exposed to the developer, both through the legacy PDH library and the newer WMI (Windows Management Instrumentation) interfaces.
Plus, when Microsoft's ETW (Event Tracing for Windows) solution debuts later this quarter, you'll literally be able to track an application's execution path as it crosses various local and network boundaries (but not Web services boundaries), regardless of the underlying development model.
It's this kind of bi-directional APM support -- with tight integration between legacy OS and current generation Web application server resources -- that helps Microsoft win hearts and minds in the developer community. With so much functionality built into the base OS (everything described above is available on the Windows product CD or as a free download) many IT shops can make do with out-of-the-box functionality and avoid investing in a costly third-party APM framework.
If Windows Server System represents the pinnacle of single-vendor APM integration, Linux, in its various permutations and distributions, represents the polar opposite: a sometimes chaotic virtual playground for those who cherish the do-it-yourself spirit.
To be sure, there are vertical APM solutions you can find if you're looking for them -- ISM's PerfMan for Linux and portions of IBM's Tivoli suite come immediately to mind. But even the big-name vendor tools often build on obscure utilities that have become immortalized as part of the greater Linux pantheon.
For example, PerfMan, a powerful commercial metrics tracking and analysis solution, wraps around sysstat, an open source command-line front end to the Linux/proc pseudo file system that is written and maintained by one spectacularly talented young programmer in France, Sebastien Godard. Likewise, many of IBM's Linux performance initiatives revolve around OProfile, an open source kernel driver/probing utility that has its origins in a computer science student's attempts to get extra credit toward his master's degree.