用于通过动态地分配时间戳计数器来提高跟踪阵列的效率的方法和设备的制造方法

文档序号:8395803阅读:310来源:国知局
用于通过动态地分配时间戳计数器来提高跟踪阵列的效率的方法和设备的制造方法
【专利说明】
【背景技术】
[0001]本公开一般地涉及软件监视领域,并且更具体地涉及跟踪数据的存储。
[0002]跟踪监视可变访问、命令使用和命令执行。在计算机科学中,阵列通常是可以通过在运行时计算的索引所选择的数据项的集合。在软件工程中,跟踪是进行日志记录以记录关于程序的执行的信息的专用用途。通常,该信息通常由程序员出于调试的目的而进行使用,并且此外由有经验的系统管理员或技术支持人员和软件监视工具根据包含在跟踪日志记录中的信息的类型和细节而进行使用,以诊断软件的常见问题。因为软件跟踪是低层次的,所以可能的跟踪消息量可能非常大。

【发明内容】

[0003]本公开的实施例公开了一种用于动态地分配跟踪阵列时间戳数据以提高效率的方法、计算机程序产品和逻辑器件。处理器基于信号在跟踪总线上存在的连续周期的数目来确定用于该信号的时间戳。处理器将时间戳的第一部分写到被分配用于跟踪条目的时间戳的存储器。处理器利用跟踪条目的时间戳的第二部分来覆写一个或多个识别的空闲比特。
【附图说明】
[0004]图1是图示根据本公开的实施例的计算环境的功能框图。
[0005]图2是描绘根据本公开的实施例的图1的计算环境内的计算机上的跟踪阵列创建程序的操作步骤的流程图。
[0006]图3是图示根据本公开的实施例的跟踪阵列创建程序的各种阶段期间的跟踪条目的各种阶段的功能框图。
[0007]图4图示了根据本公开的实施例的用于初始化计数器以保持时间戳溢出数据的过程。
[0008]图5图示了根据本公开的实施例的用于递增计数器的过程。
[0009]图6图示了根据本公开的实施例的用于从计数器提取时间戳溢出数据的过程。
[0010]图7图示了根据本公开的实施例的用于将时间戳溢出数据包括在跟踪条目中的过程。
[0011]图8描绘了根据公开的实施例的执行跟踪阵列创建程序的计算设备的组件的框图。
【具体实施方式】
[0012]所属技术领域的技术人员知道,本公开的各个方面可以实现为系统、方法或计算机程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本公开的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码/指令。
[0013]可以采用计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0014]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0015]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0016]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言(注意:术语“Java”、“Smalltalk”等在世界的不同管辖区具有商标权,并且这里仅用于在这样的商标权可能存在的程度上用标记适当表示的产品或服务)。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为单机软件包部分地在用户的计算机上并且部分地在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任意种类的网络一一包括局域网(LAN)或广域网(WAN) —连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0017]下面将参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本公开。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0018]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其他可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
[0019]计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程数据处理装置或其他设备上执行可操作步骤序列,以产生计算机实现的处理,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或框图的框中所规定的功能/动作的处理。
[0020]在本公开的示例性实施例中,使用软件来实现提高跟踪阵列效率的方法。其他实施例可以包括硬件,诸如电子电路、集成电路和组合成为形成用于执行图2中描述的方法的逻辑器件的其他类似组件。
[0021]本公开现在将详细参考附图来进行说明。图1是图示根据本公开的一个实施例的通常表示为100的计算环境的功能框图。计算环境100包含计算设备110、跟踪阵列120、跟踪条目125、跟踪阵列创建程序130、跟踪要求数据140、网络150、反向掩蔽寄存器151、计数器153、数据条目155、按比特或(OR) 161、加法器163、按比特和(ADD) 165、按比特或167和掩蔽寄存器157。
[0022]在本发明的各种实施例中,计算设备110可以是独立的设备、服务器、膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)或台式计算机。在另一实施例中,计算设备110表示利用集群计算机和组件以用作无缝资源的单个池的的计算系统。通常,计算设备I1可以是具有对网络150的访问的任何计算设备或设备的组合,并且包括跟踪阵列120、跟踪条目125、跟踪阵列创建程序130、跟踪要求数据140、反向掩蔽寄存器151、计数器153、数据条目155、按比特或161、加法器163
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1