IP Library Granted Patent US 8,549,505
Granted Patent B2
US 8,549,505 · App. 12/542,325 · Granted Oct 1, 2013

Profiling method, system, and recording medium having a profiling program

Inventor: Shigeru Kimura (Tokyo, JP)
Assignee: Fujitsu Semiconductor Limited
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 8,549,505
App. No.
12/542,325
Granted
Oct 1, 2013
Kind
B2
Abstract

A profiling method executed by a computer and system including generating a source code by adding a call instruction for a profile acquisition function to a source program of an application, generating an execution form of a profiling target program by linking a library of profile acquisition functions to the source code, executing the profiling target program in an operating system of a target system, calling a profile acquisition driver by executing the call instruction of the profile acquisition function via the library of the profile acquisition functions, and acquiring sampling information on an execution status of the profiling target program based on an interrupt occurrence by the profile acquisition driver.

Claims (31)

1. A profiling method executed by a computer, the profiling method comprising:

generating a source code by adding a call instruction for a profile acquisition function to a source program of an application;

generating an execution form of a profiling target program by linking a library of profile acquisition functions to the source code;

executing the profiling target program in an operating system of a target system;

calling a profile acquisition driver by executing the call instruction of the profile acquisition function via the library of the profile acquisition functions; and

acquiring sampling information on an execution status of the profiling target program based on an interrupt occurrence by the profile acquisition driver,

wherein sampling information in a shared library is acquired when a profiling target process is executed upon interrupts while a plurality of processes are executed on a virtual storage system and the shared library is executed, and

wherein the sampling information in the shared library is acquired when a process identifier upon the interrupt matches a process identifier for the profiling target process while the plurality of processes are executed on the virtual storage system and the shared library is executed.

2. The profiling method according to claim 1 comprising:

incorporating the profile acquisition driver into the target system prior to the executing of the profiling target program in the operating system of the target system.

3. The profiling method according to claim 1 , wherein the sampling information is acquired based on occurrence of interrupts while a profiling target process is being executed when a plurality of processes are executed on a virtual storage system.

4. The profiling method according to claim 1 , wherein the sampling information regarding an execution status of the profiling target process is acquired.

5. The profiling method according to claim 1 , wherein the sampling information is acquired by interrupts that are generated based on an internal timer of a processer in the target system with a time shorter than a unit of time of a system timer of the operating system for a profiling target range specified by the profile acquisition function.

6. The profiling method according to claim 1 , wherein the sampling information is acquired, the sampling information is acquired by interrupts that are generated based on a hardware counter of a processer in the target system for a profiling target range specified by the profile acquisition function.

7. The profiling method according to claim 1 , wherein the acquired sampling information and hardware event information are set as a number of executions in an area that is associated with each instruction.

8. The profiling method according to claim 1 , wherein the acquired sampling information and information on data accesses are set as a number of executions in an area that is associated with each instruction.

9. The profiling method according to claim 1 , wherein an interrupt address and a number of interrupt occurrences for the interrupt address acquired as the sampling information and information on a load address of a module acquired from operating system information are checked against symbol information of the profiling target program or of the shared library.

10. The profiling method according to claim 1 , wherein an interrupt address and a number of hardware events acquired as the sampling information and the information on a load address of a module acquired from the operating system information are checked against symbol information of the profiling target program or of the shared library.

11. The profiling method according to claim 1 , wherein an interrupt address and the information on data accesses acquired as the sampling information and information on a load address of a module acquired from the operating system information are checked against symbol information of the profiling target program or of the shared library.

12. The profiling method according to claim 1 , wherein the sampling information, hardware event information and information on data accesses are merged.

13. The profiling method according to claim 1 , wherein the interrupt occurrence is generated at a time shorter than a unit of time of a system timer of the operating system.

14. A non-transitory computer-readable recording medium adapted to store a program for causing a computer to execute an operation including profiling, comprising:

executing an execution form of a profiling target program to which a call instruction for a profile acquisition function is embedded and a library of profile acquisition functions is linked in an operating system of a target system;

calling a profile acquisition driver by executing the call instruction for the profile acquisition function via the library of profile acquisition functions; and

acquiring sampling information on an execution status of the profiling target program based on an occurrence of an interrupt via the profile acquisition driver,

wherein sampling information in a shared library is acquired when a profiling target process is executed upon interrupts while a plurality of processes are executed on a virtual storage system and the shared library is executed, and

wherein the sampling information in the shared library is acquired when a process identifier upon the interrupt matches a process identifier for the profiling target process while the plurality of processes are executed on the virtual storage system and the shared library is executed.

15. The non-transitory computer-readable recording medium according to claim 14 , wherein in acquiring the sampling information, the sampling information is acquired while a profiling target process is being executed at an occurrence of interrupts when a plurality of processes are executed on a virtual storage system.

16. The non-transitory computer-readable recording medium according to claim 14 , wherein the sampling information regarding an execution status of a shared library is acquired while the profiling target process is being executed at the interrupt occurrence when a plurality of processes are executed on a virtual storage system and a shared library is executed.

17. The non-transitory computer-readable recording medium according to claim 14 , wherein the sampling information is acquired by interrupts that are generated based on an internal timer of a processer in the target system with a time shorter than or equal to a unit of time of a system timer of the operating system for a profiling target range specified by the profile acquisition function.

18. The non-transitory computer-readable recording medium according to claim 14 , wherein the sampling information is acquired by interrupts that are generated based on a hardware counter of a processer in the target system for a profiling target range specified by the profile acquisition function.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2015
From: FUJITSU SEMICONDUCTOR LIMITED
To: SOCIONEXT INC.
Reel/Frame 035508/0637 →
CHANGE OF NAME Recorded Jul 27, 2010
From: FUJITSU MICROELECTRONICS LIMITED
To: FUJITSU SEMICONDUCTOR LIMITED
Reel/Frame 024794/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2009
From: KIMURA, SHIGERU
To: FUJITSU MICROELECTRONICS LIMITED
Reel/Frame 023124/0342 →
Priority Claims (1)
JP 2008-245787 · Sep 25, 2008 · national
Continuity (1)
Related Publication 20100077388A1 · Mar 25, 2010