1. A system for managing software services, comprising: one or more microprocessors; a plurality of data collection software components in a computing environment with a plurality of virtual machines running on the one or more microprocessors, wherein the plurality of virtual machines are adapted to be deployed with services and applications; wherein each data collection software component operates to use one or more data structures to communicate with a data consumer, wherein each data structure describes metrics to be collected by said data collection software component and is capable of containing collected metric values; wherein the data consumer operates to construct a watched value list describing the metrics; and wherein each data collection software component further operates to examine the watched value list; determine a list of items that the data collection software component is able to serve: return the list of items to the data consumer; and bid for servicing a metric descriptor.