CN116467151B - 一种程序性能信息采集方法、装置、设备及存储介质 - Google Patents

一种程序性能信息采集方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116467151B
CN116467151B CN202310721286.1A CN202310721286A CN116467151B CN 116467151 B CN116467151 B CN 116467151B CN 202310721286 A CN202310721286 A CN 202310721286A CN 116467151 B CN116467151 B CN 116467151B
Authority
CN
China
Prior art keywords
program
performance
acquisition
acquired
resource file
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.)
Active
Application number
CN202310721286.1A
Other languages
English (en)
Other versions
CN116467151A (zh
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.)
Zhejiang Wooduan Technology Co ltd
Original Assignee
Zhejiang Wooduan 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 Zhejiang Wooduan Technology Co ltd filed Critical Zhejiang Wooduan Technology Co ltd
Priority to CN202310721286.1A priority Critical patent/CN116467151B/zh
Publication of CN116467151A publication Critical patent/CN116467151A/zh
Application granted granted Critical
Publication of CN116467151B publication Critical patent/CN116467151B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种程序性能信息采集方法、装置、设备及存储介质,涉及计算机技术领域,包括:接收前端发送的程序性能采集请求,并基于程序性能采集请求创建自定义资源文件;自定义资源文件包含待采集程序的相关信息;基于自定义资源文件确定待采集程序对象所在的所述目标机器,并在目标机器创建采集容器;采集容器包括性能采集程序;利用性能采集程序创建待采集程序对象的性能采集任务,以基于性能采集任务对待采集程序对象进行性能采集;将采集到的性能状态信息发送至前端,以便前端对所述性能状态信息进行展示。这样一来,可以在接收到采集请求后自动获取待采集程序对象的相关信息,并自动创建性能采集程序,有效简化了操作流程,提高采集效率。

Description

一种程序性能信息采集方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种程序性能信息采集方法、装置、设备及存储介质。
背景技术
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
在传统的性能检测分析方式中,用户需要手动登录到远程宿主机,并使用各种命令行工具进行性能数据采集和分析。这种单方式操作繁琐且易出错,难以适应目前云原生集群复杂性高和进程数量庞大的特点,并且权限无法收敛,使用者必须获取到集群的操作权限才能完成操作,这样导致权限管理不够精细,可能需要开放过多权限才能进行性能采集,这会给系统带来潜在的风险。
发明内容
有鉴于此,本发明的目的在于提供一种程序性能信息采集方法、装置、设备及存储介质,可以在接收到采集请求后自动获取待采集程序对象的相关信息,并自动创建性能采集程序,有效简化了操作流程,并且对于权限需求减少,有效提高了提高采集效率。其具体方案如下:
第一方面,本申请公开了一种程序性能信息采集方法,应用于控制器,包括:
接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件;所述自定义资源文件中记录有待采集程序对象以及所述待采集程序对象所在的目标机器的相关信息;
基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器;所述采集容器包括性能采集程序;
利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集;
将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示。
可选的,所述接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件,包括:
判断是否接收到前端发送的程序性能采集请求,若接收到所述程序性能采集请求,则利用本地的控制器服务组件通过API SERVER与待采集程序对象所在集群进行交互,以确定所述待采集程序对象的程序名、目标机器、待采集程序对象的镜像地址以及资源分配信息;所述API SERVER为提供所述控制器与所述待采集程序对象所在集群之间通信接口的组件;
基于所述待采集程序对象的程序名、所述目标机器、所述待采集程序对象的镜像地址以及所述资源分配信息创建自定义资源文件。
可选的,所述基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器,包括:
当接收到所述自定义资源文件创建完成的通知,则基于所述自定义资源文件确定所述目标机器,并通过本地的控制器管理组件利用API SERVER与所述目标机器进行交互,以在所述目标机器创建采集容器。
可选的,所述利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集之后,还包括:
记录所述待采集程序对象的当前采集状态以及当前采集时间,并基于所述当前采集状态以及当前采集时间对历史采集记录进行更新。
可选的,所述将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示,包括:
将采集到的性能状态信息转换为第一火焰图可视化图片,并将所述第一火焰图可视化图片发送至所述前端,以便所述前端对所述第一火焰图可视化图片进行展示。
可选的,所述程序性能信息采集方法,还可以包括:
判断是否接收到所述前端发送的性能采集暂停请求;
若接收到,则向所述采集容器发送采集暂停信号,以便所述采集容器接收到所述采集暂停信号后,停止运行所述性能采集程序,并将当前采集到的数据转换为第二火焰图可视化图片。
可选的,所述程序性能信息采集方法,还可以包括:
若接收到所述性能采集暂停请求,则判断是否接收到资源删除请求;
若接收到,则删除所述自定义资源文件,并将所述第二火焰图可视化图片发送至所述前端,以便所述前端对所述第二火焰图可视化图片进行展示。
第二方面,本申请公开了一种程序性能信息采集装置,应用于控制器,包括:
资源文件创建模块,用于接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件;所述自定义资源文件中记录有待采集程序对象以及所述待采集程序对象所在的目标机器的相关信息;
采集容器创建模块,用于基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器;所述采集容器包括性能采集程序;
性能采集模块,用于利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集;
数据传输模块,用于将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现如前述的程序性能信息采集方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现如前述的程序性能信息采集方法。
本申请中,首先接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件;所述自定义资源文件中记录有待采集程序对象以及所述待采集程序对象所在的目标机器的相关信息,基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器;所述采集容器包括性能采集程序,然后利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集,最后将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示。由此可见,在接收到程序性能采集请求后,可以基于创建的自定义资源文件在目标机器中创建采集容器,以便基于所述采集容器中的性能采集程序对所述目标机器中的待采集程序对象进行性能采集,并将采集得到的性能状态信息发送至前端,以便前端对所述性能状态信息进行展示。这样一来,可以在接收到采集请求后自动获取待采集程序对象的相关信息,并自动创建性能采集程序,以基于所述性能采集程序对所述采集程序对象的相关信息中的待采集程序对象进行自动化的性能采集,有效简化了操作流程,并且对于权限需求减少,有效提高了提高采集效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种程序性能信息采集方法流程图;
图2为本申请提供的一种程序性能信息采集交互图;
图3为本申请提供的一种具体的程序性能信息采集方法流程图;
图4为本申请提供的一种性能采集时序图;
图5为本申请提供的一种性能采集暂停时序图;
图6为本申请提供的一种程序性能信息采集装置结构示意图;
图7为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,用户需要手动登录到远程宿主机,并使用各种命令行工具进行性能数据采集和分析。这种单方式操作繁琐且易出错,难以适应目前云原生集群复杂性高和进程数量庞大的特点,并且权限无法收敛,使用者必须获取到集群的操作权限才能完成操作,这样导致权限管理不够精细,可能需要开放过多权限才能进行性能采集,这会给系统带来潜在的风险。
为了克服上述技术问题,本申请提供了一种程序性能信息采集方法、装置、设备及存储介质,可以在接收到采集请求后自动获取待采集程序对象的相关信息,并自动创建性能采集程序,有效简化了操作流程,并且对于权限需求减少,有效提高了提高采集效率。
参见图1所示,本发明实施例公开了一种程序性能信息采集方法,应用于控制器,包括:
步骤S11、接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件;所述自定义资源文件中记录有待采集程序对象以及所述待采集程序对象所在的目标机器的相关信息。
本实施例中,如图2所示需要在控制器接收到前端,也即接收到网页前端应用发送的性能采集请求后,处于云原生架构控制器中的控制器服务组件采集待采集程序对象以及所述待采集程序对象所在的目标机器的相关信息,并基于采集到的信息创建自定义资源文件。需要进行说明的是,所述云原生架构是一种基于云服务的现代化软件开发和部署方法的架构,可以提高应用程序的可伸缩性、弹性和可靠性,并且包括容器化、微服务架构、自动化运维等特点,可以实现快速迭代、快速部署和持续交付。进一步需要说明的是,所述控制器包括控制器服务组件以及控制器管理组件,并且所述控制器基于控制器模式研发的用于实现程序性能采集的组件,所述控制器模式为基于云原生架构中Kubernetes(一种基于Google开源的容器编排引擎)的一种用于管理容器化应用的核心机制,可以监视应用的状态,并根据需要自动调整应用的副本数量,确保应用能够正常运行并且具有高可用性和扩展能力,并且所述云原生架构以及所述控制器基于Go语言编写。这样一来,基于云原生架构以及云原生架构中的控制器模式进行程序性能信息的采集,可以提高本申请中所述程序性能采集方法的可靠性以及灵活性。
步骤S12、基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器;所述采集容器包括性能采集程序。
本实施例中,如图2所示,在完成自定义资源文件后,可以通知控制器中的控制器管理组件,以便所述控制器管理组件基于所述自定义资源文件确定待采集程序对象所在的目标机器,以便与所述目标机器进行交互,在所述目标机器中创建包含性能采集程序的采集容器。需要进行说明的是,所述采集容器为一个隔离的运行环境,可以将所述性能采集程序以及所述性能采集程序的相关文件打包到一个可移植的格式中,以便在不同的计算机上进行部署和运行。进一步需要进行说明的是,控制器无法直接与待采集程序对象所在的目标机器进行交互,需要通过API SERVER与所述目标机器进行交互,并且所述API SERVER为云原生架构的核心组件之一,负责管理整个集群的连接接口。
步骤S13、利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集。
本实施例中,利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集。也即,性能采集程序在目标机器中创建成功后,创建用于采集待采集程序对象性能信息的采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集。
需要进行说明的是,利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集之后,还包括:记录所述待采集程序对象的当前采集状态以及当前采集时间,并基于所述当前采集状态以及当前采集时间对历史采集记录进行更新。也即,在进行性能信息采集之后,还会记录所述待采集程序当前的采集状态,采集时间,并将所述采集状态以及采集时间更新至预设数据库,以提高对性能采集程序管理的便携性。
步骤S14、将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示。
本实施例中,在利用创建的性能采集程序采集到待采集程序对象的性能状态信息后,需要将所述性能状态信息发送至网页前端应用,以便网页前端应用对所述性能状态信息进行可视化展示,并且所述网页前端应用提供了提供可视化操作界面,在选定了待采集程序对象之后,可以通过点击所述可视化界面上的采集按钮,利用性能采集程序对待采集对象进行性能状态信息的采集。
由此可见,本实施例中首先接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件;所述自定义资源文件中记录有待采集程序对象以及所述待采集程序对象所在的目标机器的相关信息,基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器;所述采集容器包括性能采集程序,然后利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集,最后将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示。由此可见,在接收到程序性能采集请求后,可以基于创建的自定义资源文件在目标机器中创建采集容器,以便基于所述采集容器中的性能采集程序对所述目标机器中的待采集程序对象进行性能采集,并将采集得到的性能状态信息发送至前端,一边前端对所述性能状态信息进行展示。这样一来,可以在接收到采集请求后自动获取待采集程序对象的相关信息,并自动创建性能采集程序,以基于所述性能采集程序对所述采集程序对象的相关信息中的待采集程序对象进行自动化的性能采集,有效简化了操作流程,并且对于权限需求减少,有效提高了提高采集效率。
参见图3所示,本发明实施例公开了一种程序性能信息采集方法,包括:
步骤S21、判断是否接收到前端发送的程序性能采集请求,若接收到所述程序性能采集请求,则利用本地的控制器服务组件通过API SERVER与待采集程序对象所在集群进行交互,以确定所述待采集程序对象的程序名、目标机器、待采集程序对象的镜像地址以及资源分配信息;所述API SERVER为提供所述控制器与所述待采集程序对象所在集群之间通信接口的组件。
本实施例中,结合图2以及图4所示的采集流程图可知,当网页前端应用可视化界面上的采集按钮被点击之后,会生成程序性能采集请求,这样一来,控制器需要判断是否接收到网页前端应用发送的程序性能采集请求,如果控制器接收到,则利用控制器中的控制器服务组件通过API SERVER与待采集程序对象所在集群进行交互,需要进行说明的是,控制器服务组件负责与网页前端应用进行通信,接收并处理网页前端应用发出的请求,并且控制器无法直接与待采集程序对象所在集群进行通信,需要与API SERVER进行通信来管理对应的自定义资源和容器资源,待采集程序对象所在集群为需要进行性能采集的云原生架构集群,包含了当性能采集开始后,控制器会通过API SERVER告知该集群创建自定义资源。控制器服务组件与待采集程序对象所在集群进行交互之后,可以确定待采集程序对象的程序名、待采集程序对象所在的目标机器、待采集程序对象的镜像地址以及资源分配信息。
步骤S22、基于所述待采集程序对象的程序名、所述目标机器、所述待采集程序对象的镜像地址以及所述资源分配信息创建自定义资源文件。
本实施例中,基于所述待采集程序对象的程序名、所述目标机器、所述待采集程序对象的镜像地址以及所述资源分配信息创建自定义资源文件。也即控制器服务组件通过与待采集程序对象所在集群进行交互之后,确定待采集程序对象的程序名、待采集程序对象所在的目标机器、待采集程序对象的镜像地址以及资源分配信息,并基于上述信息创建自定义资源文件,并且在所述自定义资源文件创建完成后,需要向控制器中的控制器管理组件发送自定义资源文件创建完成的通知。
步骤S23、当接收到所述自定义资源文件创建完成的通知,则基于所述自定义资源文件确定所述目标机器,并通过本地的控制器管理组件利用API SERVER与所述目标机器进行交互,以在所述目标机器创建采集容器。
本实施例中,当控制器管理组件接收到控制器服务组件发送的自定义资源文件创建完成的通知,则基于可以通过API SERVER与待采集程序所在的目标机器进行交互,以在所述目标机器创建包含性能采集程序的性能采集容器,并对所述性能采集程序进行持续监听,需要进行说明的是,控制器管理组件是控制器中负责性能状态信息采集的组件,可以在控制器服务组件创建自定义资源文件后及时响应,并在被采集程序所有集群创建出对应的“性能采集容器”并开始采集工作,并持续监听维护“性能采集容器”的状态信息。
步骤S24、将采集到的性能状态信息转换为第一火焰图可视化图片,并将所述第一火焰图可视化图片发送至所述前端,以便所述前端对所述第一火焰图可视化图片进行展示。
本实施例中,将采集到的性能状态信息转换为第一火焰图可视化图片,并将所述第一火焰图可视化图片发送至所述前端,以便所述前端对所述第一火焰图可视化图片进行展示。也即,当采集到待采集程序对象的性能状态信息后,需要将所述性能状态信息转换为火焰图文件,并将转换得到的火焰图文件发送至网页前端应用,以便网页前端应用接收到所述火焰图文件后,直接对所述火焰图文件进行展示。这样一来,可以通过火焰图文件对采集到的性能状态信息进行直观展示,保证用户在云原生架构集群下进行性能采集和性能分析的效率和准确性。
需要进行说明的是,所述程序性能信息采集方法,还包括:判断是否接收到所述前端发送的性能采集暂停请求;若接收到,则向所述采集容器发送采集暂停信号,以便所述采集容器接收到所述采集暂停信号后,停止运行所述性能采集程序,并将当前采集到的数据转换为第二火焰图可视化图片。也即,如图5所示,当用户点击网页前端应用中的暂停采集按钮,网页前端应用则生成性能采集暂停请求,并将所述性能采集暂停请求发送至控制器中的控制器服务组件,当所述控制器服务组件接收到所述性能采集暂停请求,则响应所述性能采集暂停请求,向性能采集程序发送采集暂停信号,以便性能采集程序暂停性能状态信息的采集,并更新采集状态为删除中,所述采集程序接收到控制器服务组件发送的采集暂停信号后,将当前采集到的数据转换为火焰图可视化图片文件,并将所述火焰图可视化图片文件上传至文件存储系统中,以便控制器服务组件从所述文件存储系统获取所述火焰图可视化图片文件,并反馈至网页前端应用。需要进行说明的是,第一火焰图可视化图片与第二火焰图可视化图片均为基于采集到的数据生成的火焰图可视化图片文件。
进一步需要进行说明的是,所述程序性能信息采集方法,还包括:若接收到所述性能采集暂停请求,则判断是否接收到资源删除请求;若接收到,则删除所述自定义资源文件,并将所述第二火焰图可视化图片发送至所述前端,以便所述前端对所述第二火焰图可视化图片进行展示。也即,当本次采集任务的性能采集程序停止运行后,云原生架构集群会向控制器控制组件,发送通知,当控制器控制组件接收到后,会删除本次采集创建的自定义资源文件,并将本次生成的火焰图可视化图片文件反馈至网页前端应用,以便网页前端应用对所述火焰图可视化图片文件进行展示。
由此可见,本实施例中首先判断是否接收到前端发送的程序性能采集请求,若接收到所述程序性能采集请求,则利用本地的控制器服务组件通过API SERVER与待采集程序对象所在集群进行交互,以确定所述待采集程序对象的程序名、目标机器、待采集程序对象的镜像地址以及资源分配信息,并基于所述待采集程序对象的程序名、所述目标机器、所述待采集程序对象的镜像地址以及所述资源分配信息创建自定义资源文件,然后当接收到所述自定义资源文件创建完成的通知,则基于所述自定义资源文件确定所述目标机器,并通过本地的控制器管理组件利用API SERVER与所述目标机器进行交互,以在所述目标机器创建采集容器,最后将采集到的性能状态信息转换为第一火焰图可视化图片,并将所述第一火焰图可视化图片发送至所述前端,以便所述前端对所述第一火焰图可视化图片进行展示。这样一来,通过云原生架构的控制器,提供了自动化的资源准备和程序创建功能,并支持管理多个云原生集群,这样使性能采集变得更加便捷和高效,并且通过火焰图文件对采集到的性能状态信息进行直观展示,可以保证在云原生架构集群下进行性能采集和性能分析的效率和准确性。
参见图6所示,本发明实施例公开了一种程序性能信息采集装置,应用于控制器,包括:
资源文件创建模块11,用于接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件;所述自定义资源文件中记录有待采集程序对象以及所述待采集程序对象所在的目标机器的相关信息;
采集容器创建模块12,用于基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器;所述采集容器包括性能采集程序;
性能采集模块13,用于利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集;
数据传输模块14,用于将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示。
由此可见,本申请中首先接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件;所述自定义资源文件中记录有待采集程序对象以及所述待采集程序对象所在的目标机器的相关信息,基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器;所述采集容器包括性能采集程序,然后利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集,最后将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示。由此可见,在接收到程序性能采集请求后,可以基于创建的自定义资源文件在目标机器中创建采集容器,以便基于所述采集容器中的性能采集程序对所述目标机器中的待采集程序对象进行性能采集,并将采集得到的性能状态信息发送至前端,一边前端对所述性能状态信息进行展示。这样一来,可以在接收到采集请求后自动获取待采集程序对象的相关信息,并自动创建性能采集程序,以基于所述性能采集程序对所述采集程序对象的相关信息中的待采集程序对象进行自动化的性能采集,有效简化了操作流程,并且对于权限需求减少,有效提高了提高采集效率。
在一些实施例中,所述资源文件创建模块11,具体可以包括:
信息确定单元,用于判断是否接收到前端发送的程序性能采集请求,若接收到所述程序性能采集请求,则利用本地的控制器服务组件通过API SERVER与待采集程序对象所在集群进行交互,以确定所述待采集程序对象的程序名、目标机器、待采集程序对象的镜像地址以及资源分配信息;所述API SERVER为提供所述控制器与所述待采集程序对象所在集群之间通信接口的组件;
资源文件创建单元,用于基于所述待采集程序对象的程序名、所述目标机器、所述待采集程序对象的镜像地址以及所述资源分配信息创建自定义资源文件。
在一些实施例中,所述采集容器创建模块12,具体可以包括:
采集容器创建单元,用于当接收到所述自定义资源文件创建完成的通知,则基于所述自定义资源文件确定所述目标机器,并通过本地的控制器管理组件利用API SERVER与所述目标机器进行交互,以在所述目标机器创建采集容器。
在一些实施例中,所述程序性能信息采集装置,还可以包括:
信息记录单元,用于记录所述待采集程序对象的当前采集状态以及当前采集时间,并基于所述当前采集状态以及当前采集时间对历史采集记录进行更新。
在一些实施例中,所述数据传输模块14,具体可以包括:
数据转换单元,用于将采集到的性能状态信息转换为第一火焰图可视化图片;
第一数据传输单元,用于将所述第一火焰图可视化图片发送至所述前端,以便所述前端对所述第一火焰图可视化图片进行展示。
在一些实施例中,所述程序性能信息采集装置,还可以包括:
第一请求接收判断单元,用于判断是否接收到所述前端发送的性能采集暂停请求;
程序停止单元,用于如果接收到,则向所述采集容器发送采集暂停信号,以便所述采集容器接收到所述采集暂停信号后,停止运行所述性能采集程序,并将当前采集到的数据转换为第二火焰图可视化图片。
在一些实施例中,所述程序性能信息采集装置,还可以包括:
第二请求接收判断单元,用于如果接收到所述性能采集暂停请求,则判断是否接收到资源删除请求;
第二数据传输单元,用于如果接收到,则删除所述自定义资源文件,并将所述第二火焰图可视化图片发送至所述前端,以便所述前端对所述第二火焰图可视化图片进行展示。
进一步的,本申请实施例还公开了一种电子设备,图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备 20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的程序性能信息采集方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵 循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进 行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、 磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222 等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算 机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的程序性能信息采集方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的程序性能信息采集方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (9)

1.一种程序性能信息采集方法,其特征在于,应用于控制器,包括:
接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件;所述自定义资源文件中记录有待采集程序对象以及所述待采集程序对象所在的目标机器的相关信息;
基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器;所述采集容器包括性能采集程序;
利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集;
将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示;
其中,所述接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件,包括:
判断是否接收到前端发送的程序性能采集请求,若接收到所述程序性能采集请求,则利用本地的控制器服务组件通过API SERVER与待采集程序对象所在集群进行交互,以确定所述待采集程序对象的程序名、目标机器、待采集程序对象的镜像地址以及资源分配信息;所述API SERVER为提供所述控制器与所述待采集程序对象所在集群之间通信接口的组件;
基于所述待采集程序对象的程序名、所述目标机器、所述待采集程序对象的镜像地址以及所述资源分配信息创建自定义资源文件。
2.根据权利要求1所述的程序性能信息采集方法,其特征在于,所述基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器,包括:
当接收到所述自定义资源文件创建完成的通知,则基于所述自定义资源文件确定所述目标机器,并通过本地的控制器管理组件利用API SERVER与所述目标机器进行交互,以在所述目标机器创建采集容器。
3.根据权利要求1所述的程序性能信息采集方法,其特征在于,所述利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集之后,还包括:
记录所述待采集程序对象的当前采集状态以及当前采集时间,并基于所述当前采集状态以及当前采集时间对历史采集记录进行更新。
4.根据权利要求1所述的程序性能信息采集方法,其特征在于,所述将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示,包括:
将采集到的性能状态信息转换为第一火焰图可视化图片,并将所述第一火焰图可视化图片发送至所述前端,以便所述前端对所述第一火焰图可视化图片进行展示。
5.根据权利要求1至4任一项所述的程序性能信息采集方法,其特征在于,还包括:
判断是否接收到所述前端发送的性能采集暂停请求;
若接收到,则向所述采集容器发送采集暂停信号,以便所述采集容器接收到所述采集暂停信号后,停止运行所述性能采集程序,并将当前采集到的数据转换为第二火焰图可视化图片。
6.根据权利要求5所述的程序性能信息采集方法,其特征在于,还包括:
若接收到所述性能采集暂停请求,则判断是否接收到资源删除请求;
若接收到,则删除所述自定义资源文件,并将所述第二火焰图可视化图片发送至所述前端,以便所述前端对所述第二火焰图可视化图片进行展示。
7.一种程序性能信息采集装置,其特征在于,应用于控制器,包括:
资源文件创建模块,用于接收前端发送的程序性能采集请求,并基于所述程序性能采集请求创建自定义资源文件;所述自定义资源文件中记录有待采集程序对象以及所述待采集程序对象所在的目标机器的相关信息;
采集容器创建模块,用于基于所述自定义资源文件确定所述待采集程序对象所在的所述目标机器,并在所述目标机器创建采集容器;所述采集容器包括性能采集程序;
性能采集模块,用于利用所述性能采集程序创建所述待采集程序对象的性能采集任务,以基于所述性能采集任务对所述待采集程序对象进行性能采集;
数据传输模块,用于将采集到的性能状态信息发送至所述前端,以便所述前端对所述性能状态信息进行展示;
其中,所述资源文件创建模块,包括:
信息确定单元,用于判断是否接收到前端发送的程序性能采集请求,若接收到所述程序性能采集请求,则利用本地的控制器服务组件通过API SERVER与待采集程序对象所在集群进行交互,以确定所述待采集程序对象的程序名、目标机器、待采集程序对象的镜像地址以及资源分配信息;所述API SERVER为提供所述控制器与所述待采集程序对象所在集群之间通信接口的组件;
资源文件创建单元,用于基于所述待采集程序对象的程序名、所述目标机器、所述待采集程序对象的镜像地址以及所述资源分配信息创建自定义资源文件。
8.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至6任一项所述的程序性能信息采集方法。
9.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的程序性能信息采集方法。
CN202310721286.1A 2023-06-19 2023-06-19 一种程序性能信息采集方法、装置、设备及存储介质 Active CN116467151B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310721286.1A CN116467151B (zh) 2023-06-19 2023-06-19 一种程序性能信息采集方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310721286.1A CN116467151B (zh) 2023-06-19 2023-06-19 一种程序性能信息采集方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116467151A CN116467151A (zh) 2023-07-21
CN116467151B true CN116467151B (zh) 2023-08-25

Family

ID=87181120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310721286.1A Active CN116467151B (zh) 2023-06-19 2023-06-19 一种程序性能信息采集方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116467151B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739549A (zh) * 2018-12-28 2019-05-10 武汉长光科技有限公司 一种基于微服务的设备性能采集方法
CN110943872A (zh) * 2019-12-31 2020-03-31 上海擎感智能科技有限公司 数据采集服务配置/性能分析方法/系统、介质及服务器
CN111984505A (zh) * 2020-08-21 2020-11-24 豪越科技有限公司 一种运维数据采集引擎及采集方法
CN113946489A (zh) * 2021-10-15 2022-01-18 杭州萤石软件有限公司 数据采集方法、系统、设备及存储介质
CA3127343A1 (en) * 2020-08-11 2022-02-11 10353744 Canada Ltd. Test data acquisition method and device, computer equipment and storage medium
CN114610497A (zh) * 2022-03-21 2022-06-10 中国电信股份有限公司 容器调度方法、集群系统、装置、电子设备及存储介质
CN115269216A (zh) * 2022-06-15 2022-11-01 阿里巴巴(中国)有限公司 用于分布式系统的性能分析系统和方法
CN116263694A (zh) * 2022-11-11 2023-06-16 中移(苏州)软件技术有限公司 仓库集群的部署方法、装置以及计算设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10756883B2 (en) * 2018-01-19 2020-08-25 Trist Technologies, Inc. Systems and methods for data collection with blockchain recording
US11349933B1 (en) * 2020-11-19 2022-05-31 Vmware, Inc. System and method for providing services for guest container-based clusters without direct access to resource provider

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739549A (zh) * 2018-12-28 2019-05-10 武汉长光科技有限公司 一种基于微服务的设备性能采集方法
CN110943872A (zh) * 2019-12-31 2020-03-31 上海擎感智能科技有限公司 数据采集服务配置/性能分析方法/系统、介质及服务器
CA3127343A1 (en) * 2020-08-11 2022-02-11 10353744 Canada Ltd. Test data acquisition method and device, computer equipment and storage medium
CN111984505A (zh) * 2020-08-21 2020-11-24 豪越科技有限公司 一种运维数据采集引擎及采集方法
CN113946489A (zh) * 2021-10-15 2022-01-18 杭州萤石软件有限公司 数据采集方法、系统、设备及存储介质
CN114610497A (zh) * 2022-03-21 2022-06-10 中国电信股份有限公司 容器调度方法、集群系统、装置、电子设备及存储介质
CN115269216A (zh) * 2022-06-15 2022-11-01 阿里巴巴(中国)有限公司 用于分布式系统的性能分析系统和方法
CN116263694A (zh) * 2022-11-11 2023-06-16 中移(苏州)软件技术有限公司 仓库集群的部署方法、装置以及计算设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Docker的大规模日志采集与分析系统;罗东锋 等;《计算机系统与应用》;第82-88页 *

Also Published As

Publication number Publication date
CN116467151A (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
KR102525502B1 (ko) 자동운전 테스트 데이터 저장 방법, 장치, 전자 기기, 저장 매체 및 프로그램
CN103177116B (zh) 一种基于两级索引的分布式日志处理和查询方法
CN108804302B (zh) 一种远程测试方法、系统及相关设备
CN108196915B (zh) 基于应用容器引擎的代码处理方法、设备及存储介质
CN102880532B (zh) 以云端技术为基础的测试系统与方法
US20230015095A1 (en) Database information backup method and recovery method, electronic device, and computer readable storage medium
CN103532780A (zh) 用于it领域的运维监控一体化系统及一体化监控方法
CN114153566A (zh) 跨处理器架构多容器集群间服务发现方法、装置及设备
CN103701817A (zh) 一种配置文件的生成方法及装置
CN113377665A (zh) 基于容器技术的测试方法、装置、电子设备及存储介质
CN107301084B (zh) 集群服务器的虚拟机迁移方法、装置、服务器及存储介质
US9807180B2 (en) Information processing apparatus, work environment linking method and work environment linking program
CN116467151B (zh) 一种程序性能信息采集方法、装置、设备及存储介质
CN105335186A (zh) 数据下载管理方法及系统
CN112799949A (zh) 一种模型优化方法、装置、系统及设备
CN110011827A (zh) 面向医联体的多用户大数据分析服务系统和方法
CN115129574A (zh) 一种代码测试方法和装置
CN105573905A (zh) 软件兼容性测试方法和系统
CN115309558A (zh) 一种资源调度管理系统、方法、计算机设备及存储介质
CN115629784A (zh) 更新机台文件的方法、系统、设备及计算机可读存储介质
CN109062744A (zh) 一种实现批量测试服务器内存的方法和系统
CN114328026A (zh) 一种虚拟磁盘备份方法、装置、设备及介质
CN114817134A (zh) 一种快照任务监控方法、装置、设备及介质
CN114020565A (zh) 日志智能采集处理方法、装置、电子设备及存储介质
CN113961835A (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