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

    公开(公告)号:US08843898B2

    公开(公告)日:2014-09-23

    申请号:US13585320

    申请日:2012-08-14

    IPC分类号: G06F9/44 G06F9/45

    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.

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

    Autonomic hardware assist for patching code
    2.
    发明授权
    Autonomic hardware assist for patching code 失效
    自动硬件辅助补丁代码

    公开(公告)号:US08782664B2

    公开(公告)日:2014-07-15

    申请号:US13347876

    申请日:2012-01-11

    IPC分类号: G06F3/00 G06F13/00

    摘要: Hardware assist to autonomically patch code. The present invention provides hardware microcode to a new type of metadata to selectively identify instructions to be patched for specific performance optimization functions. The present invention also provides a new flag in the machine status register (MSR) to enable or disable a performance monitoring application or process to perform code-patching functions. If the code patching function is enabled, the application or process may patch code at run time by associating the metadata with the selected instructions. The metadata includes pointers pointing to the patch code block code. The program code may be patched autonomically without modifying original code.

    摘要翻译: 硬件辅助自动修补代码。 本发明向新类型的元数据提供硬件微代码,以选择性地识别要修补的特定性能优化功能的指令。 本发明还提供了机器状态寄存器(MSR)中的新标志,以启用或禁用性能监视应用程序或进程来执行代码补丁功能。 如果启用代码补丁功能,应用程序或进程可以通过将元数据与所选指令相关联来在运行时修补代码。 元数据包括指向补丁代码块代码的指针。 程序代码可以自动修补而不修改原始代码。

    Event tracing with time stamp compression
    3.
    发明授权
    Event tracing with time stamp compression 有权
    事件跟踪与时间戳压缩

    公开(公告)号:US07725298B2

    公开(公告)日:2010-05-25

    申请号:US11955535

    申请日:2007-12-13

    IPC分类号: G06F17/40 G06F11/30 G06F19/00

    摘要: An improved method, apparatus, and computer instructions for generating trace data. In response to detecting a new trace event, a determination is made as to whether the new trace event occurred at an expected period of time with respect to a prior trace event. A time stamp in the trace data is placed in response to a determination that the new trace event did not occur at the expected period of time, wherein time stamps occurring at the expected period if time are eliminated from the trace data and wherein compression of the trace data occurs.

    摘要翻译: 用于产生跟踪数据的改进的方法,装置和计算机指令。 响应于检测到新的跟踪事件,确定新跟踪事件是否在相对于先前跟踪事件的预期时间段发生。 响应于确定新的跟踪事件在预期时间段没有发生的时间戳被放置在跟踪数据中的时间戳,其中如果从跟踪数据中消除时间,则在期望周期发生时间戳,并且其中压缩 跟踪数据发生。

    Method and system for detecting common bytecode sequences
    4.
    发明授权
    Method and system for detecting common bytecode sequences 失效
    用于检测常用字节码序列的方法和系统

    公开(公告)号:US06922828B1

    公开(公告)日:2005-07-26

    申请号:US09393082

    申请日:1999-09-09

    IPC分类号: G06F11/34 G06F9/45

    CPC分类号: G06F11/348 G06F11/3466

    摘要: A method and system for detecting and counting bytecode sequences in a data processing system is provided. A bytecode tree data structure is used to represent sequences of bytecodes. A bytecode sequence is a subset of consecutive bytecodes within the set of bytecodes. The bytecode tree data structure contains a set of nodes in which each node represents a bytecode in a bytecode sequence or subsequence and in which a path through the bytecode tree data structure represents a bytecode sequence or subsequence. Each node of the bytecode tree data structure records one or more bytecode occurrence statistics for its corresponding bytecode in a set of bytecode sequences or subsequences. In order to determine the frequency of occurrence of common bytecode sequences and subsequences, a bytecode sequence tree data structure is generated from a set of bytecode sequences. The bytecode sequence tree data structure is then convolved into a bytecode subsequence occurrence tree data structure, which is a union of all subtrees of the bytecode sequence tree data structure.

    摘要翻译: 提供了一种用于在数据处理系统中检测和计数字节码序列的方法和系统。 字节码树数据结构用于表示字节码序列。 字节码序列是字节码组内的连续字节码的子集。 字节码树数据结构包含一组节点,其中每个节点在字节码序列或子序列中表示字节码,其中通过字节码树数据结构的路径表示字节码序列或子序列。 字节码树数据结构的每个节点在一组字节码序列或子序列中记录其对应的字节码的一个或多个字节码出现统计信息。 为了确定公共字节码序列和子序列的出现频率,从一组字节码序列生成字节码序列树数据结构。 字节码序列树数据结构然后卷积成字节码子序列发生树数据结构,它是字节码序列树数据结构的所有子树的并集。

    Method and system for apportioning changes in metric variables in an symmetric multiprocessor (SMP) environment
    5.
    发明授权
    Method and system for apportioning changes in metric variables in an symmetric multiprocessor (SMP) environment 失效
    用于分配对称多处理器(SMP)环境中度量变量变化的方法和系统

    公开(公告)号:US06904594B1

    公开(公告)日:2005-06-07

    申请号:US09612340

    申请日:2000-07-06

    IPC分类号: G06F9/46

    摘要: A method and system for monitoring performance of a program using global metric variables to provide the support in an symmetric multiprocessor (SMP) system. A Java virtual machine (Jvm) either calls the profiler whenever bytes are allocated or provides an interface to allow the profiler to determine the value of the change in the metric for the current thread. The profiler then applies the changes to a metric for the current thread. Alternatively, per processor data areas are maintained for storing per processor metric values. Whenever a thread switch occurs or there is a request for the metric on a specified thread, an operating system kernel updates the thread level metric values with changes in the values per processor metrics.

    摘要翻译: 一种用于使用全局度量变量监视程序性能以在对称多处理器(SMP)系统中提供支持的方法和系统。 Java虚拟机(Jvm)可以在分配字节时调用分析器,或提供接口以允许分析器确定当前线程的度量值的变化值。 分析器然后将更改应用于当前线程的度量。 或者,维护每个处理器数据区域以存储每个处理器度量值。 无论何时发生线程切换或指定线程上的度量请求,操作系统内核都会使用每个处理器度量值的更改更新线程级度量值。

    Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing
    7.
    发明授权
    Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing 有权
    实时跟踪处理中面向对象环境中影子堆内存泄漏检测和其他堆分析的方法和系统

    公开(公告)号:US06658652B1

    公开(公告)日:2003-12-02

    申请号:US09589798

    申请日:2000-06-08

    IPC分类号: G06F944

    摘要: A method and system for detecting memory leaks in an object-oriented environment during real-time trace processing is provided. During the profiling of a program executing in a data processing system, a profiler processes events caused by the execution of the program, and the profiler maintains a profile data structure containing execution-related metrics for the program. The execution-related metrics may include object allocation and deallocation metrics that are associated with object processing initiated on behalf of an executing method. An object allocator allocates objects during the execution of the program and modifies object allocation metrics in the profile data structure. Object metrics are stored in a particular location and a pointer to that location is stored in a hash table associated with the object's ID. In another embodiment the pointer to the location is stored in a shadow heap in the same relative position as the position of the object in the heap. The object allocation metrics and the object deallocation metrics may be compared to identify memory leaks.

    摘要翻译: 提供了一种用于在实时跟踪处理期间检测面向对象环境中的内存泄漏的方法和系统。 在对在数据处理系统中执行的程序进行分析时,分析器处理由程序执行引起的事件,并且分析器维护包含程序的执行相关度量的简档数据结构。 执行相关度量可以包括与代表执行方法发起的对象处理相关联的对象分配和重新分配度量。 对象分配器在执行程序期间分配对象,并在配置文件数据结构中修改对象分配度量。 对象度量存储在特定位置,并且指向该位置的指针存储在与对象的ID相关联的散列表中。 在另一个实施例中,指向该位置的指针存储在与堆中对象的位置相同的相对位置的阴影堆中。 可以比较对象分配度量和对象分配度量以识别内存泄漏。

    Method and system for compensating for output overhead in trace date using trace record information
    8.
    发明授权
    Method and system for compensating for output overhead in trace date using trace record information 失效
    使用跟踪记录信息补偿跟踪数据中的输出开销的方法和系统

    公开(公告)号:US06598012B1

    公开(公告)日:2003-07-22

    申请号:US09414344

    申请日:1999-10-07

    IPC分类号: G06F1500

    摘要: A method and system for compensating for output overhead in trace data is provided by analyzing and compensating for the overhead associated with outputting trace information to a trace buffer or a trace file in the form of trace records. A trace record represents an occurrence of some profiling event of interest. Each trace record contains a starting timestamp representing the time at which the generation of the trace record was commenced and an ending timestamp representing the time at which the generation of the trace record was completed. In order to compute the period of execution time attributable to the application program or system being profiled, a starting timestamp of a trace record is compared with the ending timestamp of a preceding trace record, and the difference between the timestamps is directly related to the execution time of the application program or system being profiled. The time period between the timestamps in a trace record is implicitly disregarded as attributable to overhead in the generation of trace records.

    摘要翻译: 通过分析和补偿以跟踪记录的形式向跟踪缓冲区或跟踪文件输出跟踪信息相关的开销,提供补偿跟踪数据中输出开销的方法和系统。 跟踪记录表示感兴趣的一些分析事件的发生。 每个跟踪记录包含表示生成跟踪记录开始的时间的开始时间戳,以及表示完成跟踪记录生成的时间的结束时间戳。 为了计算归因于正在分析的应用程序或系统的执行时间的周期,将跟踪记录的开始时间戳与先前跟踪记录的结束时间戳进行比较,并且时间戳之间的差异与执行直接相关 应用程序或系统被分析的时间。 跟踪记录中的时间戳之间的时间间隔隐含地被忽略,这归因于生成跟踪记录的开销。

    Method and system for compensating for output overhead in trace data using initial calibration information
    9.
    发明授权
    Method and system for compensating for output overhead in trace data using initial calibration information 失效
    使用初始校准信息补偿跟踪数据中的输出开销的方法和系统

    公开(公告)号:US06546548B1

    公开(公告)日:2003-04-08

    申请号:US09414346

    申请日:1999-10-07

    IPC分类号: G06F945

    摘要: A method and system for compensating for trace overhead is provided by analyzing and compensating for the temporal overhead associated with generating or outputting trace information to a trace buffer or a trace file in the form of trace records. A trace record generally represents an occurrence of a profiling event of interest. The amount of time required to generate a trace record may be determined, and the trace times retrieved from the trace records are adjusted to compensate for the amount of time required to generate those trace records. A trace overhead calibration value may be determined by computing the average time necessary to generate a trace record, or in certain cases, by computing the minimum time necessary to generate a trace record. The trace overhead calibration value is stored for subsequent use in a profiling-related process in the data processing system.

    摘要翻译: 通过分析和补偿与跟踪缓冲区或跟踪文件以跟踪记录形式的跟踪文件相关联的时间开销来提供补偿跟踪开销的方法和系统。 跟踪记录通常表示感兴趣的分析事件的发生。 可以确定生成跟踪记录所需的时间量,并且调整从跟踪记录检索的跟踪时间以补偿生成这些跟踪记录所需的时间量。 跟踪开销校准值可以通过计算生成跟踪记录所需的平均时间,或者在某些情况下,通过计算生成跟踪记录所需的最小时间来确定。 跟踪开销校准值被存储以供随后在数据处理系统中的分析相关过程中使用。

    Method of instrumenting garbage collection generating a trace file making a single pass analysis of object heap
    10.
    发明授权
    Method of instrumenting garbage collection generating a trace file making a single pass analysis of object heap 有权
    检测垃圾收集的方法,生成跟踪文件,进行对象堆的单次分析

    公开(公告)号:US06434575B1

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

    申请号:US09190562

    申请日:1998-11-12

    IPC分类号: G06F1200

    摘要: A method and apparatus for instrumenting garbage collection in a data processing system is provided. During garbage collection, a pass is made through the object heap and a plurality of heap data is retrieved and written to a trace file. The data may include the type of object, the size of the object on the heap, the class of the object, if appropriate, and a plurality of pointers, including live set pointers, and one or more tags representing attributes that may be associated with the particular object. The instrumentation may controlled to occur at a preselected phase of the garbage collection process. Additionally, a user may dynamically initiate a garbage collection instrumentation if the user determines that an event has occurred during the operation of the data processing system about which the user wishes further data.

    摘要翻译: 提供了一种用于在数据处理系统中进行垃圾回收的装置的方法和装置。 在垃圾收集期间,通过对象堆进行通过,并且检索多个堆数据并将其写入跟踪文件。 数据可以包括对象的类型,堆上的对象的大小,对象的类,如果合适的话,以及包括活动集指针的多个指针,以及一个或多个表示可以与 特定的对象。 仪器可以控制在垃圾收集过程的预选阶段发生。 另外,如果用户在用户希望进一步的数据的数据处理系统的操作期间确定事件已经发生,用户可以动态地启动垃圾收集检测。