IP Library Granted Patent US 7,568,185
Granted Patent B1
US 7,568,185 · App. 10/823,009 · Granted Jul 28, 2009

Mechanism for program-assisted tracing actions

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,568,185
App. No.
10/823,009
Granted
Jul 28, 2009
Kind
B1
Abstract

A method for tracing an instrumented application, including loading the instrumented application into a kernel level to obtain a corresponding instrumented process, registering a helper action with a tracing framework, tracing the instrumented process using the tracing framework, wherein tracing comprises triggering a probe in the instrumented process, determining whether the helper action is associated with the probe, and performing the helper action if the helper action is associated with the probe.

Claims (38)

1. A method for tracing an instrumented application, comprising:

loading the instrumented application object file comprising a probe into a kernel level to obtain a corresponding instrumented process;

triggering, after loading the instrumented application object file, a hook in an initialization object file to load a helper object file into a kernel level for use by a tracing framework,

wherein the initialization object file is linked to the instrumented application object file,

wherein the helper object file comprises a helper action,

wherein the helper action is a stored procedure generated using an implementation specific detail associated with the instrumented application object file for obtaining a stack trace of the instrumented process,

wherein the helper object file is linked to the initialization object file,

wherein loading the helper object file comprises storing the helper action in a process helper data structure in the kernel level,

wherein the process helper data structure is accessible to the tracing framework;

registering the helper action with the tracing framework to associate the probe with the helper action loaded in the process helper data structure;

tracing the instrumented process using the tracing framework, wherein the probe is encountered during the tracing of the instrumented process;

upon encountering the probe, determining, by querying the process helper data structure, whether the helper action loaded in the process helper data structure is associated with the probe;

obtaining the helper action from the process helper data structure when the helper action is associated with the probe; and

performing the helper action to obtain the stack trace of the instrumented process when the helper action is associated with the probe.

2. The method of claim 1 , wherein the process helper data structure is associated with the instrumented process.

3. The method of claim 1 , wherein the implementation specific detail comprises at least one selected from the group consisting of an instrumented application data structure and an instrumented application algorithm.

4. The method of claim 3 , wherein the instrumented application data structure comprises an application stack.

5. A computer system, comprising:

a processor configured to:

load an instrumented application object file comprising a probe associated with an action into a kernel level to obtain a corresponding instrumented process;

load, in response to triggering a hook in an initialization file object file associated with the instrumented application object file, a helper object file into the kernel level for use by a tracing framework,

wherein the initialization object file is linked to the instrumented application object file,

wherein the helper object file comprises a helper action,

wherein the helper action is a stored procedure generated using an implementation specific detail associated with the instrumented application for obtaining a stack trace of the instrumented process,

wherein the helper object file is linked to the initialization file object file,

wherein loading the helper object file comprises storing the helper action in a process helper data structure in the kernel level, and

wherein the process helper data structure is accessible to the tracing framework;

register the helper action with the tracing framework to associate the probe with the helper action loaded in the process helper data structure;

execute the tracing framework, wherein the tracing framework is configured to:

trace the instrumented process, wherein the probe is encountered during the tracing of the instrumented process;

upon encountering the probe, determining, by querying the process helper data structure, whether the helper action loaded in the process helper data structure is associated with the probe;

obtain the helper action from the process helper data structure when the helper action is associated with the probe; and

perform the helper action to obtain the stack trace of the instrumented process when the helper action is associated with the probe, and

a storage device configured to store the stack trace of the instrumented process.

6. The system of claim 5 , wherein the implementation specific details comprise at least one selected from the group consisting of an instrumented application data structure and an instrumented application algorithm.

7. The system of claim 6 , wherein the instrumented application data structure comprises an application stack.

8. The system of claim 7 , wherein the application stack comprises at least one selected from the group consisting of an interpreter stack and a virtual machine stack.

9. The system of claim 5 , wherein the process helper data structure is associated with instrumented process.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037304/0183 →