CN112527638A - 程序监控系统、方法和计算机可读存储介质 - Google Patents

程序监控系统、方法和计算机可读存储介质 Download PDF

Info

Publication number
CN112527638A
CN112527638A CN202011399459.5A CN202011399459A CN112527638A CN 112527638 A CN112527638 A CN 112527638A CN 202011399459 A CN202011399459 A CN 202011399459A CN 112527638 A CN112527638 A CN 112527638A
Authority
CN
China
Prior art keywords
program
running
behavior
analysis
detection
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.)
Pending
Application number
CN202011399459.5A
Other languages
English (en)
Inventor
王韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dami Technology Co Ltd
Original Assignee
Beijing Dami Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dami Technology Co Ltd filed Critical Beijing Dami Technology Co Ltd
Priority to CN202011399459.5A priority Critical patent/CN112527638A/zh
Publication of CN112527638A publication Critical patent/CN112527638A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种程序监控系统、方法和可读存储介质,所述程序监控系统包括集群分布运行的至少一个程序行为探测模块和至少一个程序行为分析模块,通过将程序测试需求对应的至少一个探测代码注入对应的运行程序,获取运行程序的程序运行行为数据,并通过对程序运行行为数据进行分析,确定分析结果,根据分析结果确定对应的程序优化方法。由此,实现运行程序的动态分析和优化,提高程序代码优化的效率,节省程序优化所需的时间和成本。

Description

程序监控系统、方法和计算机可读存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种程序监控系统、方法和计算机可读存储介质。
背景技术
目前,各种软件开发编程语言普遍应用于各行各业系统中。然而,由于软件程序本身的技术特性以及主流的分布式系统的开发思路的局限性,现有的程序代码的优化很大程度上依赖于开发人员的技术能力,耗时长、成本高,且效率仍有待提高。
发明内容
有鉴于此,本发明实施例旨在提供一种程序监控系统、方法和计算机可读存储介质,以提高程序代码优化的效率,节省程序优化所需的时间和成本。
第一方面,本发明实施例旨在提供一种程序监控系统,所述系统包括:
至少一个程序行为探测模块,被配置为确定探测代码组,将所述探测代码组中的探测代码注入对应的运行程序,获取所述运行程序的程序运行行为数据,所述探测代码组包括程序测试需求对应的至少一个探测代码,所述程序运行行为数据包括所述运行程序的当前运行状态、当前运行方法的参数和调用状态中的至少一项;以及
至少一个程序行为分析模块,被配置为对所述程序运行行为数据进行分析,确定分析结果,并根据所述分析结果确定对应的程序优化方法;
其中,所述至少一个程序行为探测模块和至少一个程序行为分析模块集群分布运行。
进一步地,所述系统还包括:
探测分析管理模块,被配置为根据各所述程序行为探测模块和程序行为分析模块的运行状态,确定执行当前探测分析任务的程序行为探测模块和程序行为分析模块。
进一步地,所述探测分析管理模块还被配置为:
响应于选定的程序行为探测模块的可用资源小于阈值,确定所述可用资源对应的探测代码执行所述当前探测分析任务;或者
响应于选定的程序行为探测模块的可用资源小于阈值,重新确定所述选定的程序行为探测模块执行所述当前探测分析任务的时间。
进一步地,所述程序行为探测模块还被配置为:
响应于所述探测代码执行预定时长,获取所述预定时长内产生的程序运行行为数据。
进一步地,所述程序行为探测模块还被配置为:
响应于获取的所述程序运行行为数据达到预定数据量,控制所述探测代码停止执行。
进一步地,所述程序运行行为分析模块包括:
分析方法确定子模块,被配置为根据所述程序运行行为数据确定对应的分析方法;以及
分析子模块,被配置为基于所述分析方法对所述运行程序进行分析,确定对应的分析结果;以及
优化子模块,被配置为根据所述分析结果确定对应的程序优化方法。
进一步地,所述程序行为探测模块还被配置为:
获取所述运行程序的程序运行指标,所述程序运行指标包括CPU占用率和/或内存使用率;
所述分析子模块还被配置为:
基于所述分析结果和程序运行指标确定对应的程序优化方法。
进一步地,所述系统还包括:
系统交互模块,被配置为显示运行程序标识、和/或所述运行程序的探测进度、和/或所述程序运行行为数据的分析结果、和/或推荐的程序优化方法。
进一步地,所述程序行为探测模块还被配置为:
将压缩后的所述程序运行行为数据传输至对应的程序行为探测模块。
第二方面,本发明实施例旨在提供一种程序监控方法,所述方法包括:
确定探测代码组,所述探测代码组包括程序测试需求对应的至少一个探测代码;
将所述探测代码组中的探测代码注入对应的运行程序,获取所述运行程序的程序运行行为数据,所述程序运行行为数据包括所述运行程序的当前运行状态、当前运行方法的参数和调用状态中的至少一项;以及
对所述程序运行行为数据进行分析,确定分析结果,并根据所述分析结果确定对应的程序优化方法。
进一步地,所述方法还包括:
响应于所述探测代码执行预定时长,获取所述预定时长内产生的程序运行行为数据。
进一步地,所述方法还包括:
响应于获取的所述程序运行行为数据达到预定数据量,控制所述探测代码停止执行。
进一步地,所述方法还包括:
获取所述运行程序的程序运行指标,所述程序运行指标包括CPU占用率和/或内存使用率;
所述根据所述分析结果确定对应的程序优化方法具体为基于所述分析结果和程序运行指标确定对应的程序优化方法。
进一步地,所述方法还包括:
显示运行程序标识、和/或所述运行程序的探测进度、和/或所述分析结果、和/或推荐的程序优化方法。
第三方面,本发明实施例旨在提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法步骤。
第四方面,本发明实施例旨在提供一种程序监控系统,所述系统包括多个服务器,多个所述服务器集群分布运行,其中,至少一个所述服务器部署有程序行为探测模块,至少一个服务器部署有程序行为分析模块;
所述程序行为探测模块被配置为确定探测代码组,将所述探测代码组中的探测代码注入对应的运行程序,获取所述运行程序的程序运行行为数据,所述探测代码组包括程序测试需求对应的至少一个探测代码,所述程序运行行为数据包括所述运行程序的当前运行状态、当前运行方法的参数和调用状态中的至少一项,所述程序行为分析模块被配置为对所述程序运行行为数据进行分析,确定分析结果,并根据所述分析结果确定对应的程序优化方法。
本发明实施例的技术方案通过集群分布运行的至少一个程序行为探测模块和至少一个程序行为分析模块,将程序测试需求对应的至少一个探测代码注入对应的运行程序,获取运行程序的程序运行行为数据,并对程序运行行为数据进行分析,确定分析结果,并根据分析结果确定对应的程序优化方法。由此,实现运行程序的动态分析和优化,提高程序代码优化的效率,节省程序优化所需的时间和成本。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明实施例的程序监控系统的系统图;
图2是本发明实施例的程序监控系统的各模块的示意图;
图3是本发明实施例的确定程序优化方法的流程图;
图4是本发明实施例的程序监控方法的流程图;
图5是本发明实施例的程序优化方法的具体实施方式的流程图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
目前的企业业务系统开发多采用Java、C语言作为编程语言,程序的运行和优化对于提升企业业务系统性能发挥着重要作用。同时,现有的程序优化很大程度上依赖于开发人员的技术能力,但并非所有的开发人员均能够解决程序潜在的内部缺陷或进一步优化已开发的程序。
因此,为实现程序的优化,现有的方法多集中在如何提高开发人员的技术能力上,主要有:组织开发人员培训、邀请行业专家检查优化系统、静态扫描和优化代码以及扩大程序功能测试范围等。然而,尽管以上方法对于优化程序能够起到作用,但耗时周期长,成本高,适用性差。由此,本发明实施例旨在提供一种程序监控系统及方法,以实现运行程序的动态分析和优化,提高程序代码优化的效率,节省程序优化所需的时间和成本。
在以下本发明实施例的说明中,以Java程序的监控方法和系统为例进行说明,应理解,本发明实施例的程序监控方法及系统还可以应用于其它编程语言,例如C语言、汇编语言等,本发明实施例中并不对此进行限制。
图1是本发明实施例的程序监控系统的系统图。如图1所示,本实施例的程序监控系统用于对程序的分析优化,包括多个集群分布运行的服务器101。其中,多个服务器101构成的集群中,至少一个服务器101上部署有至少一个程序行为探测模块,至少一个服务器101上部署有至少一个程序行为分析模块,各服务器之间通过网络实现无线通信或有线通信,程序行为探测模块和程序行为分析模块之间集群分布式运行。
可选地,本实施例中的同一服务器101上可以部署有至少一个程序行为探测模块和程序行为分析模块。
图2是本发明实施例的程序监控系统的各模块的示意图。如图2所示,本实施例的程序监控系统包括程序行为探测模块1和程序行为分析模块2。程序行为探测模块1被配置为确定探测代码组,并将所述探测代码组中的探测代码注入对应的运行程序,获取所述运行程序的程序运行行为数据。程序行为分析模块2被配置为对程序运行行为数据进行分析,确定分析结果,并根据分析结果确定对应的程序优化方法。其中,探测代码组包括程序测试需求对应的至少一个探测代码。程序运行行为数据包括所述运行程序的当前运行状态、当前运行方法的参数和调用状态中的至少一项。由此,本实施例基于程序行为探测模块和程序行为分析模块的集群分布式运行,实现运行的Java程序的动态分析和优化。再者,通过探测代码获取运行程序的程序运行行为数据,并根据程序运行行为数据自动给出对应的程序优化方法,能够提高Java程序代码优化的效率,节省Java程序优化所需的时间和成本。
可选地,本实施例的程序行为探测模块基于JPDA机制中的JVMTIAgent实现。
JPDA(Java Platform Debugger Architecture,Java平台调试架构),是Java虚拟机为调试和监控虚拟机专门提供的一套接口,由三个规范JVMTI(JVM Tool Interface)、JDI(Java Debug Interface)和JDWP(Java Debug Wire Protocol)组成,分别用于将调试过程分解为调试者(Debugger)、被调试者(Debuggee)以及二者之间的通信器。
JVMIT(Java Virtual Machine Tool Interface,Java虚拟机工具接口),是一套由虚拟机直接提供的native接口,处于JPDA体系的最低层。开发人员通过JVMIT实现对虚拟机上运行的Java程序的调试,并查看Java程序的运行状态,设置回调函数,控制对应的环境变量,进而优化程序性能。JVMTIAgent是一个动态库,通过JVMTI暴露出来的接口完成各项工作进程。
可选地,如图2所示,本实施例的程序行为分析模块2包括分析方法确定子模块21、分析子模块22以及优化子模块23。其中,分析方法确定子模块21被配置为根据程序运行行为数据确定对应的分析方法。分析子模块22被配置为基于确定好的分析方法对程序运行行为数据进行分析,确定对应的分析结果。优化子模块23被配置为根据分析结果确定对应的程序优化方法。
可选地,如图2所示,本实施例的程序监控系统还包括探测分析管理模块3和系统交互模块4。
本实施例的探测分析管理模块3被配置为获取系统中各个程序行为探测模块1和程序行为分析模块2的运行状态,并根据各个程序行为探测模块1和程序行为分析模块2的运行状态,确定执行当前探测分析任务的程序行为探测模块1和程序行为分析模块2。其中,上述的运行状态用来表征程序行为探测模块和程序行为分析模块是否处于使用状态。由此,通过探测分析管理模块统一管理和调度安装在服务器上的程序行为探测模块和程序行为分析模块,并将处于未使用状态的程序行为探测模块和程序行为分析模块确定为执行当前探测分析任务的程序行为探测模块和程序行为分析模块,增强程序监控系统的集中控制性能,有利于提高程序优化效率。
应理解,本实施例中的探测分析管理模块可以配置为根据程序行为探测模块和程序行为分析模块的运行状态自动确定执行探测分析任务的程序行为探测模块和程序行为分析模块,也可以仅配置为获取程序行为探测模块和程序分析模块的运行状态,并通过人工干预的手动方式选择确定执行探测分析任务的程序行为探测模块和程序行为分析模块。由此,使得程序行为探测模块和程序行为分析模块的选择方式更加灵活,有利于提升程序监控系统的使用体验。
本实施例的系统交互模块4连接有显示操作界面41,被配置为控制显示操作显示界面41显示运行程序标识、和/或运行程序的探测分析进度、和/或程序运行行为数据的分析结果、和/或推荐的程序优化方法。其中,运行程序标识包括执行当前分析探测任务及待探测分析的运行程序信息、和/或运行程序所在的服务器标识、和/或执行探测分析任务的探测代码标识和/或其它能够反映运行程序及其探测分析任务相关的标识信息。由此,通过显示操作界面实时直观地显示探测分析及相关信息,方便程序监控系统使用者能够快速获取运行程序的探测分析任务的进程,并根据探测任务执行后的分析结果对程序快速进行优化,提高运行程序动态分析和优化的效率,提升程序监控系统使用者的使用体验。
为进一步提高本实施例的程序监控系统的使用性能和适用性,同时提高程序动态分析和优化性能,本实施例中的各模块还被配置为执行如下过程。
可选地,本实施例的探测分析管理模块在确定执行当前探测分析任务的程序行为探测模块和程序行为分析模块之后,还被配置为确定需要执行当前分析任务的运行程序和探测代码。由此,进一步提高程序监控系统的自动化程度和使用性能。
另外,由于不同探测代码的运行要求和使用性能存在差异。例如,当需要获取的程序运行行为数据量小时,确定的探测代码数据量小,占用内存少;当需要获取的程序运行行为数据量大时,确定的探测代码数据量会偏大,占用内存多。基于此,本实施例的程序行为探测模块还被配置为获取其所在服务器的工作指标,探测分析管理模块根据程序行为探测模块所在服务器的工作指标确定执行当前探测分析任务的探测代码和执行时间。其中,上述的工作指标包括但不限于程序行为探测模块所在服务器的CPU占用量、和/或内存使用量、和/或网络输入输出量(即网络IO)、和/或磁盘输入输出量(即磁盘IO)。
可选地,本实施例的程序行为探测模块还被配置为获取运行程序的程序运行指标。其中,本实施例的程序运行指标包括CPU占用率、和/或内存使用量、和/或程序jvm垃圾回收频率。分析子模块还被配置为基于分析结果和程序运行指标确定对应的程序优化方法。由此,本实施例的程序行为分析模块接收程序行为探测模块发送的程序运行行为数据和程序运行指标对应的数据,分析方法确定子模块根据程序运行行为数据确定对应的分析方法,并由分析子模块基于确定好的分析方法对程序运行行为数据进行分析,确定对应的分析结果,再由优化子模块基于分析结果和程序运行指标确定对应的程序优化方法。
可选地,如图2所示,本实施例的探测分析管理模块3还被配置为与外部的运维管理系统5集成。由此,通过程序监控系统获取运维管理系统5中各服务器的运行状态,并根据实际使用需要向运维管理系统中的各服务器安装程序行为探测模块,获取运维管理系统中运行程序的程序运行行为数据,并根据获取到的程序运行行为数据对运行程序进行优化,提高程序监控系统的使用性能,扩大程序监控系统的适用范围。
可选地,如图2所示,本实施例的探测管理模块3还被配置为与外部的负载均衡系统6集成,运行程序运行于上述的负载均衡系统6中。由此,通过将运行程序所在的系统与程序监控系统分离,进一步减少探测代码对运行程序和运行程序所在系统的影响。
可选地,如图2所示,本实施例的程序监控系统还可以借助zookeeper(分布式应用程序协调服务)和etcd(一种提供存储、共享配置及服务的分布式系统)等外部的辅助系统7采用主从选举的方式对多段运行程序执行探测分析任务。由此,进一步提高程序监控系统的使用性能和适用性。
可选地,本实施例的系统交互模块还被配置为控制显示程序监控系统内的程序行为探测模块和/或程序行为分析模块和探测管理模块的运行状态,由此,方便程序监控系统的使用者对系统内全部模块的工作性能进行监测,进一步提升程序监控系统的使用体验。
进一步地,本实施例的系统交互模块还设置有与外部系统集成的接口。系统交互管理模块被配置为对外部系统(包括上述的运维管理系统、负载均衡系统和辅助系统)屏蔽程序监控系统内的运行逻辑,保证程序监控系统本身的安全性。同时,系统交互模块还被配置为通过上述接口管理程序监控系统对外部系统的开放权限。由此,外部系统通过上述的接口与程序监控系统进行集成,在建立通信连接的同时,通过外部系统控制程序监控系统内模型、代码或程序逻辑的调整和更新,进一步提高程序监控系统的使用性能。
结合以上内容,应理解,本实施例的程序监控系统可以仅包括程序行为探测模块和程序行为分析模块。由此,采用最小规模的部署实现运行程序的动态探测分析和优化。同时,也可以将程序行为探测模块、程序行为分析模块、系统管理模块和系统交互模块共同部署在同一系统中,通过各模块之间的协同配合,在实现运行程序的动态分析和优化的同时,进一步提高系统的整体性能和自动化程度。
图3是本发明实施例的程序监控方法的流程图。如图3所示,本实施例的程序监控方法包括如下步骤:
在步骤S1,确定探测代码组。其中,探测代码组包括程序测试需求对应的至少一个探测代码。
本实施例中,为方便探测代码的管理和调用,各探测需求对应的探测代码集中存储于探测代码集合中。探测代码集合中的探测代码根据实际程序测试需求自动列入同一探测代码集合组。可选地,各探测代码是由本领域的专家级别的开发人员制作,专业性高,能够满足多种测试需求,执行不同的探测任务。
可选地,本实施例中的探测代码集合中的探测代码可以按照获取的程序运行行为数据的数据量的规模和/或类型进行分类,用于获取包括运行程序当前运行状态、当前运行方法参数和调用状态中的至少一项的程序运行行为数据。
同时,为了使探测代码的确定更加灵活,本实施例可以通过手动或自动地方式从探测代码集合中确定出执行当前探测分析任务的探测代码组。在一种可选的实现方式中,程序行为探测模块根据用户输入的程序测试需求确定探测代码组。在其它可选的实现方式中,程序行为探测模块可以通过用户选择的探测代码确定探测代码组,应理解,本实施例中并不对获取探测代码组的方式进行限制。
在步骤S2,将探测代码组中的探测代码注入对应的运行程序,获取运行程序的程序运行行为数据。
本实施例中,为方便探测代码的选择和使用,本实施例预先对探测代码集合中的探测代码建立唯一对应的标识(可以是顺序编号),通过确定探测代码的标识来自动或者手动确定注入运行程序的探测代码,提高从探测代码集合中确定探测代码的效率。
可选地,本实施例中默认采用探测代码组中最小数据量的探测代码执行相应的探测分析任务,由此,提高探测代码的确认效率。
本实施例中,程序运行行为数据包括运行程序的当前运行状态、当前运行方法的参数和调用状态中的至少一项。程序运行行为数据包括运行程序的当前运行状态、当前运行方法的参数和调用状态中的至少一项。运行程序的当前运行状态用来表征运行程序当前正在运行的方法。当前运行方法的参数用于表征当前运行的方法中使用的相关参数。调用状态用于表征运行程序在运行过程中是否存在调用以及调用方法的执行状态。
可选地,为降低探测代码执行探测分析任务时对运行程序的影响,提高运行程序的代码优化效率,提高程序运行行为数据的有效利用率,在一种可选实施方式中,本实施例的步骤S2可以按如下步骤S21或步骤S22中的过程执行。
在步骤S21,获取预定时长内产生的程序运行行为数据。
具体地,在本步骤中,程序行为探测模块响应于探测代码执行预定时长,获取预定时长内产生的程序运行行为数据。
本实施中,通过获取预定时长对应的程序运行行为数据,可以减少更多数据量的程序运行行为数据的产生,有利于提高程序运行行为数据的有效利用率。同时,通过对预定时长对应的程序运行行为数据的分析确定对应的程序优化方法,能够节省相应的分析时间,有利于提高运行程序的优化效率。
在步骤S22,获取预定数据量的程序运行行为数据。
具体地,在本步骤中,本实施例的程序行为探测模块响应于获取的程序运行行为数据达到预定数据量,控制探测代码停止执行。
本实施中,通过获取预定数据量的程序运行行为数据,可以减少更多数据量的程序运行行为数据的产生,有利于提高程序运行行为数据的有效利用率。同时,通过对预定数据量对应的程序运行行为数据的分析确定对应的程序优化方法,能够节省相应的分析时间,有利于提高运行程序的优化效率。
进一步地,本实施例的步骤S2还包括步骤S23。
在步骤S23,压缩并传输程序运行行为数据。
可选地,在获取程序运行行为数据完成后,为方便数据传输,本实施例的程序行为探测模块对获取到的程序运行行为数据进行压缩,并将压缩后的程序运行行为数据传输至程序行为分析模块。
具体地,本步骤中的数据压缩的方式包括LZMA、LZMA2、PPMD、BZIP2和Deflate等。程序行为探测模块可以通过共享内存、文件传输、网络传输或其它数据传输方式将程序运行行为数据传输至程序行为分析模块。
在步骤S3,对程序运行行为数据进行分析,确定分析结果,并根据分析结果确定对应的程序优化方法。
在本步骤中,本实施例的程序行为分析模块对程序运行行为数据进行分析,确定分析结果,并根据分析结果确定对应的程序优化方法。
可选地,如图4所示,本实施例中的步骤S3包括步骤S31到步骤S33。
在步骤S31,根据程序运行行为数据确定对应的分析方法。
具体地,在本步骤中,本实施例的分析方法确定子模块根据程序运行行为数据确定对应的分析方法。
可选地,本实施例的分析方法可以根据实际使用需要进行预先设置。其中,分析方法对应的数据可以预先存储于程序行为探测模块或程序监控系统,根据程序行为探测模块中确定好的探测代码进行匹配,并用于分析程序运行行为数据。也可以通过插件的方式对分析方法和程序优化方法对应的数据进行存储,并在分析程序运行行为数据时被程序行为分析模块调用。
可选地,本实施例的分析方法确定子模块根据接收到的程序运行行为数据的类型或规模等指标来确定分析方法。
程序运行行为数据的类型包括不同探测代码对应的程序运行行为数据,例如,运行程序调用的不同类型的数据、运行程序内部出现的异常运行数据等。
程序运行行为数据的规模可以按照获取的程序运行行为数据的总的数据量确定,例如,当程序运行行为数据小于100MB时定义为一级规模数据,当程序运行行为数据介于100-1000MB时定义为二级规模数据,当程序运行行为数据大于1000MB时定义为三级规模数据。
基于此,当程序运行行为数据中包含的数据类型单一或者获取的数据规模小时,采用数据量小的分析方法对获取的程序运行行为数据进行分析,在保证分析结果准确性的同时,能够加快数据分析进程,进而提高运行程序探测分析和优化的效率。当程序运行行为数据中包含的数据类型复杂或者获取的数据规模大时,则需要采用复杂的分析方法对程序运行行为数据进行分析,以保证数据分析的准确度和后续程序优化方法的有效性,进而提高程序监控系统的使用性能。
具体地,本实施例的分析方法可以包括确定运行程序频繁调用的方法返回的结果是否一致、频繁调用的方法中相关参数的变化频次是否小于预设值、调用的方法链中是否包含频繁使用或循环使用的网络调用以及调用方法对应的调用时间等。其中,上述程序频繁调用的方法为运行程序调用次数大于预设次数的方法,预设次数的值可以根据实际使用过程确定。
在步骤S32,基于确定好的分析方法对程序运行行为数据进行分析,确定对应的分析结果。
具体地,在本步骤中,本实施例的分析子模块基于确定好的分析方法对程序运行行为数据进行分析,确定对应的分析结果。
在步骤S33,根据分析结果确定对应的程序优化方法。
在本步骤中,优化子模块根据分析结果和程序运行指标确定对应的程序优化方法。
可选地,本实施例中的步骤S33具体为根据分析结果和程序运行指标确定对应的程序优化算法,程序运行指标包括CPU占用率、和/或内存使用量、和/或程序jvm垃圾回收频率。由此,通过分析结果和程序运行指标共同确定对应的程序优化方法,进一步方便运行程序的优化,提高程序监控方法的使用性能。
本实施例中,以上述步骤S31中的分析结果为例确定对应的程序优化方法进行说明。
具体地,优化子模块响应于运行程序频繁调用的方法返回的结果一致,结合程序运行指标(例如内存使用率高),确定程序优化方法为采用缓存的方式重复使用调用方法对应的结果数据;响应于频繁调用的方法中相关参数的变化频次小于预设值,确定程序优化方法为柯里化处理(Currying)被调用的函数,通过缓存柯里化函数代理,降低系统的代码执行量,有利于提升运行程序所在系统的运行效率;响应于调用的方法链中包含频繁使用或循环使用的网络调用,确定程序优化方法为缓存重复使用的网络调用,或者将方法链的执行修改为批量化请求处理逻辑,进而降低网络请求次数,提高运行程序所在系统的运行效率;根据不同调用方法的调用时间,确定运行程序所在系统的性能瓶颈节点,确定程序优化方法为优化调用方法,减少调用方法的耗时。
柯里化(Currying)是指把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。
需要说明的是,本实施例的优化子模块确定出对应的程序优化方法后,对应运行程序所在系统的使用者可以根据实际使用确定是否按照优化子模块确定的程序优化方法进行优化,以及是否选择通过优化子模块进行优化。由此,进一步提升程序监控系统的使用性能和适用性。
另外,本实施例的程序行为分析模块可以整体配置为通过机器学习、深度学习或其它数据分析技术对获取到的程序运行行为数据进行分析,并将数据分析得到的分析结果作为程序行为分析模块确定的分析结果,并用于后续程序分析和优化过程。
本发明实施例的技术方案通过将程序测试需求对应的至少一个探测代码注入对应的运行程序,获取运行程序的程序运行行为数据,并对程序运行行为数据进行分析,确定分析结果,并根据分析结果确定对应的程序优化方法。由此,实现运行程序的动态分析和优化,提高程序代码优化的效率,节省程序优化所需的时间和成本。
图5是本发明实施例的程序优化方法的具体实施方式的流程图。如图5所示,本实施例的程序监控方法包括如下步骤:
在步骤S100,接收探测分析任务请求。
本实施例的程序监控方法应用于包括至少一个程序行为探测模块、至少一个程序行为分析模块、探测分析管理模块和系统交互模块的程序监控系统。当程序监控系统为最小规模(也即程序监控系统仅包括至少一个程序行为探测模块和至少一个程序行为分析模块)时,本实施例的程序监控方法根据手动选择的运行程序和探测代码执行探测分析任务,并依次执行以下步骤S500-步骤S800,实现运行程序的动态分析和优化。
在步骤S200,确定执行当前探测分析任务的程序行为探测模块和程序行为分析模块。
本实施例中,探测分析管理模块根据系统中各程序行为探测模块和程序行为分析模块的运行状态确定执行当前探测分析任务的程序行为探测模块和程序行为分析模块。其中,运行状态用来表征程序行为探测模块和程序行为分析模块是否处于使用状态。由此,通过探测分析管理模块统一管理和调度安装在服务器上处于未使用状态的程序行为探测模块和程序行为分析模块作为执行当前探测分析任务的程序行为探测模块和程序行为分析模块,有利于增强程序监控系统的集中控制性能,有利于提高程序优化效率。
在步骤S300,确定执行当前探测分析任务的运行程序。
具体地,本实施例中通过探测分析管理模块确定执行当前分析任务的运行程序。由此,进一步提高程序监控系统的自动化程度和使用性能。
在步骤S400,确定执行当前探测分析任务的探测代码组。
具体地,本实施例中通过程序行为探测模块确定执行当前分析任务的探测代码组,探测代码组的类型与待获取的程序运行行为数据的功能和类型相适应。由此,进一步提高程序监控系统的自动化程度和使用性能。
可选地,当程序行为探测模块获取到的其所在服务器的工作指标小于对应的程序运行指标,也即选定的程序程序行为探测模块的可用资源小于阈值时,本实施例的步骤S400可以按如下的步骤S410或步骤S420执行。
在步骤S410,响应于选定的程序程序行为探测模块的可用资源小于阈值,确定可用资源对应的探测代码执行当前探测分析任务。
可选地,探测分析管理模块响应于选定的程序程序行为探测模块的可用资源小于阈值,确定可用资源对应的探测代码执行当前探测分析任务,并由程序行为探测模块将确定好的探测代码应用于后续执行过程中。其中,确定可用资源对应的探测代码具体为减少探测指标(也即减少获取的程序运行行为数据类型)后对应的探测代码。由此,在可用资源小于阈值时,确定与可用资源匹配的最小数据量的探测代码,获取对应量的程序运行行为数据,同时减少对运行程序所在系统的影响。
在步骤S420,响应于选定的程序行为探测模块的可用资源小于阈值,重新确定选定的程序行为探测模块执行当前探测分析任务的时间。
具体地,探测分析管理模块响应于选定的程序行为探测模块的可用资源小于阈值,重新确定选定的程序行为探测模块执行当前探测分析任务的时间。由此,通过结合程序行为探测模块的可用资源与探测代码的类型和规模,确定运行程序对应的探测代码,并在程序行为探测模块的可用资源小于阈值时重新选定执行当前探测分析任务的时间,在满足运行程序优化的同时,进一步减少探测代码对运行程序的影响。
本实施例中,可用资源为程序行为探测模块所在服务器上的工作指标。可用资源的阈值为选定的探测代码在服务器上获取对应的程序运行行为数据时需要的可用资源的最大值。可用资源的阈值的设定以不影响运行程序所在系统的正常运行为最低标准进行设置。由此,通过结合程序行为探测模块的可用资源与探测代码的类型和规模,确定运行程序对应的探测代码,或者重新选定执行当前探测分析任务的时间,在满足运行程序优化的同时,减少探测代码对运行程序的影响。
在步骤S500,程序行为探测模块将探测代码注入运行程序,获取运行程序的程序运行行为数据。
可选地,为降低探测代码执行探测分析任务时对运行程序的影响,提高运行程序的代码优化效率,提高程序运行行为数据的有效利用率,本实施例中可以采用如下步骤S510或步骤S520中的方式进行。
在步骤S510,响应于探测代码执行预定时长,获取预定时长内产生的程序运行行为数据。
具体地,本实施例中的程序行为探测模块响应于探测代码执行预定时长,获取预定时长内产生的程序运行行为数据。由此,通过获取预定时长的程序运行行为数据,减少更多数据量的程序运行行为数据的产生,有利于提高程序运行行为数据的有效利用率。同时,通过对预定时长对应的程序运行行为数据的分析确定对应的程序优化方法,能够节省相应的分析时间,有利于提高运行程序的优化效率。
在步骤S520,响应于获取的程序运行行为数据达到预定数据量,控制探测代码停止执行。
具体地,本实施例的程序行为探测模块还响应于获取的程序运行行为数据达到预定数据量,控制探测代码停止执行。由此,通过获取预定数据量的程序运行行为数据,减少更多数据量的程序运行行为数据的产生,有利于提高程序运行行为数据的有效利用率。同时,通过对预定数据量的程序运行行为数据的分析确定对应的程序优化方法,能够节省相应的分析时间,有利于提高运行程序的优化效率。
进一步地,本实施例中的程序行为探测模块对获取的程序运行行为数据进行压缩,并将压缩后的程序运行行为数据传输至程序行为分析模块。由此,提高数据传输效率,有利于加快程序优化分析进程。
在步骤S600,程序行为分析模块确定对应的分析方法对程序运行行为数据进行分析,确定分析结果。
本实施例中,分析方法确定子模块根据接收到的程序运行行为数据的类型或规模等指标来确定分析方法。
具体地,当程序运行行为数据中包含的数据类型单一或者获取的数据量小时,采用数据量小的分析方法对获取的程序运行行为数据进行分析,在保证分析结果准确性的同时,能够加快数据分析进程,进而提高运行程序探测分析和优化的效率。当程序运行行为数据中包含的数据类型复杂或者获取的数据量大时,则需要采用大复杂的分析方法对程序运行行为数据进行分析,以保证数据分析的准确度和后续程序优化方法的有效性,进而提高程序监控系统的使用性能。
进一步地,本实施例的分析方法可以根据实际使用需要进行预先设置。其中,分析方法可以预先存储于程序行为探测模块或程序监控系统,根据程序行为探测模块中确定好的探测代码进行自动匹配,并用于分析程序运行行为数据。也可以通过插件的方式对分析方法对应的数据进行存储,并在分析程序运行行为数据时被程序行为分析模块调用。
在确定好分析方法之后,本实施例的分析子模块基于确定好的分析方法对程序运行行为数据进行分析,并确定分析结果。
在步骤S700,程序行为分析模块根据分析结果确定对应的程序优化方法。
本实施例中,程序行为分析模块基于上述分析的分析结果和程序行为探测模块获取的程序运行指标确定对应的程序优化方法。其中,本实施例的程序运行指标包括CPU占用率、内存使用量和程序jvm垃圾回收频率等。
在步骤S800,系统交互模块显示分析结果和程序优化方法。
本实施例中,通过系统交互模块的显示操作界面显示分析结果和程序优化方法,方便程序监控系统使用者能够快速获取运行程序的探测分析任务的进程,并根据探测任务执行后的分析结果对Java程序快速进行优化,提高运行程序动态分析和优化的效率,提升程序监控系统使用者的使用体验。
本发明实施例的技术方案通过将程序测试需求对应的至少一个探测代码注入对应的运行程序,获取运行程序的程序运行行为数据,并对程序运行行为数据进行分析,确定分析结果,并根据分析结果确定对应的程序优化方法。由此,实现运行程序的动态分析和优化,提高程序代码优化的效率,节省程序优化所需的时间和成本。
本领域的技术人员应明白,本申请的实施例可提供为方法或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。
这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。
也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
本发明的另一实施例涉及一种非易失性计算机可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种程序监控系统,其特征在于,所述系统包括:
至少一个程序行为探测模块,被配置为确定探测代码组,将所述探测代码组中的探测代码注入对应的运行程序,获取所述运行程序的程序运行行为数据,所述探测代码组包括程序测试需求对应的至少一个探测代码,所述程序运行行为数据包括所述运行程序的当前运行状态、当前运行方法的参数和调用状态中的至少一项;以及
至少一个程序行为分析模块,被配置为对所述程序运行行为数据进行分析,确定分析结果,并根据所述分析结果确定对应的程序优化方法;
其中,所述至少一个程序行为探测模块和至少一个程序行为分析模块集群分布运行。
2.根据权利要求1所述的程序监控系统,其特征在于,所述系统还包括:
探测分析管理模块,被配置为根据各所述程序行为探测模块和程序行为分析模块的运行状态,确定执行当前探测分析任务的程序行为探测模块和程序行为分析模块。
3.根据权利要求2所述的程序监控系统,其特征在于,所述探测分析管理模块还被配置为:
响应于选定的程序行为探测模块的可用资源小于阈值,确定所述可用资源对应的探测代码执行所述当前探测分析任务;或者
响应于选定的程序行为探测模块的可用资源小于阈值,重新确定所述选定的程序行为探测模块执行所述当前探测分析任务的时间。
4.根据权利要求1所述的程序监控系统,其特征在于,所述程序行为探测模块还被配置为:
响应于所述探测代码执行预定时长,获取所述预定时长内产生的程序运行行为数据。
5.根据权利要求1所述的程序监控系统,其特征在于,所述程序行为探测模块还被配置为:
响应于获取的所述程序运行行为数据达到预定数据量,控制所述探测代码停止执行。
6.根据权利要求1所述的程序监控系统,其特征在于,所述程序运行行为分析模块包括:
分析方法确定子模块,被配置为根据所述程序运行行为数据确定对应的分析方法;
分析子模块,被配置为基于所述分析方法对所述运行程序进行分析,确定对应的分析结果;以及
优化子模块,被配置为根据所述分析结果确定对应的程序优化方法。
7.根据权利要求6所述的程序监控系统,其特征在于,所述程序行为探测模块还被配置为:
获取所述运行程序的程序运行指标,所述程序运行指标包括CPU占用率和/或内存使用率;
所述分析子模块还被配置为:
基于所述分析结果和程序运行指标确定对应的程序优化方法。
8.根据权利要求1所述的程序监控系统,其特征在于,所述系统还包括:
系统交互模块,被配置为显示运行程序标识、和/或所述运行程序的探测进度、和/或所述程序运行行为数据的分析结果、和/或推荐的程序优化方法。
9.根据权利要求1所述的程序监控系统,其特征在于,所述程序行为探测模块还被配置为:
将压缩后的所述程序运行行为数据传输至对应的程序行为探测模块。
10.一种程序监控方法,其特征在于,所述方法包括:
确定探测代码组,所述探测代码组包括程序测试需求对应的至少一个探测代码;
将所述探测代码组中的探测代码注入对应的运行程序,获取所述运行程序的程序运行行为数据,所述程序运行行为数据包括所述运行程序的当前运行状态、当前运行方法的参数和调用状态中的至少一项;以及
对所述程序运行行为数据进行分析,确定分析结果,并根据所述分析结果确定对应的程序优化方法。
11.根据权利要求10所述的程序监控方法,其特征在于,所述方法还包括:
响应于所述探测代码执行预定时长,获取所述预定时长内产生的程序运行行为数据。
12.根据权利要求10所述的程序监控方法,其特征在于,所述方法还包括:
响应于获取的所述程序运行行为数据达到预定数据量,控制所述探测代码停止执行。
13.根据权利要求10所述的程序监控方法,其特征在于,所述方法还包括:
获取所述运行程序的程序运行指标,所述程序运行指标包括CPU占用率和/或内存使用率;
所述根据所述分析结果确定对应的程序优化方法具体为基于所述分析结果和程序运行指标确定对应的程序优化方法。
14.根据权利要求10所述的程序监控方法,其特征在于,所述方法还包括:
显示运行程序标识、和/或所述运行程序的探测进度、和/或所述分析结果、和/或推荐的程序优化方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求10-14中任一项所述的方法步骤。
16.一种程序监控系统,其特征在于,所述系统包括多个服务器,多个所述服务器集群分布运行,其中,至少一个所述服务器部署有程序行为探测模块,至少一个服务器部署有程序行为分析模块;
所述程序行为探测模块被配置为确定探测代码组,将所述探测代码组中的探测代码注入对应的运行程序,获取所述运行程序的程序运行行为数据,所述探测代码组包括程序测试需求对应的至少一个探测代码,所述程序运行行为数据包括所述运行程序的当前运行状态、当前运行方法的参数和调用状态中的至少一项,所述程序行为分析模块被配置为对所述程序运行行为数据进行分析,确定分析结果,并根据所述分析结果确定对应的程序优化方法。
CN202011399459.5A 2020-12-01 2020-12-01 程序监控系统、方法和计算机可读存储介质 Pending CN112527638A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011399459.5A CN112527638A (zh) 2020-12-01 2020-12-01 程序监控系统、方法和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011399459.5A CN112527638A (zh) 2020-12-01 2020-12-01 程序监控系统、方法和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN112527638A true CN112527638A (zh) 2021-03-19

Family

ID=74998263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011399459.5A Pending CN112527638A (zh) 2020-12-01 2020-12-01 程序监控系统、方法和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112527638A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023246651A1 (zh) * 2022-06-23 2023-12-28 华为技术有限公司 数据处理方法、处理器、计算设备及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391633A (zh) * 2017-06-30 2017-11-24 北京奇虎科技有限公司 数据库集群自动优化处理方法、装置及服务器
US9846476B1 (en) * 2015-06-30 2017-12-19 EMC IP Holding Company LLC System and method of identifying the idle time for lab hardware thru automated system
CN109471772A (zh) * 2018-10-25 2019-03-15 北京计算机技术及应用研究所 并行程序运行时监控方法
KR20190061247A (ko) * 2017-11-27 2019-06-05 (주) 글루시스 빅데이터 처리 플랫폼의 실시간 자원 사용률 모니터링 시스템
CN110457179A (zh) * 2019-07-29 2019-11-15 Oppo广东移动通信有限公司 系统检测方法、内存监控方法、装置、介质与电子设备
CN110515806A (zh) * 2019-08-30 2019-11-29 北京博睿宏远数据科技股份有限公司 探针配置方法、装置、计算机设备及存储介质
US20190370146A1 (en) * 2018-06-05 2019-12-05 Shivnath Babu System and method for data application performance management
CN110990183A (zh) * 2019-12-04 2020-04-10 腾讯科技(深圳)有限公司 数据库集群的异常检测方法、装置、计算机可读存储介质
CN111026601A (zh) * 2019-09-23 2020-04-17 拉扎斯网络科技(上海)有限公司 Java应用系统的监控方法、装置、电子设备及存储介质
CN111625428A (zh) * 2020-04-20 2020-09-04 中国建设银行股份有限公司 监控Java应用程序运行状态的方法、系统、设备和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9846476B1 (en) * 2015-06-30 2017-12-19 EMC IP Holding Company LLC System and method of identifying the idle time for lab hardware thru automated system
CN107391633A (zh) * 2017-06-30 2017-11-24 北京奇虎科技有限公司 数据库集群自动优化处理方法、装置及服务器
KR20190061247A (ko) * 2017-11-27 2019-06-05 (주) 글루시스 빅데이터 처리 플랫폼의 실시간 자원 사용률 모니터링 시스템
US20190370146A1 (en) * 2018-06-05 2019-12-05 Shivnath Babu System and method for data application performance management
CN109471772A (zh) * 2018-10-25 2019-03-15 北京计算机技术及应用研究所 并行程序运行时监控方法
CN110457179A (zh) * 2019-07-29 2019-11-15 Oppo广东移动通信有限公司 系统检测方法、内存监控方法、装置、介质与电子设备
CN110515806A (zh) * 2019-08-30 2019-11-29 北京博睿宏远数据科技股份有限公司 探针配置方法、装置、计算机设备及存储介质
CN111026601A (zh) * 2019-09-23 2020-04-17 拉扎斯网络科技(上海)有限公司 Java应用系统的监控方法、装置、电子设备及存储介质
CN110990183A (zh) * 2019-12-04 2020-04-10 腾讯科技(深圳)有限公司 数据库集群的异常检测方法、装置、计算机可读存储介质
CN111625428A (zh) * 2020-04-20 2020-09-04 中国建设银行股份有限公司 监控Java应用程序运行状态的方法、系统、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈维;: "Linux机群上应用程序的优化", 勘探地球物理进展, no. 06, 25 December 2008 (2008-12-25) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023246651A1 (zh) * 2022-06-23 2023-12-28 华为技术有限公司 数据处理方法、处理器、计算设备及装置

Similar Documents

Publication Publication Date Title
CN106294120B (zh) 测试代码的方法、设备和计算机程序产品
CN105094783B (zh) 安卓应用稳定性测试的方法及装置
EP3149590B1 (en) Performance optimization tip presentation during debugging
US9298589B2 (en) User interaction analysis of tracer data for configuring an application tracer
US7900198B2 (en) Method and system for parameter profile compiling
US9021445B2 (en) Tracer list for automatically controlling tracer behavior
CN109840206B (zh) 数据测试方法、装置、终端及存储介质
Zhang et al. Panappticon: Event-based tracing to measure mobile application and platform performance
CN111026601A (zh) Java应用系统的监控方法、装置、电子设备及存储介质
CN109614391B (zh) 数据库诊断系统、数据库诊断方法及非临时性机器可读介质
US20110191752A1 (en) Method and System for Debugging of Software on Target Devices
US9239773B1 (en) Method and system for debugging a program that includes declarative code and procedural code
CN107608901B (zh) 基于Jmeter的测试方法及装置、存储介质、电子设备
CN112016101B (zh) 软件研发安全能力动态评估和提升方法及系统
EP3618078A1 (en) System and method for controlling quality of performance of digital applications
JP2010225133A (ja) 消費電力評価装置、電力係数作成システム、消費電力評価方法及び電力係数作成方法。
US20080010493A1 (en) Software development apparatus and method
US20140172401A1 (en) Method of simulating discrete event
CN104123397A (zh) Web页面的自动化测试装置及方法
US9081588B2 (en) Execution time profiling for interpreted programming languages
CN112527638A (zh) 程序监控系统、方法和计算机可读存储介质
US20080127061A1 (en) Method and system for editing code
CN110209565B (zh) 一种元数据模型调试方法及其装置
CN110750453A (zh) 基于html5的智能移动端测试方法、系统、服务器及存储介质
CN108287781B (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