1. A method for limiting resources allocated to tracing an application so that tracing the application does not degrade the application performance beyond a desired minimum performance level when the application is executing, the method being performed by a computer processor, and said method comprising: receiving a list of objects to trace for an application, said list of objects defining trace data for the application based on input parameters or other objects identified through preliminary analysis of the application; grouping objects in the list into one or more trace objectives which form smaller tracing units that can be dispatched to one or more devices used for tracing the application, the smaller units of the trace objectives being operative to gather portions of the trace data which are aggregated to at least approximate the trace data; for each trace objective, based on resources that will be required to gather some portion of the trace data when using a given trace objective, determining a tracer cost for each trace objective; determining a tracing resource budget for a given device used to trace the application when executing the application at a given device, the tracing resource budget representing a desired minimum performance level for the application while being traced during execution of the application at the given device; selecting a first trace objective having a first tracer cost; dispatching the first tracer cost to the given device, and determining whether said first tracer cost is less than said tracing resource budget, and if so using the first trace objective to trace the application while executing at the given device; collecting trace results from the first trace objective; optimizing the collected trace results by removing statistically insignificant input parameters and searching for potentially significant input parameters; continuing to dispatch one or more other trace objectives and for each of the one or more other trace objectives, determining whether a corresponding tracer cost is less than said tracing resource budget, and if so using the one or more other trace objectives to trace the application while executing at the given device, then collecting trace results for the one or more other trace objectives, and optimizing the collected trace results for the one or more other trace objectives; and aggregating the collected and optimized trace results.