Systems and methods for monitoring business applications are disclosed. Data is provided from an application programming interface (API) in a monitored application to a collection runtime. The collection runtime collects data based upon a data collection model. A current time increment is assigned to the collected data. The collected data is provided as a stream of event data to an event processing service, which performs one or more queries on the data stream. The results of the queries are provided to a data store and/or to a user interface. The data collection model is created from a data collection profile, and the queries are created from an observation model.