1. A system for business performance monitoring, comprising: at least one client and at least one server; a receiver for receiving messages selected from the group consisting of time events and metric instances one or more metric repositories, associated with said at least one client or at least one server, that maintain metric instances received by said receiver, each of said metric instances containing a value, a time, and a correlation field, wherein said correlation field includes user-defined correlation variables which allow for correlations between metric instances; one or more aggregation agents that create higher-level metrics which are Key Performance Indicators from lower-level metrics based on said time events and said metric instances, wherein said aggregation agents create high-level metrics which are Key Performance Indicators in real time, wherein said higher-level metrics which are Key Performance Indicators are sent to said metric repositories; and means, associated with said at least one client or said at least one server, for learning at least one relationship between metrics stored in said metric repository, performing what-if analysis wherein said what if analysis comprises the steps of receiving hypothetical metric instances, applying a model of metric relationships, and generating estimated metric instances, outputting at least one model or tool in which Key Performance Indicators reflect every day operational measures in a timely fashion, and receiving, by a computer-based knowledge agent, hypothetic business scenarios followed by responding, by the knowledge agent, to the received hypothetical business scenarios with estimated outcomes.