1. A method of tracking an application that is deployed as a set of application instances, where the application is instrumented with a usage monitoring application programming interface (API) that generates a log file when the application is executed, the log file comprising data associated with a set of application feature executions, failures or faults, wherein the log file data comprises a set of messages associated with the application feature executions, failures and faults, wherein the set of messages are written in a sequential order of the application feature executions, failures and faults, comprising: operating, at a service provider domain, an Internet-accessible infrastructure, the Internet-accessible infrastructure comprising a web server, an application server, and a database; receiving, by the web server, log files generated by the instrumented applications, wherein information in at least one log file is encoded in a compact data structure, and wherein at least first and second messages of the set of messages each have timestamps, and wherein the timestamp of the second message is a function of the timestamp in the first message; processing, by the application server, data aggregated from the received log files; and storing, in the database, aggregated log data; exporting, from the database and to a permitted entity, aggregated log data; where the application is one of: a server-based application, a web-based application, and a rich Internet application.