7962924

System and Method for Call Stack Sampling Combined with Node and Instruction Tracing

PublishedJune 14, 2011
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
14 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

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

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

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

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

5. The method of claim 1 further comprising: incrementing a sample count in the unified output tree.

6

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

7. The method of claim 1 wherein the notification includes the device driver sending a notification to the sampling thread.

8

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

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

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

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

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

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

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.

Patent Metadata

Filing Date

Unknown

Publication Date

June 14, 2011

Inventors

Kean G. Kuiper
Frank Eliot Levine
Enio Manuel Pineda

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SYSTEM AND METHOD FOR CALL STACK SAMPLING COMBINED WITH NODE AND INSTRUCTION TRACING” (7962924). https://patentable.app/patents/7962924

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

SYSTEM AND METHOD FOR CALL STACK SAMPLING COMBINED WITH NODE AND INSTRUCTION TRACING — Kean G. Kuiper | Patentable