Patent ID: 9183116
Filing Date: 2015-11-10
Classification: G06F

Abstract:
1. A process for inspecting usage of a computational resource, including: recording resource usage stack traces in a digital memory during execution of a software program in a computing system, the resource usage stack traces being recorded when one or more of the following occur: the computational resource is sampled, a portion of the computational resource is allocated, or a portion of the computational resource is freed, wherein each stack trace which is recorded when the computational resource is sampled or when a portion of the computational resource is allocated has a lifespan and a resource impact and at least one constituent call chain; noting at least one snapshot request, each snapshot request having a timestamp indicating a position of the snapshot request within an execution period of the software program; assigning resource usage stack traces to a snapshot set of the snapshot request based on resource usage stack trace lifespans and the snapshot request timestamp; and unifying call chains of the resource usage stack traces of the snapshot set by identifying instances of at least one shared call chain in at least two of the resource usage stack traces and by summing the respective resource impacts of each instance of the shared call chain; wherein each resource usage stack trace's lifespan has a duration and a start, and resource usage stack traces are assigned to the snapshot set using at least one of the following: an active aggregation in that a resource usage stack trace is assigned to the snapshot set only if the snapshot request is made during the resource usage stack trace's lifespan, or a precursor aggregation in that a resource usage stack trace is assigned to the snapshot set only if the snapshot request was made after the start of the resource usage stack trace's lifespan.