System and method for providing trace information
    1.
    发明授权
    System and method for providing trace information 有权
    提供跟踪信息的系统和方法

    公开(公告)号:US06338159B1

    公开(公告)日:2002-01-08

    申请号:US09343424

    申请日:1999-06-30

    IPC分类号: G06F944

    摘要: The present invention is a system, method, and computer readable medium for representing program event trace information in a way which is very compact and efficient, and yet supports a wide variety of queries regarding system performance. The tracing and reduction of the present invention may be dynamic, in which case information is obtained and added to the trace representation in real-time. Alternately, the tracing and reduction may be static, in which case a trace text file or binary file is obtained from a trace buffer, and the reduction takes place using the trace file as input. The trace information, whether obtained statically or dynamically, is represented as a tree of events. The present invention may be used to present many types of trace information in a compact manner which supports performance queries. For example, the tree structure of the present invention may reflect the call stacks observed during a program's execution, and statistics regarding the memory allocated/deallocated in the various routines and call stacks may be stored at each node of the tree. The tree structure may be used to store performance information regarding Java bytecodes executed, memory allocated, or other types of performance information. The trace information is presented in a manner which is compact and efficient, and may be used to quickly and easily answer a variety of performance queries. Further, a system may be traced for long periods of time without losing useful performance information due to a limited buffer space.

    摘要翻译: 本发明是用于以非常紧凑和有效的方式表示节目事件跟踪信息的系统,方法和计算机可读介质,并且还支持关于系统性能的各种查询。 本发明的追踪和缩减可以是动态的,在这种情况下,实时获得信息并添加到跟踪表示中。 或者,跟踪和缩减可以是静态的,在这种情况下,从跟踪缓冲区获取跟踪文本文件或二进制文件,并且使用跟踪文件作为输入进行缩小。 跟踪信息(无论是静态获取还是动态获取)都表示为事件树。 本发明可以用于呈现支持性能查询的紧凑方式的许多类型的跟踪信息。 例如,本发明的树结构可以反映在程序执行期间观察到的调用堆栈,并且关于在各种例程和调用堆栈中分配/释放的存储器的统计信息可以存储在树的每个节点处。 树结构可以用于存储关于执行的Java字节码,分配的存储器或其他类型的性能信息的性能信息。 跟踪信息以紧凑和高效的方式呈现,并且可以用于快速和容易地回答各种性能查询。 此外,系统可以被追踪长时间,而不会由于有限的缓冲区空间而丢失有用的性能信息。

    Method and system for merging event-based data and sampled data into postprocessed trace output
    3.
    发明授权
    Method and system for merging event-based data and sampled data into postprocessed trace output 失效
    将基于事件的数据和采样数据合并到后处理跟踪输出中的方法和系统

    公开(公告)号:US06513155B1

    公开(公告)日:2003-01-28

    申请号:US09343438

    申请日:1999-06-30

    IPC分类号: G06F1730

    摘要: A process and system for profiling code executing on a data processing system is provided. Event-based trace data is recorded in response to selected events, and the event-based trace data includes an indication which code is being interrupted. The trace data may be processed to identify a thread or method that was executing during the event. A periodically occurring event is also detected, and a call stack associated with the profiled code is identified in response to detection of the periodically occurring event, such as a timer interrupt. The call stack is examined to identify each routine that is currently executing during the periodically occurring event, and the trace data is recorded with the call stack information. The trace data from the recorded events and the trace data from the call stacks are processed to generate a tree structure in which the nodes indicate the call structure of the routine information from both the trace events and the call stacks.

    摘要翻译: 提供了用于在数据处理系统上执行代码分析的过程和系统。 响应于所选择的事件记录基于事件的跟踪数据,并且基于事件的跟踪数据包括哪个代码被中断的指示。 可以处理跟踪数据以识别在事件期间正在执行的线程或方法。 还检测到周期性发生的事件,并且响应于诸如定时器中断的周期性发生的事件的检测来识别与分析代码相关联的调用堆栈。 检查呼叫堆栈以识别在周期性发生的事件期间当前正在执行的每个例程,并且利用呼叫堆栈信息记录跟踪数据。 来自记录的事件的跟踪数据和来自调用堆栈的跟踪数据被处理以生成树结构,其中节点从跟踪事件和调用堆栈指示例程信息的调用结构。

    Removal of asynchronous events in complex application performance analysis
    4.
    发明授权
    Removal of asynchronous events in complex application performance analysis 失效
    在复杂的应用程序性能分析中删除异步事件

    公开(公告)号:US08266595B2

    公开(公告)日:2012-09-11

    申请号:US10777909

    申请日:2004-02-12

    IPC分类号: G06F9/44

    CPC分类号: G06F8/443

    摘要: A method and apparatus for identifying a minimum call tree data structure from a plurality of call tree data structures are provided. With the apparatus and method, call tree data structures are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-minimization” operation in which the two or more call trees generated during runs of the computer program are walked and only those nodes that are present in each of the tree data structures are maintained in a minimized tree data structure. In addition, the minimum values for these common nodes are maintained in the minimized tree data structure. In this way, asynchronous events are removed from the minimum tree data structure and analysis may focus on those areas of the computer program that are consistent between runs of the computer program.

    摘要翻译: 提供了一种用于从多个呼叫树数据结构中识别最小呼叫树数据结构的方法和装置。 利用该装置和方法,生成用于构建计算机程序的两个或多个执行的调用树数据结构。 该装置和方法执行“树最小化”操作,其中在计算机程序运行期间生成的两个或更多个调用树被移动,并且仅存在于每个树数据结构中的那些节点保持在最小化的树数据中 结构体。 此外,这些公共节点的最小值保持在最小化的树数据结构中。 以这种方式,从最小树数据结构中去除异步事件,并且分析可以集中在计算机程序的运行之间一致的计算机程序的那些区域。

    System and method for collecting a plurality of metrics in a single profiling run of computer code
    5.
    发明授权
    System and method for collecting a plurality of metrics in a single profiling run of computer code 失效
    用于在单个计算机代码的分析运行中收集多个度量的系统和方法

    公开(公告)号:US07657875B2

    公开(公告)日:2010-02-02

    申请号:US11104323

    申请日:2005-04-12

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3616

    摘要: A system and method for collecting a plurality of metrics during a single run of a computer program. The mechanism of the present invention initializes a plurality of counters to count events associated with metrics of interest. The mechanism of the present invention then counts the occurrence of events associated with metrics of interest during a single execution of a computer program. When a branch has been taken, a trace record is generated for the branch taken, wherein the generated trace record contains a count of events associated with the metrics of interest for the branch taken.

    摘要翻译: 一种用于在计算机程序的单次运行期间收集多个度量的系统和方法。 本发明的机制初始化多个计数器以对与感兴趣度量相关联的事件进行计数。 然后,本发明的机制在计算机程序的单次执行期间对与感兴趣的度量相关联的事件的发生进行计数。 当采取分支时,为所采取的分支生成跟踪记录,其中生成的跟踪记录包含与所采取的分支的感兴趣度量相关联的事件计数。

    Method and apparatus for averaging out variations in run-to-run path data of a computer program
    6.
    发明授权
    Method and apparatus for averaging out variations in run-to-run path data of a computer program 失效
    用于平均计算机程序的运行路径数据的变化的方法和装置

    公开(公告)号:US07519961B2

    公开(公告)日:2009-04-14

    申请号:US10777742

    申请日:2004-02-12

    IPC分类号: G06F9/44 G06F11/30 G06F11/36

    摘要: A method and apparatus for averaging out variations from run to run of a computer program are provided. With the apparatus and method, call trees are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-addition” operation in which the two or more call trees generated during runs of the computer program are added to one another to thereby accumulate statistics for each call in the call trees. These statistics may then be divided by the number of runs whose tree data structures are being accumulated. In this way, an average of the tree data structures is generated. In addition, any portions of the tree data structure that are due to asynchronous events are averaged out so that their relative affect in the resulting tree data structure is minimized.

    摘要翻译: 提供了一种从计算机程序的运行到运行的平均化的方法和装置。 利用设备和方法,生成用于构建计算机程序的两次或多次执行的调用树。 该装置和方法执行“树添加”操作,其中在计算机程序运行期间生成的两个或多个呼叫树彼此相加,从而累积对呼叫树中的每个呼叫的统计。 然后可以将这些统计信息除以树数据结构正在被累积的运行次数。 以这种方式,生成树数据结构的平均值。 此外,由于异步事件导致的树数据结构的任何部分被平均化,使得它们在所得到的树数据结构中的相对影响被最小化。

    Method and apparatus for identifying differences in runs of a computer program due to code changes
    7.
    发明授权
    Method and apparatus for identifying differences in runs of a computer program due to code changes 失效
    用于识别由于代码变化导致的计算机程序的运行差异的方法和装置

    公开(公告)号:US07506330B2

    公开(公告)日:2009-03-17

    申请号:US10777872

    申请日:2004-02-12

    IPC分类号: G06F9/45

    摘要: A method and apparatus for identifying differences in runs of a computer program that are due to changes in the code of the computer program. With the apparatus and method, call trees are generated for two or more builds of a computer program. The apparatus and method perform a “tree-subtract” operation in which the two or more call trees generated during runs of two or more different builds of a computer program are subtracted from one another to identify build to build differences in the execution of the computer program. From the resulting tree, portions of the runs of the different builds of the computer program where the resource utilization of the computer program has not changed are easily identifiable. Moreover, portions of the runs of the different builds of the computer program where there are improvements or regressions in resource utilization of the computer program may be easily identifiable.

    摘要翻译: 一种用于识别计算机程序运行中由于计算机程序的代码变化而导致的差异的方法和装置。 使用该设备和方法,可以为计算机程序的两个或多个构建生成调用树。 该装置和方法执行“减法”操作,其中在计算机程序的两个或多个不同构建的运行期间产生的两个或更多个调用树从彼此中减去以识别构建以构建计算机的执行中的差异 程序。 从结果树中,计算机程序的资源利用率未改变的计算机程序的不同构建的运行的部分容易识别。 此外,计算机程序的资源利用的改进或回归的计算机程序的不同构建的运行的部分可以容易地识别。

    REMOVAL OF ASYNCHRONOUS EVENTS IN COMPLEX APPLICATION PERFORMANCE ANALYSIS
    8.
    发明申请
    REMOVAL OF ASYNCHRONOUS EVENTS IN COMPLEX APPLICATION PERFORMANCE ANALYSIS 有权
    在复杂应用性能分析中去除异常事件

    公开(公告)号:US20120311543A1

    公开(公告)日:2012-12-06

    申请号:US13585320

    申请日:2012-08-14

    IPC分类号: G06F9/44

    CPC分类号: G06F8/443

    摘要: A method and apparatus for identifying a minimum call tree data structure from a plurality of call tree data structures are provided. With the apparatus and method, call tree data structures are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-minimization” operation in which the two or more call trees generated during runs of the computer program are walked and only those nodes that are present in each of the tree data structures are maintained in a minimized tree data structure. In addition, the minimum values for these common nodes are maintained in the minimized tree data structure. In this way, asynchronous events are removed from the minimum tree data structure and analysis may focus on those areas of the computer program that are consistent between runs of the computer program.

    摘要翻译: 提供了一种用于从多个呼叫树数据结构中识别最小呼叫树数据结构的方法和装置。 利用该装置和方法,生成用于构建计算机程序的两个或多个执行的调用树数据结构。 该装置和方法执行树最小化操作,其中在计算机程序的运行期间生成的两个或更多个调用树被行走,并且仅存在于每个树数据结构中的那些节点被保持在最小化的树数据结构中。 此外,这些公共节点的最小值保持在最小化的树数据结构中。 以这种方式,从最小树数据结构中去除异步事件,并且分析可以集中在计算机程序的运行之间一致的计算机程序的那些区域。

    Identifying access states for variables
    9.
    发明授权
    Identifying access states for variables 失效
    识别变量的访问状态

    公开(公告)号:US08479050B2

    公开(公告)日:2013-07-02

    申请号:US13004169

    申请日:2011-01-11

    IPC分类号: G06F11/00

    CPC分类号: G06F11/263 G06F11/3664

    摘要: A method, apparatus, and computer instructions in a processor for selectively performing operations on data. An operation to be performed on data is identified to form an identified operation. A determination is made as to whether metadata identifying a state of the data is associated with the data. A determination is made as to whether the identified operation can be performed on the data based on the state of the data, in response to the metadata being associated with the data. The operation is performed on the data if the state of the data allows for the operation to be performed. The processor selectively performs the operations based on the state of the data.

    摘要翻译: 处理器中的方法,装置和计算机指令,用于选择性地对数据执行操作。 识别要对数据执行的操作以形成识别的操作。 确定确定数据的状态的元数据是否与数据相关联。 响应于与数据相关联的元数据,确定是否可以基于数据的状态对数据执行所识别的操作。 如果数据的状态允许执行操作,则对数据执行操作。 处理器基于数据的状态选择性地执行操作。

    Method and apparatus for identifying access states for variables
    10.
    发明授权
    Method and apparatus for identifying access states for variables 有权
    用于识别变量的访问状态的方法和装置

    公开(公告)号:US07895473B2

    公开(公告)日:2011-02-22

    申请号:US10835482

    申请日:2004-04-29

    IPC分类号: G06F11/00

    CPC分类号: G06F11/263 G06F11/3664

    摘要: A method, apparatus, and computer instructions in a processor for selectively performing operations on data. An operation to be performed on data is identified to form an identified operation. A determination is made as to whether metadata identifying a state of the data is associated with the data. A determination is made as to whether the identified operation can be performed on the data based on the state of the data, in response to the metadata being associated with the data. The operation is performed on the data if the state of the data allows for the operation to be performed. The processor selectively performs the operations based on the state of the data.

    摘要翻译: 处理器中的方法,装置和计算机指令,用于选择性地对数据执行操作。 识别要对数据执行的操作以形成识别的操作。 确定确定数据的状态的元数据是否与数据相关联。 响应于与数据相关联的元数据,确定是否可以基于数据的状态对数据执行所识别的操作。 如果数据的状态允许执行操作,则对数据执行操作。 处理器基于数据的状态选择性地执行操作。