System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及电数字数据处理,特别是涉及一种打点数据的处理方法、装置、设备及介质。
技术介绍
1、现有技术中,当运行某一驱动程序时,可能出现该驱动程序运行时间较长的情况。但是,驱动程序往往包括多个线程,每一线程对应的代码又比较长,用户难以确定是哪些代码片段运行时间较长导致的驱动程序运行时间较长。如何对驱动程序中线程对应的代码片段的开始执行时间和持续执行时间的显示,是亟待解决的技术问题。
技术实现思路
1、本专利技术目的在于,提供一种打点数据的处理方法、装置、设备及介质,以实现对驱动程序中线程对应的代码片段的开始执行时间和持续执行时间的显示。
2、根据本专利技术的第一方面,提供了一种打点数据的处理方法,所述处理方法包括以下步骤:
3、获取目标驱动程序的打点数据;所述目标驱动程序的打点数据包括目标驱动程序的若干线程的打点数据,每一线程的打点数据包括对应的线程中被打点的代码片段的开始执行时间、持续执行时间和名称。
4、将目标驱动程序的打点数据写入预分配的缓冲区,预分配的缓冲区的数量等于目标驱动程序的线程的数量,每一预分配的缓冲区用于写入目标驱动程序的一个线程的打点数据。
5、将写入所述预分配的缓冲区的打点数据转储在日志文件中。
6、根据所述日志文件获取目标驱动程序对应的json文件,所述json文件包括目标驱动程序的每一线程的记录。
7、将所述json文件导入预设的性能分析工具中进行预设信息的显示,预设信息包括目标驱
8、进一步的,每一线程的记录包括对应线程的所有被打点的代码片段的记录,且每一线程的记录中被打点的代码片段的记录的先后排列顺序根据被打点的代码片段的开始执行时间和持续执行时间确定。
9、进一步的,根据所述日志文件获取目标驱动程序对应的json文件包括:
10、根据所述日志文件获取目标驱动程序的打点数据列表,所述目标驱动程序的打点数据列表包括目标驱动程序的若干线程的打点数据列表,每一线程的打点数据列表包括若干被打点的代码片段的打点数据,所述被打点的代码的打点数据包括被打点的代码片段的开始执行时间、持续执行时间和名称。
11、遍历目标驱动程序的打点数据列表,对每一线程的打点数据列表中被打点的代码片段的打点数据的先后顺序进行重新排列,得到重新排列后的每一线程的打点数据列表,重新排列后的每一线程的打点数据列表中任一相邻的两个被打点的代码片段的打点数据满足预设的第一条件或第二条件,所述第一条件为:排列顺序在前的被打点的代码片段的打点数据的开始执行时间早于排列顺序在后的被打点的代码片段的打点数据的开始执行时间;所述第二条件为:排列顺序在前的被打点的代码片段的打点数据的开始执行时间等于排列顺序在后的被打点的代码片段的打点数据的开始执行时间,且排列顺序在前的被打点的代码片段的打点数据的持续执行时间大于排列顺序在后的被打点的代码片段的打点数据的持续执行时间。
12、将重新排列后的每一线程的打点数据列表中被打点的代码片段的打点数据的先后顺序确定为目标驱动程序对应的json文件中对应线程中被打点代码片段的记录的先后顺序。
13、进一步的,被打点的代码片段的开始执行时间通过在目标驱动程序的对应线程的对应被打点的代码片段之前插入预设的用于获取开始时间的宏获取。
14、进一步的,被打点的代码片段的持续执行时间通过在目标驱动程序的对应线程的对应被打点的代码片段之后插入预设的用于获取持续时间的宏获取。
15、根据本专利技术的第二方面,提供了一种打点数据的处理装置,所述处理装置包括:
16、第一获取模块,用于获取目标驱动程序的打点数据;所述目标驱动程序的打点数据包括目标驱动程序的若干线程的打点数据,每一线程的打点数据包括对应的线程中被打点的代码片段的开始执行时间、持续执行时间和名称。
17、第一写入模块,用于将目标驱动程序的打点数据写入预分配的缓冲区,预分配的缓冲区的数量等于目标驱动程序的线程的数量,每一预分配的缓冲区用于写入目标驱动程序的一个线程的打点数据。
18、第一转储模块,用于将写入所述预分配的缓冲区的打点数据转储在日志文件中。
19、第二获取模块,用于根据所述日志文件获取目标驱动程序对应的json文件,所述json文件包括目标驱动程序的每一线程的记录。
20、第一导入模块,用于将所述json文件导入预设的性能分析工具中进行预设信息的显示,预设信息包括目标驱动程序的每一线程的每一被打点的代码片段的开始执行时间、持续执行时间和名称。
21、进一步的,每一线程的记录包括对应线程的所有被打点的代码片段的记录,且每一线程的记录中被打点的代码片段的记录的先后排列顺序根据被打点的代码片段的开始执行时间和持续执行时间确定。
22、进一步的,所述第二获取模块包括:
23、第三获取模块,用于根据所述日志文件获取目标驱动程序的打点数据列表,所述目标驱动程序的打点数据列表包括目标驱动程序的若干线程的打点数据列表,每一线程的打点数据列表包括若干被打点的代码片段的打点数据,所述被打点的代码的打点数据包括被打点的代码片段的开始执行时间、持续执行时间和名称。
24、第一排序模块,用于遍历目标驱动程序的打点数据列表,对每一线程的打点数据列表中被打点的代码片段的打点数据的先后顺序进行重新排列,得到重新排列后的每一线程的打点数据列表,重新排列后的每一线程的打点数据列表中任一相邻的两个被打点的代码片段的打点数据满足预设的第一条件或第二条件,所述第一条件为:排列顺序在前的被打点的代码片段的打点数据的开始执行时间早于排列顺序在后的被打点的代码片段的打点数据的开始执行时间;所述第二条件为:排列顺序在前的被打点的代码片段的打点数据的开始执行时间等于排列顺序在后的被打点的代码片段的打点数据的开始执行时间,且排列顺序在前的被打点的代码片段的打点数据的持续执行时间大于排列顺序在后的被打点的代码片段的打点数据的持续执行时间。
25、第二排序模块,用于将重新排列后的每一线程的打点数据列表中被打点的代码片段的打点数据的先后顺序确定为目标驱动程序对应的json文件中对应线程中被打点代码片段的记录的先后顺序。
26、进一步的,被打点的代码片段的开始执行时间通过在目标驱动程序的对应线程的对应被打点的代码片段之前插入预设的用于获取开始时间的宏获取。
27、进一步的,被打点的代码片段的持续执行时间通过在目标驱动程序的对应线程的对应被打点的代码片段之后插入预设的用于获取持续时间的宏获取。
28、根据本专利技术的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的打点数据的处理方法。
29、根据本专利技术的第四方面,提供了一种计本文档来自技高网...
【技术保护点】
1.一种打点数据的处理方法,其特征在于,所述处理方法包括以下步骤:
2.根据权利要求1所述的打点数据的处理方法,其特征在于,每一线程的记录包括对应线程的所有被打点的代码片段的记录,且每一线程的记录中被打点的代码片段的记录的先后排列顺序根据被打点的代码片段的开始执行时间和持续执行时间确定。
3.根据权利要求2所述的打点数据的处理方法,其特征在于,根据所述日志文件获取目标驱动程序对应的json文件包括:
4.根据权利要求1所述的打点数据的处理方法,其特征在于,被打点的代码片段的开始执行时间通过在目标驱动程序的对应线程的对应被打点的代码片段之前插入预设的用于获取开始时间的宏获取。
5.根据权利要求1所述的打点数据的处理方法,其特征在于,被打点的代码片段的持续执行时间通过在目标驱动程序的对应线程的对应被打点的代码片段之后插入预设的用于获取持续时间的宏获取。
6.一种打点数据的处理装置,其特征在于,所述处理装置包括:
7.根据权利要求6所述的打点数据的处理装置,其特征在于,每一线程的记录包括对应线程的所有被打点的代码片
8.根据权利要求7所述的打点数据的处理装置,其特征在于,所述第二获取模块包括:
9.根据权利要求6所述的打点数据的处理装置,其特征在于,被打点的代码片段的开始执行时间通过在目标驱动程序的对应线程的对应被打点的代码片段之前插入预设的用于获取开始时间的宏获取。
10.根据权利要求6所述的打点数据的处理装置,其特征在于,被打点的代码片段的持续执行时间通过在目标驱动程序的对应线程的对应被打点的代码片段之后插入预设的用于获取持续时间的宏获取。
11.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的打点数据的处理方法。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任意一项所述的打点数据的处理方法。
...【技术特征摘要】
1.一种打点数据的处理方法,其特征在于,所述处理方法包括以下步骤:
2.根据权利要求1所述的打点数据的处理方法,其特征在于,每一线程的记录包括对应线程的所有被打点的代码片段的记录,且每一线程的记录中被打点的代码片段的记录的先后排列顺序根据被打点的代码片段的开始执行时间和持续执行时间确定。
3.根据权利要求2所述的打点数据的处理方法,其特征在于,根据所述日志文件获取目标驱动程序对应的json文件包括:
4.根据权利要求1所述的打点数据的处理方法,其特征在于,被打点的代码片段的开始执行时间通过在目标驱动程序的对应线程的对应被打点的代码片段之前插入预设的用于获取开始时间的宏获取。
5.根据权利要求1所述的打点数据的处理方法,其特征在于,被打点的代码片段的持续执行时间通过在目标驱动程序的对应线程的对应被打点的代码片段之后插入预设的用于获取持续时间的宏获取。
6.一种打点数据的处理装置,其特征在于,所述处理装置包括:
7.根据权利要求6所述的打点数据的处理装置,其特征在于,每一线程的记录包括对应线程的所有被打点的...
【专利技术属性】
技术研发人员:钟晟,
申请(专利权)人:沐曦集成电路杭州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。