Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of monitoring execution of a program by a processor to determine whether a tracepoint has occurred, the method comprising: receiving, by a sampling module, a budget cost for monitoring occurrence of a plurality of tracepoints that may occur as a result of operation of a processing device; organizing a plurality of tracepoints into a plurality of buckets such that each of the buckets corresponds to a range of expected interarrival times, and all tracepoints in a bucket have an expected interarrival time that is within the corresponding range for that bucket; assigning a trigger to a first plurality of the bucketed tracepoints to yield a plurality of triggered tracepoints, wherein the triggers are proportionally assigned such that a tracepoint having a low associated expected interarrival time is less likely to be assigned a trigger than an tracepoint having a high associated expected interarrival time, wherein an expected cost of the triggered tracepoints does not exceed the budget cost; and monitoring tracepoint occurrence during a first period of operation of the processing device for occurrence of triggered tracepoints.
2. The method of claim 1 , wherein organizing a plurality of tracepoints into a plurality of buckets comprises: creating a plurality of buckets by: identifying a total range of all interarrival times, performing a logarithmic division of the total range of interarrival times to produce a plurality of intermediate ranges, and assigning each bucket to a unique intermediate range; and placing each of the first plurality of tracepoints into an appropriate bucket based upon that tracepoint's expected interarrival time.
3. The method of claim 1 , wherein each trigger comprises an associated triggering time, wherein the triggering time comprises: a first amount of time associated with setting the trigger; a second amount of time associated with firing the trigger; and a third amount of time associated with turning the trigger off.
4. The method of claim 3 , further comprising: for each triggered tracepoint, determining a probability that the triggered tracepoint will occur during the first period of operation; for each triggered tracepoint that is determined to be likely to occur during the first time period, determine a total monitoring time based upon the associated triggering times for each of the triggered tracepoints that are determined to occur; and comparing the total monitoring time against the budget cost to determine a likelihood the monitoring will exceed the budget cost.
5. The method of claim 1 , further comprising: reassigning a trigger to a second plurality of bucketed tracepoints; and monitoring tracepoint occurrence during a second period of operation of the processing device for occurrence of triggered tracepoints.
6. The method of claim 1 , further comprising updating, after monitoring the first plurality of tracepoints for a plurality of time periods, the expected interarrival times associated with each of the plurality of tracepoints based upon an updated likelihood of each of the plurality of tracepoints occurring.
7. The method of claim 6 , further comprising: identify a third plurality of tracepoints that comprise an expected interarrival time greater than an expected overall operational time of the processing device; and classify the identified third plurality of tracepoints as likely to never occur during operation of the processing device.
8. The method of claim 7 , further comprising assigning a high number of triggers to the tracepoints classified as likely to never occur.
9. The method of claim 1 , further comprising determining a total elapsed time associated with each trigger occurrence as each triggered tracepoint occurs during the monitoring.
10. The method of claim 9 , further comprising determining an updated probability of each remaining triggered tracepoint occurring exceeding the budget cost.
11. The method of claim 10 , further comprising shutting off each of the remaining triggers as a single batch operation if the updated probability of each remaining triggered tracepoint occurring does exceed the budget cost.
12. The method of claim 1 , wherein the budget cost comprises a portion of a period of time of operation of the processing device that is determined to be an acceptable loss of processing time.
13. A system for monitoring execution of a program to determine whether a tracepoint has occurred comprising: a processing device; and a non-transitory storage medium operably connected to the processing device and configured to store a set of instructions that, when executed, cause the processing device to: assign each of a plurality of tracepoints to one of a plurality of buckets based upon an expected interarrival time of that tracepoint, proportionally assign one or more triggers to the plurality of tracepoints such that the triggers are distributed amongst each of the plurality of buckets, monitor execution of a computer program for an event occurrence related to one or more triggered tracepoints being triggered for a first period of time, in response to an event occurrence, process a called tracepoint to identify and remove the trigger associated with the called tracepoint and record that the tracepoint has been called, and after the first period of time has elapsed, turn off all remaining triggers associated with tracepoints that were not called during the first time period.
14. The system of claim 13 , wherein each tracepoint is assigned to one of the plurality of buckets such that each of the buckets corresponds to a range of expected interarrival times, and all tracepoints in a bucket have an expected interarrival time that is within the corresponding range for that bucket.
15. The system of claim 13 , further comprising instructions for causing the processing device to determine a total time associated with each trigger occurrence as each triggered tracepoint occurs during the monitoring.
16. The system of claim 15 , further comprising instructions for causing the processing device to determine an updated probability of each remaining triggered tracepoint occurring exceeding a budget cost for monitoring.
17. The system of claim 16 , further comprising further comprising instructions for causing the processing device to shut off each of the remaining triggers as a single batch operation if the updated probability of each remaining triggered tracepoint occurring does exceed the budget cost.
18. A method of preventing a monitoring system from exceeding a budget cost, the method comprising: monitoring, by a processing device, tracepoint occurrence during a first period of operation of the processing device for a plurality of triggered tracepoints; determining, by the processing device, a triggering time associated with each triggered tracepoint of the plurality of triggered tracepoints that has not been called; determining, by the processing device, a probability for each of the plurality of triggered tracepoints that have not been called, wherein the probability indicates whether a tracepoint is likely to be called before expiration of the first period of operation; determining, by the processing device, a total remaining time based upon each tracepoint that is probable to be called before expiration of the first period of operation, wherein the total remaining time is a sum of the triggering times for each of the tracepoints that is probable to be called; and if the total remaining time exceeds a remaining time left in the first period of operation, shutting off, by the processing device, all remaining triggers in a single batch operation.
19. The method of claim 18 , wherein each tracepoint is one of a plurality of tracepoints assigned to one of a plurality of buckets such that each of the buckets corresponds to a range of expected interarrival times, and all tracepoints in a bucket have an expected interarrival time that is within the corresponding range for that bucket.
20. The method of claim 18 , wherein each triggering time comprises: a first amount of time associated with setting a trigger for a particular tracepoint; a second amount of time associated with firing the trigger for the particular tracepoint; and a third amount of time associated with turning the trigger off for the particular tracepoint.
Unknown
January 13, 2015
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.