CN117407315A - 一种日志优化测试方法、装置、计算机设备及存储介质 - Google Patents
一种日志优化测试方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117407315A CN117407315A CN202311508345.3A CN202311508345A CN117407315A CN 117407315 A CN117407315 A CN 117407315A CN 202311508345 A CN202311508345 A CN 202311508345A CN 117407315 A CN117407315 A CN 117407315A
- Authority
- CN
- China
- Prior art keywords
- log
- sample
- file
- time
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 50
- 238000010998 test method Methods 0.000 title claims abstract description 23
- 238000012360 testing method Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 302
- 230000015654 memory Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 20
- 238000012856 packing Methods 0.000 claims description 6
- 238000004886 process control Methods 0.000 description 6
- 238000012827 research and development Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 210000001072 colon Anatomy 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及日志管理技术领域,公开了一种日志优化测试方法、装置、计算机设备及存储介质,本发明通过将移动终端的日志信息与样本进程以及主进程结合,可以实现按照进程对日志信息进行统计,进而可以将确定的待优化日志快速定位到负责的研发人员进行优化。进一步,可以对移动终端的日志输出频率进行实时量化统计,且不会对正常测试带来额外的工作量。进一步,通过统计的移动终端的日志输出频率可以有效为移动终端的版本上线把控日志输出量,对避免日志输出影响前台用户操作性能体验提供了量化的把控指标。
Description
技术领域
本发明涉及日志管理技术领域,具体涉及一种日志优化测试方法、装置、计算机设备及存储介质。
背景技术
安卓日志记录系统消息和应用消息,研发人员使用Log类添加信息,通过logcat命令研发可以实时查看日志消息。对于安卓设备系统的开发,为了追查bug,也会在设备端循环保存固定总大小的日志文件,用于分析和追查bug的发生原因。对于不受约束的日志打印规则,会有大量的无用信息被记录,顺时高频次的日志读写也会对前台用户操作产生性能卡顿影响,而且顺时可写入的日志信息有瓶颈,顺时大量日志的读写也会产生部分日志无法写入,造成日志丢失问题。针对安卓硬件系统及应用上线,会有需求对打印的日志进行精简优化,降低对性能体验的影响。但是,现有技术中有效地统计分析日志,引导对日志进行优化的测试方案却很少。
发明内容
有鉴于此,本发明提供了一种日志优化测试方法、装置、计算机设备及存储介质,以解决现有技术缺少有效的统计分析日志,引导对日志进行优化的测试方案的问题。
第一方面,本发明提供了一种日志优化测试方法,用于测试程序,测试程序与移动终端连接,包括主进程和样本进程;该方法包括:
当移动终端不存在历史日志文件时,利用样本进程按照预设时间间隔获取移动终端的多个实时日志,并生成初始日志样本文件;当主进程读取到初始日志样本文件时,对初始日志样本文件进行解析处理,得到包含多个频率数据的目标日志样本文件;基于每个频率数据和预设优化条件确定目标日志样本文件中对应的待优化日志。
本发明提供的日志优化测试方法,通过将移动终端的日志信息与样本进程以及主进程结合,可以实现按照进程对日志信息进行统计,进而可以将确定的待优化日志快速定位到负责的研发人员进行优化。进一步,可以对移动终端的日志输出频率进行实时量化统计,且不会对正常测试带来额外的工作量。进一步,通过统计的移动终端的日志输出频率可以有效为移动终端的版本上线把控日志输出量,对避免日志输出影响前台用户操作性能体验提供了量化的把控指标。
在一种可选的实施方式中,方法还包括:
判断移动终端中是否存在历史日志文件;当存在历史日志文件时,对历史日志文件进行清空处理。
在一种可选的实施方式中,当移动终端不存在历史日志文件时,利用样本进程按照预设时间间隔获取移动终端的多个实时日志,并生成初始日志样本文件,包括:
当移动终端不存在历史日志文件时,启动样本进程,并获取样本进程的进程开始时间和进程列表,进程列表中存储有样本进程的进程控制符和进程名信息;利用样本进程按照预设第一时间间隔对移动终端的实时日志进行统计,并按照预设第二时间间隔更新进程列表;当更新时间大于预设时间,获取更新后的包含进程控制符和进程名信息的目标进程列表;当目标进程列表中样本进程停止时,获取统计的移动终端的多个实时日志、样本进程的进程结束时间;基于多个实时日志、进程开始时间、进程结束时间和目标进程列表,生成初始日志样本文件。
在一种可选的实施方式中,当主进程读取到初始日志样本文件时,对初始日志样本文件进行解析处理,得到包含多个频率数据的目标日志样本文件,包括:
当主进程读取到多个初始日志样本文件时,对每个初始日志样本文件进行解析,得到每个初始日志样本文件中包含的实时日志、进程开始时间、进程结束时间和目标进程列表对应的进程控制符和进程名信息;基于进程开始时间、进程结束时间、进程控制符和进程名信息,对每个初始日志样本文件进行解析,得到包含多个频率数据的目标日志样本文件。
在一种可选的实施方式中,基于进程开始时间、进程结束时间、进程控制符和进程名信息,对每个初始日志样本文件进行解析,得到包含多个频率数据的目标日志样本文件,包括:
基于进程开始时间、进程结束时间、进程控制符和进程名信息,对每个初始日志样本文件进行解析,得到包含第一频率数据的第一样本子文件以及包含日志级别和标签名统计数据的第二样本子文件;基于实时日志、进程开始时间、进程结束时间以及日志级别和标签名统计数据,对每个初始日志样本文件进行解析,得到包含第二频率数据的第三样本子文件以及包含第三频率数据的第四样本子文件;基于第一样本子文件、第二样本子文件、第三样本子文件和第四样本子文件,确定包含多个频率数据的目标日志样本文件。
在一种可选的实施方式中,该方法还包括:对目标日志样本文件进行加工处理,得到日志测试报告。
本发明通过生成日志测试报告可以提高对待优化日志的定位速度。
在一种可选的实施方式中,该方法还包括:
判断目标日志样本文件是否需要存储;当目标日志样本文件需要存储,对目标日志样本文件进行打包压缩,并删除目标日志样本文件;当目标日志样本文件不需要存储,删除目标日志样本文件。
本发明对需要存储的目标日志样本文件进行打包压缩处理,并删除原始的目标日志样本文件,可以节省存储空间。
第二方面,本发明提供了一种日志优化测试装置,用于测试程序,测试程序与移动终端连接,包括主进程和样本进程;该装置包括:
获取模块,用于当移动终端不存在历史日志文件时,利用样本进程按照预设时间间隔获取移动终端的多个实时日志,并生成初始日志样本文件;解析处理模块,用于当主进程读取到初始日志样本文件时,对初始日志样本文件进行解析处理,得到包含多个频率数据的目标日志样本文件;确定模块,用于基于每个频率数据和预设优化条件确定目标日志样本文件中对应的待优化日志。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的日志优化测试方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的日志优化测试方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的日志优化测试方法的流程示意图;
图2是根据本发明实施例的另一日志优化测试方法的流程示意图;
图3是根据本发明实施例的又一日志优化测试方法的流程示意图;
图4是根据本发明实施例的监控安卓设备端日志输出频率的方案执行流程示意图;
图5是根据本发明实施例的日志优化测试装置的结构框图;
图6是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种日志优化测试方法,通过将移动终端的日志信息与样本进程以及主进程结合可以实现按照进程对日志信息进行统计,进而可以将确定的待优化日志快速定位到负责的研发人员进行优化。
根据本发明实施例,提供了一种XX方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种日志优化测试方法,可用于测试程序,该测试程序与移动终端,且该测试程序包括主进程和样本进程(logcat)。图1是根据本发明实施例的日志优化测试方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,当移动终端不存在历史日志文件时,利用样本进程按照预设时间间隔获取移动终端的多个实时日志,并生成初始日志样本文件。
具体地,当移动终端不存在历史结果即历史日志文件时,启动样本进程,并利用该样本进程每隔指定间隔时间(比如5s)获取移动终端的实时日志,并生成初始日志样本文件。
步骤S102,当主进程读取到初始日志样本文件时,对初始日志样本文件进行解析处理,得到包含多个频率数据的目标日志样本文件。
具体地,利用主进程读取并对初始日志样本文件进行解析处理,可以得到包含多个频率数据的目标日志样本文件。其中,频率数据用于反映移动终端的日志输出频率。
进一步,如果主进程未读取到对应的初始日志样本文件,则继续等待;如果主进程读取到多个初始日志样本文件,则按照顺序依次对读取到的多个初始日志样本文件进行解析处理。
步骤S103,基于每个频率数据和预设优化条件确定目标日志样本文件中对应的待优化日志。
具体地,在预设优化条件的基础上,根据解析得到的每个频率数据,可以在对应的目标日志样本文件确定出需要进行优化的日志。
比如,规定输出频率大于等于100行/秒的日志需要进行优化。
本实施例提供的日志优化测试方法,通过将移动终端的日志信息与样本进程以及主进程结合,可以实现按照进程对日志信息进行统计,进而可以将确定的待优化日志快速定位到负责的研发人员进行优化。进一步,可以对移动终端的日志输出频率进行实时量化统计,且不会对正常测试带来额外的工作量。进一步,通过统计的移动终端的日志输出频率可以有效为移动终端的版本上线把控日志输出量,对避免日志输出影响前台用户操作性能体验提供了量化的把控指标。
在本实施例中提供了一种日志优化测试方法,可用于测试程序,该测试程序与移动终端,且该测试程序包括主进程和样本进程(logcat)。图2是根据本发明实施例的日志优化测试方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,判断移动终端中是否存在历史日志文件。
具体地,在对日志进行优化测试之前,首先判断对应的移动终端是否有生成对应的日志文件。
步骤S202,当存在历史日志文件时,对历史日志文件进行清空处理。
具体地,如果存在移动终端之前生成的日志文件,则对生成的所有历史日志文件进行清空处理。
步骤S203,当移动终端不存在历史日志文件时,利用样本进程按照预设时间间隔获取移动终端的多个实时日志,并生成初始日志样本文件。
具体地,上述步骤S203包括:
步骤S2031,当移动终端不存在历史日志文件时,启动样本进程,并获取样本进程的进程开始时间和进程列表。
其中,进程列表中存储有样本进程的进程控制符(进程pid)和进程名信息。
具体地,当移动终端不存在历史结果即历史日志文件时,启动样本进程。
进一步,获取样本进程的进程开始时间以及对应的进程pid和进程名信息。
步骤S2032,利用样本进程按照预设第一时间间隔对移动终端的实时日志进行统计,并按照预设第二时间间隔更新进程列表。
具体地,样本进程启动后,利用样本进程按照第一时间间隔对移动终端的实时日志进行统计。
进一步,可能存在多个样本进程,因此,需要按照预设第二时间间隔(比如1s)对进程列表进行更新。
步骤S2033,判断更新时间是否大于预设时间。
具体地,判断对进程列表的更新是否超时。
步骤S2034,当更新时间大于预设时间,获取更新后的包含进程控制符和进程名信息的目标进程列表。
具体地,当对进程列表的更新超过预设时间时,样本进程停止更新。
进一步,获取更新后的包含进程控制符和进程名信息的目标进程列表。
其中,目标进程列表中可能包括多个样本进行的进程控制符和进程名信息,且启动的样本进程的个数对应。
步骤S2035,当目标进程列表中样本进程停止时,获取统计的移动终端的多个实时日志、样本进程的进程结束时间。
具体地,目标进程列表中样本进程停止时,获取停止的样本进程的进程结束时间,以及给样本进程统计得到的移动终端的多个实时日志。
步骤S2036,基于多个实时日志、进程开始时间、进程结束时间和目标进程列表,生成初始日志样本文件。
具体地,根据得到的多个实时日志、进程开始时间、进程结束时间和目标进程列表,可以生成对应的初始日志样本文件。
进一步,初始日志样本文件中进程开始时间和进程结束时间以序号.t的形式存储;目标进程列表以序号.ps的形式存储;多个实时日志以序号.log的形式存储。
其中,序号表示对应的样本进程的顺序。
步骤S204,当主进程读取到初始日志样本文件时,对初始日志样本文件进行解析处理,得到包含多个频率数据的目标日志样本文件。详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S205,基于每个频率数据和预设优化条件确定目标日志样本文件中对应的待优化日志。详细请参见图1所示实施例的步骤S103,在此不再赘述。
本实施例提供的日志优化测试方法,通过将移动终端的日志信息与样本进程以及主进程结合,可以实现按照进程对日志信息进行统计,进而可以将确定的待优化日志快速定位到负责的研发人员进行优化。进一步,可以对移动终端的日志输出频率进行实时量化统计,且不会对正常测试带来额外的工作量。进一步,通过统计的移动终端的日志输出频率可以有效为移动终端的版本上线把控日志输出量,对避免日志输出影响前台用户操作性能体验提供了量化的把控指标。
在本实施例中提供了一种日志优化测试方法,可用于测试程序,该测试程序与移动终端,且该测试程序包括主进程和样本进程(logcat)。图3是根据本发明实施例的日志优化测试方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,当移动终端不存在历史日志文件时,利用样本进程按照预设时间间隔获取移动终端的多个实时日志,并生成初始日志样本文件。详细请参见图2所示实施例的步骤S203,在此不再赘述。
步骤S302,当主进程读取到初始日志样本文件时,对初始日志样本文件进行解析处理,得到包含多个频率数据的目标日志样本文件。
具体地,上述步骤S302包括:
步骤S3021,当主进程读取到多个初始日志样本文件时,对每个初始日志样本文件进行解析,得到每个初始日志样本文件中包含的实时日志、进程开始时间、进程结束时间和目标进程列表对应的进程控制符和进程名信息。
具体地,根据步骤S203的描述,当主进程读取到多个初始日志样本文件时,对每个初始日志样本文件进行解析,可以得到每个初始日志样本文件中包含的实时日志、进程开始时间、进程结束时间和目标进程列表对应的进程控制符和进程名信息。
步骤S3022,基于进程开始时间、进程结束时间、进程控制符和进程名信息,对每个初始日志样本文件进行解析,得到包含多个频率数据的目标日志样本文件。
具体地,根据解析到的进程开始时间、进程结束时间、进程控制符和进程名信息,继续对每个初始日志样本文件进行解析,可以得到包含多个频率数据的目标日志样本文件。
在一些可选的实施方式中,上述步骤S3022包括:
步骤a1,基于进程开始时间、进程结束时间、进程控制符和进程名信息,对每个初始日志样本文件进行解析,得到包含第一频率数据的第一样本子文件以及包含日志级别和标签名统计数据的第二样本子文件。
步骤a2,基于实时日志、进程开始时间、进程结束时间以及日志级别和标签名统计数据,对每个初始日志样本文件进行解析,得到包含第二频率数据的第三样本子文件以及包含第三频率数据的第四样本子文件。
步骤a3,基于第一样本子文件、第二样本子文件、第三样本子文件和第四样本子文件,确定包含多个频率数据的目标日志样本文件。
首先,第一样本子文件以logcat.csv的形式存储,包含序号、进程开始时间、进程结束时间、行数/秒、KB、KB/秒。
其中,行数/秒、KB、KB/秒即为对应的第一频率数据。
具体地,在序号.log中获取日志总行数,并在序号.t中获取精确的总时间T。
进一步,行数/秒=L/T。
进一步,获取序号.log每行日志的字符串长度作为字节数,同时,将获取的日志总行数同时累加计算每行字符串长度/1024为总大小KB。
进一步,KB/秒=KB/T。
其次,第二样本子文件以logcatinfo.csv存储有日志级别和标签名统计数据,包含序号、进程pid、级别、标签名、行数和字节大小。
其中,样本进程抓取是规范的格式,当样本进程停止后,会将得到的多个日志logcat.log重命名为序号.log,代表可以开始解析。
进一步,在序号.log中连续空格分割按列提取,第3列是pid,第5列是级别,第6列开始到第一个冒号结束为标签名(忽略冒号前的空格),逐行解析序号.log时统计;索引为“pid,级别,标签名”,数据项为“行数,字节大小”,建立数据表格式,字节大小即每行字符串长度累加。
然后,第三样本子文件以taginfo.csv存储,包含:序号、行数/秒、KB、KB/秒、标签名、进程名。其中,行数/秒、KB、KB/秒表示按照标签名计算的频率数据即第二频率数据。
具体地,第三样本子文件是从标签名维度统计计算的数据,索引为“标签名,进程名”,数据项为“行数/秒,KB,KB/秒”。
进一步,按照上述按列解析的过程,获取到进程pid。进一步,序号.ps中存储了进程pid和进程名的对应关系,因此,可以对应获取到进程名。
进一步,行数/秒、KB、KB/秒的计算过程同上,此处不再赘述。
最后,第四样本子文件以commandinfo.csv存储,包含序号,pid、进程名、行数/秒、KB、KB/秒。
其中,行数/秒、KB、KB/秒为对应的按进程名计算的频率数据,即第三频率数据。
进一步,根据上述确定的每个样本子文件即可以组成对应的目标日志样本文件。
步骤S303,基于每个频率数据和预设优化条件确定目标日志样本文件中对应的待优化日志。详细请参见图1所示实施例的步骤S103,在此不再赘述。
步骤S304,对目标日志样本文件进行加工处理,得到日志测试报告。
具体地,通过对目标日志样本文件进行再次加工,可以生成对应的日志测试报告。
进一步,日志测试报告可以将日志数据进行统计排序,并实现绘制趋势图等排版处理。
步骤S305,判断目标日志样本文件是否需要存储。
具体地,当解析完成后,可以根据需求判断目标日志样本文件是否需要存储。
步骤S306,当目标日志样本文件需要存储,对目标日志样本文件进行打包压缩,并删除目标日志样本文件。
具体地,如果需要对该目标日志样本文件进行存储,则对该目标日志样本文件进行打包压缩,并在打包压缩后删除原文件即目标日志样本文件,通过这种处理过程可以节省存储空间。
步骤S307,当目标日志样本文件不需要存储,删除目标日志样本文件。
具体地,如果不需要对该目标日志样本文件进行存储,则可以直接删除该目标日志样本文件。
本实施例提供的日志优化测试方法,通过将移动终端的日志信息与样本进程以及主进程结合,可以实现按照进程对日志信息进行统计,进而可以将确定的待优化日志快速定位到负责的研发人员进行优化。进一步,可以对移动终端的日志输出频率进行实时量化统计,且不会对正常测试带来额外的工作量。进一步,通过统计的移动终端的日志输出频率可以有效为移动终端的版本上线把控日志输出量,对避免日志输出影响前台用户操作性能体验提供了量化的把控指标。进一步,通过生成日志测试报告可以提高对待优化日志的定位速度。进一步,对需要存储的目标日志样本文件进行打包压缩处理,并删除原始的目标日志样本文件,可以节省存储空间。
在一实例中,提供一种监控安卓设备端日志输出频率的方案,并对日志信息按:日志级别、应用名、标签名进行统计分析,通过按5秒间隔存储的样本,计算行/秒和KB/秒的频率数据进行持续监控。通过指定优化标准可推进日志优化和把控版本上线要求,如规定标签频率大于等于100行/秒的日志需要研发进行优化。
如图4所示,具体的执行流程包括:
1、重复执行前先清空历史结果。
2、样本进程间隔指定间隔(如5秒)存储样本文件:序号.ps、序号.t、序号.log,序号从0开始,每次加1:
a.序号.ps:从ps命令获取的进程pid和进程名信息;
b.序号.t:开始时间,结束时间(使用样本进程运行时间uptime的浮点数时间,用于统计计算获取每个样本的时间间隔);
c.序号.log:logcat获取的日志内容。
3、主进程对样本文件依次解析,将统计数据存入csv:
a.logcat.csv(记录每个样本文件统计数据):序号,开始时间,结束时间,行数/秒,KB,KB/秒;
b.logcatinfo.csv(日志级别和标签名统计数据):序号,pid,级别,标签名,行数,字节大小;
c.taginfo.csv(按标签名计算的频率数据):序号,行数/秒,KB,KB/秒,标签名,进程名;
d.commandinfo.csv(按进程名计算的频率数据):序号,pid,进程名,行数/秒,KB,KB/秒。
4、数据文件可以再次加工生成测试报告,测试报告可以将数据进行统计排序,绘制趋势图等排版处理。
5、通过限定标准线,将结果列表中超标进程和标签名可以提交bug给研发做优化处理。
6、每次解析完成后根据是否保存样本文件对应处理,如果保存则进行打包压缩(序号.tar.gz),以便节省存储空间(文本文件压缩比例非常高,节省空间明显),打包后删除源文件。
本实例提供的监控安卓设备端日志输出频率的方案具有如下优点:
1、实时监控脚本可以配合不同测试场景对安卓日志的输出频率进行量化统计,可和常规测试合并进行,并不会对正常测试带来额外的工作量。
2、脚本处理数据文件生成测试报告,排行信息更高效地定位要优化的日志项(级别、标签),服务于研发快速定位要改动的代码位置。
3、有效为版本上线把控日志输出量,对避免日志输出影响前台用户操作性能体验提供量化的指标把控。由于顺时的大量日志输出会造成读写开销,会造成前台播放视频或用户操作时发生卡顿现象。
4、结合安卓日志信息和进程信息,实现按照进程名对日志信息进行统计,由于安卓硬件的系统开发中是按模块分配给不同研发负责的,从而可以解决将要优化的日志快速定位到负责的研发人员。
在本实施例中还提供了一种日志优化测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种日志优化测试装置,可用于测试程序,该测试程序与移动终端,且该测试程序包括主进程和样本进程。如图5所示,包括:
获取模块501,用于当移动终端不存在历史日志文件时,利用样本进程按照预设时间间隔获取移动终端的多个实时日志,并生成初始日志样本文件。
解析处理模块502,用于当主进程读取到初始日志样本文件时,对初始日志样本文件进行解析处理,得到包含多个频率数据的目标日志样本文件。
确定模块503,用于基于每个频率数据和预设优化条件确定目标日志样本文件中对应的待优化日志。
在一些可选的实施方式中,该装置还包括:
第一判断模块,用于判断移动终端中是否存在历史日志文件。
清空处理模块,用于当存在历史日志文件时,对历史日志文件进行清空处理。
在一些可选的实施方式中,获取模块501包括:
第一获取子模块,用于当移动终端不存在历史日志文件时,启动样本进程,并获取样本进程的进程开始时间和进程列表,进程列表中存储有样本进程的进程控制符和进程名信息。
统计与更新子模块,用于利用样本进程按照预设第一时间间隔对移动终端的实时日志进行统计,并按照预设第二时间间隔更新进程列表。
判断子模块,用于判断更新时间是否大于预设时间。
第二获取子模块,用于当更新时间大于预设时间,获取更新后的包含进程控制符和进程名信息的目标进程列表。
第三获取子模块,用于当目标进程列表中样本进程停止时,获取统计的移动终端的多个实时日志、样本进程的进程结束时间。
生成子模块,用于基于多个实时日志、进程开始时间、进程结束时间和目标进程列表,生成初始日志样本文件。
在一些可选的实施方式中,解析处理模块502包括:
第一解析子模块,用于当主进程读取到多个初始日志样本文件时,对每个初始日志样本文件进行解析,得到每个初始日志样本文件中包含的实时日志、进程开始时间、进程结束时间和目标进程列表对应的进程控制符和进程名信息。
第二解析子模块,用于基于进程开始时间、进程结束时间、进程控制符和进程名信息,对每个初始日志样本文件进行解析,得到包含多个频率数据的目标日志样本文件。
在一些可选的实施方式中,第二解析子模块包括:
第一解析单元,用于基于进程开始时间、进程结束时间、进程控制符和进程名信息,对每个初始日志样本文件进行解析,得到包含第一频率数据的第一样本子文件以及包含日志级别和标签名统计数据的第二样本子文件。
第二解析单元,用于基于实时日志、进程开始时间、进程结束时间以及日志级别和标签名统计数据,对每个初始日志样本文件进行解析,得到包含第二频率数据的第三样本子文件以及包含第三频率数据的第四样本子文件。
确定单元,用于基于第一样本子文件、第二样本子文件、第三样本子文件和第四样本子文件,确定包含多个频率数据的目标日志样本文件。
在一些可选的实施方式中,该装置还包括:
加工处理模块,用于对目标日志样本文件进行加工处理,得到日志测试报告。
在一些可选的实施方式中,该装置还包括:
第二判断模块,用于判断目标日志样本文件是否需要存储。
处理模块,用于当目标日志样本文件需要存储,对目标日志样本文件进行打包压缩,并删除目标日志样本文件。
删除模块,用于当目标日志样本文件不需要存储,删除目标日志样本文件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的日志优化测试装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图5所示的日志优化测试装置。
请参阅图6,图6是本发明可选实施例提供的一种计算机设备的结构示意图,如图6所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种日志优化测试方法,用于测试程序,所述测试程序与移动终端连接,包括主进程和样本进程;其特征在于,所述方法包括:
当所述移动终端不存在历史日志文件时,利用所述样本进程按照预设时间间隔获取所述移动终端的多个实时日志,并生成初始日志样本文件;
当所述主进程读取到所述初始日志样本文件时,对所述初始日志样本文件进行解析处理,得到包含多个频率数据的目标日志样本文件;
基于每个所述频率数据和预设优化条件确定所述目标日志样本文件中对应的待优化日志。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述移动终端中是否存在所述历史日志文件;
当存在所述历史日志文件时,对所述历史日志文件进行清空处理。
3.根据权利要求1所述的方法,其特征在于,当所述移动终端不存在历史日志文件时,利用所述样本进程按照预设时间间隔获取所述移动终端的多个实时日志,并生成初始日志样本文件,包括:
当所述移动终端不存在历史日志文件时,启动所述样本进程,并获取所述样本进程的进程开始时间和进程列表,所述进程列表中存储有所述样本进程的进程控制符和进程名信息;
利用所述样本进程按照预设第一时间间隔对所述移动终端的实时日志进行统计,并按照预设第二时间间隔更新所述进程列表;
判断更新时间是否大于预设时间;
当所述更新时间大于所述预设时间,获取更新后的包含所述进程控制符和所述进程名信息的目标进程列表;
当所述目标进程列表中所述样本进程停止时,获取统计的所述移动终端的所述多个实时日志、所述样本进程的进程结束时间;
基于所述多个实时日志、所述进程开始时间、所述进程结束时间和所述目标进程列表,生成所述初始日志样本文件。
4.根据权利要求3所述的方法,其特征在于,当所述主进程读取到所述初始日志样本文件时,对所述初始日志样本文件进行解析处理,得到包含多个频率数据的目标日志样本文件,包括:
当所述主进程读取到所述多个初始日志样本文件时,对每个初始日志样本文件进行解析,得到每个所述初始日志样本文件中包含的实时日志、所述进程开始时间、所述进程结束时间和所述目标进程列表对应的进程控制符和进程名信息;
基于所述进程开始时间、所述进程结束时间、所述进程控制符和所述进程名信息,对每个初始日志样本文件进行解析,得到包含多个频率数据的所述目标日志样本文件。
5.根据权利要求4所述的方法,其特征在于,基于所述进程开始时间、所述进程结束时间、所述进程控制符和所述进程名信息,对每个初始日志样本文件进行解析,得到包含多个频率数据的所述目标日志样本文件,包括:
基于所述进程开始时间、所述进程结束时间、所述进程控制符和所述进程名信息,对每个初始日志样本文件进行解析,得到包含第一频率数据的第一样本子文件以及包含日志级别和标签名统计数据的第二样本子文件;
基于所述实时日志、所述进程开始时间、所述进程结束时间以及所述日志级别和标签名统计数据,对每个初始日志样本文件进行解析,得到包含第二频率数据的第三样本子文件以及包含第三频率数据的第四样本子文件;
基于所述第一样本子文件、所述第二样本子文件、所述第三样本子文件和所述第四样本子文件,确定包含多个频率数据的所述目标日志样本文件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述目标日志样本文件进行加工处理,得到日志测试报告。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述目标日志样本文件是否需要存储;
当所述目标日志样本文件需要存储,对所述目标日志样本文件进行打包压缩,并删除所述目标日志样本文件;
当所述目标日志样本文件不需要存储,删除所述目标日志样本文件。
8.一种日志优化测试装置,其特征在于,用于测试程序,所述测试程序与移动终端连接,包括主进程和样本进程;所述装置包括:
获取模块,用于当所述移动终端不存在历史日志文件时,利用所述样本进程按照预设时间间隔获取所述移动终端的多个实时日志,并生成初始日志样本文件;
解析处理模块,用于当所述主进程读取到所述初始日志样本文件时,对所述初始日志样本文件进行解析处理,得到包含多个频率数据的目标日志样本文件;
确定模块,用于基于每个所述频率数据和预设优化条件确定所述目标日志样本文件中对应的待优化日志。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至7中任一项所述的日志优化测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的日志优化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311508345.3A CN117407315B (zh) | 2023-11-13 | 2023-11-13 | 一种日志优化测试方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311508345.3A CN117407315B (zh) | 2023-11-13 | 2023-11-13 | 一种日志优化测试方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407315A true CN117407315A (zh) | 2024-01-16 |
CN117407315B CN117407315B (zh) | 2024-04-12 |
Family
ID=89496090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311508345.3A Active CN117407315B (zh) | 2023-11-13 | 2023-11-13 | 一种日志优化测试方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407315B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569214A (zh) * | 2019-08-02 | 2019-12-13 | 杭州云纪网络科技有限公司 | 用于日志文件的索引构建方法、装置及电子设备 |
WO2020233219A1 (zh) * | 2019-05-17 | 2020-11-26 | 深圳前海微众银行股份有限公司 | 异常问题的定位方法、装置、设备及计算机可读存储介质 |
CN115858483A (zh) * | 2021-09-23 | 2023-03-28 | 博泰车联网科技(上海)股份有限公司 | 日志分析与管理方法、终端及计算机可读存储介质 |
-
2023
- 2023-11-13 CN CN202311508345.3A patent/CN117407315B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020233219A1 (zh) * | 2019-05-17 | 2020-11-26 | 深圳前海微众银行股份有限公司 | 异常问题的定位方法、装置、设备及计算机可读存储介质 |
CN110569214A (zh) * | 2019-08-02 | 2019-12-13 | 杭州云纪网络科技有限公司 | 用于日志文件的索引构建方法、装置及电子设备 |
CN115858483A (zh) * | 2021-09-23 | 2023-03-28 | 博泰车联网科技(上海)股份有限公司 | 日志分析与管理方法、终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117407315B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9424160B2 (en) | Detection of data flow bottlenecks and disruptions based on operator timing profiles in a parallel processing environment | |
CN103077108B (zh) | 一种对浏览器崩溃进行预警的方法和系统 | |
CN110569214A (zh) | 用于日志文件的索引构建方法、装置及电子设备 | |
CN111722873A (zh) | 代码重构方法、装置、设备及介质 | |
CN111143434A (zh) | 数据智能核对方法、装置、设备及存储介质 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
CN117407315B (zh) | 一种日志优化测试方法、装置、计算机设备及存储介质 | |
US20230031224A1 (en) | Log compression | |
CN115203306A (zh) | 数据导出方法、装置、计算机设备及可读存储介质 | |
CN114816816A (zh) | 崩溃堆栈信息处理方法、装置、设备及存储介质 | |
CN112817953A (zh) | 一种数据校验的方法、装置、计算机设备及计算机可读存储介质 | |
CN114169318A (zh) | 进程识别方法、装置、设备、介质和程序 | |
CN113050981A (zh) | 代码线上自动发布方法、服务器和存储介质 | |
CN110765129B (zh) | 一种高性能的在线经费决算统计方法与装置 | |
CN112866218B (zh) | 远程收集系统信息的处理方法及相关设备 | |
CN114116291B (zh) | 日志检测方法、日志检测装置、计算机设备及存储介质 | |
CN112181834B (zh) | 基于gdb调试lua的方法、装置、设备及存储介质 | |
CN111522900B (zh) | 非结构化数据的自动解析方法、系统、设备及存储介质 | |
CN116502054A (zh) | 一种流量数据分析方法、系统、介质及电子设备 | |
CN116594880A (zh) | 应用程序的优化方法和装置、处理器及电子设备 | |
CN117149487A (zh) | 确定数据丢失的方法、装置、设备及存储介质 | |
CN114418575A (zh) | 日志处理方法、装置、设备、介质和程序产品 | |
CN115426407A (zh) | 服务端代理脚本录制方法和系统 | |
CN117785532A (zh) | 页面操作回放方法、系统、设备及介质 | |
CN117170680A (zh) | 目标程序的编译方法及装置、存储介质、电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |