1. A method for monitoring application performance, comprising: a software program receiving a set of metadata, from a server in a server cluster, about an application deployed in said server cluster, wherein the set of metadata describes a set of functional abstractions of the application and a set of components of the application, wherein each member of said set of functional abstractions describes an anticipated execution sequence of application logic for the application, wherein each member of said set of components describes a set of executable code providing a coherent set of one or more functions, wherein the software program is executing on a first hardware component, wherein the server is executing on a second hardware component, and wherein the first hardware component is not the second hardware component; the software program generating a performance model according to said set of metadata, wherein said performance model models relationships between members of said set of functional abstractions and members of said set of components; the software program determining, using said performance model, a set of performance metrics for use in monitoring and managing performance of said application; and the software program receiving a set of performance metric values for said set of performance metrics.