A computer-implemented method for monitoring performance in a distributed computing environment, comprising: - receiving, by a data ingestion module, an instance of performance monitoring data; - extracting, by the data ingestion module, a performance metric from the instance of performance monitoring data in accordance with data ingestion rules, where the performance metric includes a value for the performance metric and a timestamp at which the performance metric was observed and a metric type for the performance metric; - extracting, by the data ingestion module, context dimension data from the instance of performance monitoring data in accordance with the data ingestion rules, where the context dimension data identifies a given computing entity to which the performance metric pertains to and includes a key that identifies a specific context dimension and a value for the specific context dimension; - creating, by the data ingestion module, a datapoint using the performance metric and the context dimension data, where the datapoint includes the value for the performance metric, the timestamp at which the performance metric was observed, the metric type for the performance metric and the context dimension data; - storing, by the data ingestion module, the datapoint in a data store; - receiving, by a model extraction module, a model generation request, where the model generation request identifies or contains model update rules; - retrieving, by the model extraction module, datapoints from the data store in accordance with the model generation request; - generating, by the model extraction module, a model element for a topology model based on the retrieved datapoints and the model update rules, where context dimension data in the retrieved data points matches an applicability criteria defined by the model update rules and specifying the key that identifies a specific context dimension, and the topology model represents at least a portion of the distributed computing environment and defines relationships between computing entities in the distributed computing environment; - updating, by the model extraction module, the topology model with the model element; and - analyzing, by an analysis module, datapoints in the data store using the updated topology model. - receiving, by a data ingestion module, an instance of performance monitoring data; - extracting, by the data ingestion module, a performance metric from the instance of performance monitoring data in accordance with data ingestion rules, where the performance metric includes a value for the performance metric and a timestamp at which the performance metric was observed and a metric type for the performance metric; - extracting, by the data ingestion module, context dimension data from the instance of performance monitoring data in accordance with the data ingestion rules, where the context dimension data identifies a given computing entity to which the performance metric pertains to and includes a key that identifies a specific context dimension and a value for the specific context dimension; - creating, by the data ingestion module, a datapoint using the performance metric and the context dimension data, where the datapoint includes the value for the performance metric, the timestamp at which the performance metric was observed, the metric type for the performance metric and the context dimension data; - storing, by the data ingestion module, the datapoint in a data store; - receiving, by a model extraction module, a model generation request, where the model generation request identifies or contains model update rules; - retrieving, by the model extraction module, datapoints from the data store in accordance with the model generation request; - generating, by the model extraction module, a model element for a topology model based on the retrieved datapoints and the model update rules, where context dimension data in the retrieved data points matches an applicability criteria defined by the model update rules and specifying the key that identifies a specific context dimension, and the topology model represents at least a portion of the distributed computing environment and defines relationships between computing entities in the distributed computing environment; - updating, by the model extraction module, the topology model with the model element; and - analyzing, by an analysis module, datapoints in the data store using the updated topology model.