Claims
- 1. A method of gathering data for two or more applications, comprising:
determining that the two or more applications cannot execute simultaneously, wherein each of the applications samples data; ascertaining a sampling rate of each of the two or more applications; increasing the sampling rate for each of the two or more applications; and alternating the sampling of data by the two or more applications at the increased sampling rate over a period of time.
- 2. The method as recited in claim 1, wherein the sampling rate is user-specified or pre-defined.
- 3. The method as recited in claim 1, further comprising:
storing the data that is sampled by the two or more applications; averaging the data that is sampled by each of the applications such that an average sampled value is obtained for each of the applications.
- 4. The method as recited in claim 1, wherein each of the applications sample data from a different data source.
- 5. The method as recited in claim 1, wherein each of the applications sample data from the same data source.
- 6. The method as recited in claim 1, wherein the period of time that sampling has been requested is multiplied by the number of applications.
- 7. The method as recited in claim 1, wherein each of the applications is a system utility.
- 8. The method as recited in claim 7, wherein the system utility is an operating system utility.
- 9. The method as recited in claim 7, wherein the system utility is a statistics gathering utility.
- 10. The method as recited in claim 1, further comprising:
generating a Java wrapper for one or more of the applications at the increased sampling rate.
- 11. The method as recited in claim 10, wherein the Java wrapper averages the data that is sampled by the one or more of the applications such that an average sampled value is obtained for each of the one or more of the applications
- 12. The method as recited in claim 10, wherein each Java wrapper executes one or more of the applications over non-sequential segments of time during the period of time at the increased sampling rate.
- 13. The method as recited in claim 12, wherein the increased sampling rate corresponds to the number of applications that are executed.
- 14. The method as recited in claim 12, wherein the non-sequential segments of time are smaller time intervals than specified by the corresponding application.
- 15. The method as recited in claim 1, wherein the increased sampling rate corresponds to the number of applications that are executed.
- 16. The method as recited in claim 1, wherein each of the applications samples data stored in hardware registers.
- 17. The method as recited in claim 1, wherein each of the applications samples data using one or more hardware registers.
- 18. The method as recited in claim 1, further comprising:
wherein ascertaining a sampling rate comprises obtaining a sampling time interval for each of the two or more applications; and wherein increasing the sampling rate for each of the two or more applications includes reducing the sampling time interval.
- 19. The method as recited in claim 18, further comprising:
obtaining a total number of samples requested for each of the two or more applications; wherein increasing the sampling rate for each of the two or more applications includes increasing the total number of samples for each of the two or more applications over the period of time.
- 20. The method as recited in claim 1, further comprising:
obtaining a total number of samples requested for each of the two or more applications; wherein increasing the sampling rate for each of the two or more applications includes increasing the total number of samples for each of the two or more applications over the period of time.
- 21. The method as recited in claim 1, further comprising:
receiving a selection of the two or more applications.
- 22. A computer-readable medium storing thereon computer-readable instructions for gathering data for two or more applications, comprising:
instructions for determining that the two or more applications cannot execute simultaneously, wherein each of the applications samples data; instructions for ascertaining a sampling rate of each of the two or more applications; instructions for increasing the sampling rate for each of the two or more applications; and instructions for alternating the sampling of data by the two or more applications at the increased sampling rate over a period of time.
- 23. An apparatus for gathering data for two or more applications, comprising:
means for determining that the two or more applications cannot execute simultaneously, wherein each of the applications samples data; means for ascertaining a sampling rate of each of the two or more applications; means for increasing the sampling rate for each of the two or more applications; and means for alternating the sampling of data by the two or more applications at the increased sampling rate over a period of time.
- 24. An apparatus for gathering data for two or more applications, comprising:
a processor; and a memory, at least one of the processor and the memory being adapted for: determining that the two or more applications cannot execute simultaneously, wherein each of the applications samples data; ascertaining a sampling rate of each of the two or more applications; increasing the sampling rate for each of the two or more applications; and alternating the sampling of data by the two or more applications at the increased sampling rate over a period of time.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This invention is related to U.S. patent application Ser. No. ______ (Attorney Docket No. SUN1P857/P9686), filed on the same day as this patent application, naming Liu et al. as inventors, and entitled “SYSTEMS AND METHODS FOR SOFTWARE PERFORMANCE TUNING.” That application is incorporated herein by reference in its entirety and for all purposes.
[0002] This invention is also related to U.S. patent application Ser. No. ______ (Attorney Docket No. SUN1P858/P9687), filed on the same day as this patent application, naming Liu et al. as inventors, and entitled “SYSTEM FOR EFFICIENTLY ACQUIRING AND SHARING RUNTIME STATISTICS.” That application is incorporated herein by reference in its entirety and for all purposes.