Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method comprising: receiving an interrupt at a device driver executing on a processor; in response to receiving the interrupt, storing, by the device driver, sampled context information that corresponds to a native process that is executing on the processor; in response to storing the sampled context information, using the device driver to notify a sampling thread; in response to being notified, using the sampling thread to identify one or more returned call stack nodes; correlating, using the sampling thread, the returned call stack nodes with the sampled context information, the correlating further comprising: identifying, based upon the sampled context information, one or more native function leaf nodes that correspond to the native process; and integrating the native function leaf nodes with the returned call stack nodes, the integrating resulting in a unified output tree; and storing the unified output tree.
2. The method of claim 1 wherein the sampled context information comprise a program counter, a thread identifier, and a process identifier, the method further comprising: identifying a loaded module corresponding to the program counter; and harvesting one or more symbols for the loaded module.
3. The method of claim 2 further comprising: determining that the program counter does not correspond to a current method; and performing the integration of the native function leaf nodes with the returned call stack nodes in response to determining that the program counter does not correspond to the current method.
4. The method of claim 1 wherein the integrating results in coupling one or more of the native function leaf nodes to one or more of the returned call stack nodes.
5. The method of claim 1 further comprising: incrementing a sample count in the unified output tree.
6. The method of claim 1 wherein call stack information corresponding to the returned call stack nodes is received from a Java™ Virtual Machine.
7. The method of claim 1 wherein the notification includes the device driver sending a notification to the sampling thread.
8. A computer program product stored on a computer operable storage media, the computer operable media containing instructions for execution by a computer, which, when executed by the computer, cause the computer to implement a method of generating call stack information, the method comprising: receiving an interrupt at a device driver executing on a processor; in response to receiving the interrupt, storing, by the device driver, sampled context information that corresponds to a native process that is executing on the processor; in response to storing the sampled context information, using the device driver to notify a sampling thread; in response to being notified, using the sampling thread to identify one or more returned call stack nodes; correlating, using the sampling thread, the returned call stack nodes with the sampled context information, the correlating further comprising: identifying, based upon the sampled context information, one or more native function leaf nodes that correspond to the native process; and integrating the native function leaf nodes with the returned call stack nodes, the integrating resulting in a unified output tree; and storing the unified output tree.
9. The computer program product of claim 8 wherein the sampled context information comprise a program counter, a thread identifier, and a process identifier, the method further comprising: identifying a loaded module corresponding to the program counter; and harvesting one or more symbols for the loaded module.
10. The computer program product of claim 9 wherein the method further comprises: determining that the program counter does not correspond to a current method; and performing the integration of the native function leaf nodes with the returned call stack nodes in response to determining that the program counter does not correspond to the current method.
11. The computer program product of claim 8 wherein the integrating results in coupling one or more of the native function leaf nodes to one or more of the returned call stack nodes.
12. An information handling system comprising: one or more processors; a memory accessible by the processors; one or more nonvolatile storage devices accessible by the processors; and a set of instructions stored in the memory, wherein one or more of the processors executes the set of instructions in order to perform actions of: receiving an interrupt at a device driver executing on one of the processors; in response to receiving the interrupt, storing, by the device driver, sampled context information that corresponds to a native process that is executing on one of the processors; in response to storing the sampled context information, using the device driver to notify a sampling thread; in response to being notified, using the sampling thread to identify one or more returned call stack nodes; correlating, using the sampling thread, the returned call stack nodes with the sampled context information, the correlating further comprising: identifying, based upon the sampled context information, one or more native function leaf nodes that correspond to the native process; and integrating the native function leaf nodes with the returned call stack nodes, the integrating resulting in a unified output tree; and storing the unified output tree in one of the nonvolatile storage devices.
13. The information handling system of claim 12 wherein the sampled context information comprise a program counter, a thread identifier, and a process identifier, further comprising an additional set of instructions in order to perform actions of: identifying a loaded module corresponding to the program counter; and harvesting one or more symbols for the loaded module.
14. The information handling system of claim 13 further comprising an additional set of instructions in order to perform actions of: determining that the program counter does not correspond to a current method; and performing the integration of the native function leaf nodes with the returned call stack nodes in response to determining that the program counter does not correspond to the current method.
Unknown
June 14, 2011
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.