CN116244160B - Non-invasive performance analysis method, system, electronic equipment and storage medium - Google Patents

Non-invasive performance analysis method, system, electronic equipment and storage medium Download PDF

Info

Publication number
CN116244160B
CN116244160B CN202310514040.7A CN202310514040A CN116244160B CN 116244160 B CN116244160 B CN 116244160B CN 202310514040 A CN202310514040 A CN 202310514040A CN 116244160 B CN116244160 B CN 116244160B
Authority
CN
China
Prior art keywords
data
ebpf
application program
map
program
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
CN202310514040.7A
Other languages
Chinese (zh)
Other versions
CN116244160A (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.)
Jiangsu Boyun Technology Co ltd
Original Assignee
Jiangsu Boyun 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 Jiangsu Boyun Technology Co ltd filed Critical Jiangsu Boyun Technology Co ltd
Priority to CN202310514040.7A priority Critical patent/CN116244160B/en
Publication of CN116244160A publication Critical patent/CN116244160A/en
Application granted granted Critical
Publication of CN116244160B publication Critical patent/CN116244160B/en
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/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Hardware Design (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the specification provides a non-invasive performance analysis method, a system, electronic equipment and a storage medium, wherein the method comprises the steps of carrying out stack tracking and sampling statistical performance data on started nodes based on an eBPF kernel mode program; creating eBPF Map for statistical performance data and stack information export; the method has the advantages that the PerfEvent is started for at least one application program of the started node and is bound to the kernel mode program of the eBPF, performance analysis is carried out on the at least one application program, performance data are obtained in a non-invasive mode, and a user can obtain the performance data without logging in the node.

Description

Non-invasive performance analysis method, system, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of data processing, and in particular, to a non-invasive performance analysis method, system, electronic device, and storage medium.
Background
Cloud computing technology is currently tending to mature, and more applications and services deployed on the cloud are used. The best solution to manage and orchestrate applications and programs on the cloud is to use Kubernetes for control. Kubernetes provides a mechanism for application deployment, planning, updating, and maintenance. While the deployment mode of Kubernetes is generally cluster deployment, it is common practice to find several servers to form a cluster to deploy Kubernetes related components. Kubernetes provides many core functions for users including self-healing, elastic telescoping, self-discovery and load balancing of services, rolling upgrades, one-touch rollback, and the like.
In a single machine environment, a user can directly log in a Linux operating system and start a performance analysis tool to analyze an application program. However, in the present-day IT facility platform mainly based on Kubernetes, the nodes are managed by operation and maintenance personnel, and users cannot log in the nodes, so that the performance problem of the production environment analysis program cannot be directly operated. Even if it is possible to log in, it is a great inconvenience to performance analysis, since the application may have multiple copies distributed among the nodes of the cluster. Most applications require the use of SDKs to collect performance data (i.e., intrusive), for example, using open source OpenTelemetry SDK, which may introduce new instability factors for the application and in some circumstances applications are not allowed to be added with such SDKs.
Accordingly, there is a need to provide a non-invasive performance analysis method, system, electronic device, and storage medium for non-invasively acquiring performance data and enabling a user to acquire the performance data without logging into a node.
Disclosure of Invention
One of the embodiments of the present specification provides a non-invasive performance analysis method performed by an initiated node in a Kubernetes cluster, comprising: performing stack tracking and sampling statistical performance data on the started node based on an eBPF kernel mode program; creating eBPF Map for statistical performance data and stack information export; and starting PerfEvent for at least one application program of the started node and binding to the eBPF kernel mode program, and performing performance analysis on the at least one application program.
In some embodiments, the creating the eBPF Map for statistical performance data and stack information derivation includes: creating a first eBPF Map and a second eBPF Map, wherein the first eBPF Map is used for statistics performance data, and the second eBPF Map is used for stack information export.
In some embodiments, the method further comprises: periodically cleaning the first eBPF Map to obtain a stack ID and performance data of the application program; searching stack information in the second eBPF Map by using the stack ID of the application program; acquiring a program symbol table by using a process controller of the application program; based on the stack information and the program symbol table, analyzing the function name of the application program; and serializing the function name of the application program and the performance data and then sending the serialized function name and the performance data to a server.
One of the embodiments of the present disclosure provides a non-invasive performance analysis method, which is executed by a server in a Kubernetes cluster, and includes: receiving serialized data sent by started nodes in the Kubernetes cluster; performing anti-sequence on the serialized data to obtain performance analysis data of at least one application program; wherein the started nodes in the Kubernetes cluster generate the serialized data, comprising: performing stack tracking and sampling statistical performance data on the started node based on an eBPF kernel mode program; creating eBPF Map for statistical performance data and stack information export; and starting PerfEvent for at least one application program of the started node and binding to the eBPF kernel mode program, and performing performance analysis on the at least one application program.
One of the embodiments of the present specification provides a non-invasive performance analysis system, deployed at an activated node in a Kubernetes cluster, comprising: the data acquisition module is used for carrying out stack tracking and sampling statistical performance data on the started node based on the eBPF kernel mode program; the data acquisition module is also used for creating eBPF Map for deriving statistical performance data and stack information; and the performance analysis module is used for starting a PerfEvent for at least one application program of the started node and binding the PerfEvent to the eBPF kernel mode program to perform performance analysis on the at least one application program.
In some embodiments, the data acquisition module is further to: creating a first eBPF Map and a second eBPF Map, wherein the first eBPF Map is used for statistics performance data, and the second eBPF Map is used for stack information export.
In some embodiments, the data acquisition module is further to: periodically cleaning the first eBPF Map to obtain a stack ID and performance data of the application program; searching stack information in the second eBPF Map by using the stack ID of the application program; acquiring a program symbol table by using a process controller of the application program; based on the stack information and the program symbol table, analyzing the function name of the application program; and serializing the function name of the application program and the performance data and then sending the serialized function name and the performance data to a server.
One of the embodiments of the present disclosure provides a non-invasive performance analysis system deployed at a server in a Kubernetes cluster, including: the data receiving module is used for performing anti-sequence on the serialized data to obtain performance analysis data of at least one application program; the data analysis module is used for performing anti-sequence on the serialized data to obtain performance analysis data of at least one application program; wherein the started nodes in the Kubernetes cluster generate the serialized data, comprising: performing stack tracking and sampling statistical performance data on the started node based on an eBPF kernel mode program; creating eBPF Map for statistical performance data and stack information export; and starting PerfEvent for at least one application program of the started node and binding to the eBPF kernel mode program, and performing performance analysis on the at least one application program.
One of the embodiments of the present specification provides an electronic device including: a processor; and a memory storing a program, wherein the program comprises instructions that when executed by the processor cause the processor to perform a non-intrusive performance analysis method.
One of the embodiments of the present specification provides a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform a non-invasive performance analysis method.
Compared with the prior art, the non-invasive performance analysis method, the system, the electronic equipment and the storage medium provided by the specification realize tracking and stack information statistics of the application program under Linux based on the eBPF technology, can obtain the CPU service condition and the function name of the application program in a non-invasive manner, report the service condition and the function name to a server and store the service condition and the function name in a database, so that a user can trace back performance statistics data at any time, and view the function and stack information with higher CPU consumption of the application program, thereby obtaining performance bottleneck.
Drawings
The present specification will be further elucidated by way of example embodiments, which will be described in detail by means of the accompanying drawings. The embodiments are not limiting, in which like numerals represent like structures, wherein:
FIG. 1 is a block diagram of a non-invasive performance analysis system according to some embodiments of the present description;
FIG. 2 is a flow diagram of a non-invasive performance analysis method according to some embodiments of the present description;
FIG. 3 is a block diagram of a non-invasive performance analysis system according to other embodiments of the present disclosure;
FIG. 4 is a flow chart of a non-invasive performance analysis method according to further embodiments of the present disclosure;
FIG. 5 is a schematic flow chart of generating serialized data in accordance with other embodiments of the present disclosure;
fig. 6 is a schematic structural diagram of an electronic device according to some embodiments of the present description.
Detailed Description
In order to more clearly illustrate the technical solutions of the embodiments of the present specification, the drawings that are required to be used in the description of the embodiments will be briefly described below. It is apparent that the drawings in the following description are only some examples or embodiments of the present specification, and it is possible for those of ordinary skill in the art to apply the present specification to other similar situations according to the drawings without inventive effort. Unless otherwise apparent from the context of the language or otherwise specified, like reference numerals in the figures refer to like structures or operations.
It will be appreciated that "system," "apparatus," "unit" and/or "module" as used herein is one method for distinguishing between different components, elements, parts, portions or assemblies at different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.
As used in this specification and the claims, the terms "a," "an," "the," and/or "the" are not specific to a singular, but may include a plurality, unless the context clearly dictates otherwise. In general, the terms "comprises" and "comprising" merely indicate that the steps and elements are explicitly identified, and they do not constitute an exclusive list, as other steps or elements may be included in a method or apparatus.
A flowchart is used in this specification to describe the operations performed by the system according to embodiments of the present specification. It should be appreciated that the preceding or following operations are not necessarily performed in order precisely. Rather, the steps may be processed in reverse order or simultaneously. Also, other operations may be added to or removed from these processes.
FIG. 1 is a block diagram of a non-invasive performance analysis system according to some embodiments of the present description. As shown in fig. 1, the non-invasive performance analysis system may include a data acquisition module and a performance analysis module.
The data acquisition module may be used to perform stack trace and sample statistical performance data for the started nodes based on the eBPF kernel mode program. The data acquisition module may also be used to create an eBPF Map for statistical performance data and stack information derivation.
The performance analysis module may be configured to launch a PerfEvent for at least one application of the launched node and bind to an eBPF kernel mode program for performing performance analysis on the at least one application. For the PID of some or all applications, a PerfEvent file descriptor is opened and then bound to the eBFP kernel.
It should be noted that the above description of the non-invasive performance analysis system and its modules is for convenience of description only and is not intended to limit the present description to the scope of the illustrated embodiments. It will be appreciated by those skilled in the art that, given the principles of the system, various modules may be combined arbitrarily or a subsystem may be constructed in connection with other modules without departing from such principles. In some embodiments, the data acquisition module and the performance analysis module disclosed in fig. 1 may be different modules in a system, or may be one module to implement the functions of two or more modules. For example, each module may share one memory module, or each module may have a respective memory module. Such variations are within the scope of the present description.
FIG. 2 is a flow diagram of a non-invasive performance analysis method according to some embodiments of the present description. The operational schematic of the non-invasive performance analysis method presented below is illustrative. In some embodiments, the process may be accomplished with one or more additional operations not described above and/or one or more operations not discussed. In addition, the order in which the operations of the non-invasive performance analysis method are illustrated in FIG. 2 and described below is not limiting. As shown in fig. 2, the non-invasive performance analysis method performed by the started nodes in the Kubernetes cluster may include the following steps.
And 210, carrying out stack tracking and sampling statistical performance data on the started nodes based on the kernel mode program of the eBPF. In some embodiments, step 210 may be performed by a data acquisition module.
Step 220, create eBPF Map for statistical performance data and stack information derivation. In some embodiments, step 220 may be performed by a data acquisition module.
In some embodiments, the data acquisition module may create a first eBPF Map for statistical performance data and a second eBPF Map for stack information derivation.
Step 230, starting PerfEvent for at least one application program of the started node and binding to the eBPF kernel mode program, and performing performance analysis on the at least one application program. In some embodiments, step 220 may be performed by a performance analysis module.
PerfEvent is a performance analysis tool built in Linux, and as the kernel is issued, the performance analysis of an application program can be performed by using a CPU performance counter and the like.
The eBPF is used for tracking and counting the program stack information in the Linux kernel mode, and the symbol table is used for restoring the function name executed by the application program, so that the application program does not need to add any code, and the method is completely non-invasive.
The started nodes in the Kubernetes cluster can upload the collected performance data to a server and store the collected performance data to a database, and a panel is provided for a user to view the performance data, so that the user does not need to log in an environment to manually analyze. The performance data is stored in the database and can be reserved for a long time, and when a user finds a problem, the user can look back to any time to check the performance data of the application program and analyze the performance problem.
FIG. 5 is a schematic flow chart of generating serialized data according to other embodiments of the present disclosure, as shown in FIG. 5, in some embodiments, the non-invasive performance analysis method may further include:
periodically cleaning a first eBPF Map to obtain a stack ID and performance data of an application program;
searching stack information (i.e. the memory address of the virtual memory) in the second eBPF Map by using the stack ID of the application program;
acquiring a program symbol table by using a process controller of an application program;
based on stack information and a program symbol table, analyzing the function name of the application program (namely the symbol of the application program);
and serializing the function name and the performance data of the application program and then sending the serialized function name and the performance data to the server. For example, the function name and the performance data of the application program are in the protobuf format of gRPC, and then are serialized and sent to the server.
It should be noted that the foregoing description of the non-invasive performance analysis method is merely for illustration and description, and does not limit the application scope of the present specification. Various modifications and variations of the non-invasive performance analysis method will be apparent to those skilled in the art in light of the present description. However, such modifications and variations are still within the scope of the present description.
FIG. 3 is a block diagram of a non-invasive performance analysis system according to further embodiments of the present description. As shown in fig. 3, the non-invasive performance analysis system may include a data receiving module and a data parsing module.
The data receiving module may be configured to perform a reverse sequence on the serialized data to obtain performance analysis data of at least one application program.
The data analysis module may be configured to perform an anti-sequence on the serialized data to obtain performance analysis data of at least one application program.
It should be noted that the above description of the non-invasive performance analysis system and its modules is for convenience of description only and is not intended to limit the present description to the scope of the illustrated embodiments. It will be appreciated by those skilled in the art that, given the principles of the system, various modules may be combined arbitrarily or a subsystem may be constructed in connection with other modules without departing from such principles. In some embodiments, the data receiving module and the data parsing module disclosed in fig. 3 may be different modules in a system, or may be one module to implement the functions of two or more modules. For example, each module may share one memory module, or each module may have a respective memory module. Such variations are within the scope of the present description.
FIG. 4 is a flow chart of a non-invasive performance analysis method according to further embodiments of the present disclosure. The operational schematic of the non-invasive performance analysis method presented below is illustrative. In some embodiments, the process may be accomplished with one or more additional operations not described above and/or one or more operations not discussed. In addition, the order in which the operations of the non-invasive performance analysis method are illustrated in FIG. 4 and described below is not limiting. As shown in fig. 4, the non-invasive performance analysis method performed by the started nodes in the Kubernetes cluster may include the following steps.
Step 410, receiving serialized data sent by an activated node in a Kubernetes cluster. In some embodiments, step 410 may be performed by a data receiving module.
For more description of the serialized data, see fig. 2 and its associated description, which are not repeated here.
Step 420, performing anti-sequence on the serialized data to obtain performance analysis data of at least one application program. In some embodiments, step 420 may be performed by a data parsing module.
It should be noted that the foregoing description of the non-invasive performance analysis method is merely for illustration and description, and does not limit the application scope of the present specification. Various modifications and variations of the non-invasive performance analysis method will be apparent to those skilled in the art in light of the present description. However, such modifications and variations are still within the scope of the present description.
Fig. 6 is a schematic diagram of an electronic device, as shown in fig. 6, which is an example of a hardware device that may be applied to aspects of the present invention, according to some embodiments of the present description. Electronic devices are intended to represent various forms of digital electronic computer devices, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed herein.
As shown in fig. 6, the electronic device includes a computing unit that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) or a computer program loaded from a storage unit into a Random Access Memory (RAM). In the RAM, various programs and data required for the operation of the device may also be stored. The computing unit, ROM and RAM are connected to each other by a bus. An input/output (I/O) interface is also connected to the bus.
A plurality of components in an electronic device are connected to an I/O interface, comprising: an input unit, an output unit, a storage unit, and a communication unit. The input unit may be any type of device capable of inputting information to the electronic device, and may receive input numeric or character information and generate key signal inputs related to user settings and/or function controls of the electronic device. The output unit may be any type of device capable of presenting information and may include, but is not limited to, a display, speakers, video/audio output terminals, vibrators, and/or printers. Storage units may include, but are not limited to, magnetic disks, optical disks. The communication unit allows the electronic device to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers and/or chipsets, such as bluetooth (TM) devices, wiFi devices, wiMax devices, cellular communication devices, and/or the like.
The computing unit may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing units include, but are not limited to, central Processing Units (CPUs), graphics Processing Units (GPUs), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital Signal Processors (DSPs), and any suitable processors, controllers, microcontrollers, and the like. The computing unit performs the various methods and processes described above. For example, in some embodiments, the non-invasive performance analysis method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as a storage unit. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device via the ROM and/or the communication unit. In some embodiments, the computing unit may be configured to perform the non-invasive performance analysis method by any other suitable means (e.g., by means of firmware).
While the basic concepts have been described above, it will be apparent to those skilled in the art that the foregoing detailed disclosure is by way of example only and is not intended to be limiting. Although not explicitly described herein, various modifications, improvements, and adaptations to the present disclosure may occur to one skilled in the art. Such modifications, improvements, and modifications are intended to be suggested within this specification, and therefore, such modifications, improvements, and modifications are intended to be included within the spirit and scope of the exemplary embodiments of the present invention.
Meanwhile, the specification uses specific words to describe the embodiments of the specification. Reference to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic is associated with at least one embodiment of the present description. Thus, it should be emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various positions in this specification are not necessarily referring to the same embodiment. Furthermore, certain features, structures, or characteristics of one or more embodiments of the present description may be combined as suitable.
Furthermore, the order in which the elements and sequences are processed, the use of numerical letters, or other designations in the description are not intended to limit the order in which the processes and methods of the description are performed unless explicitly recited in the claims. While certain presently useful inventive embodiments have been discussed in the foregoing disclosure, by way of various examples, it is to be understood that such details are merely illustrative and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover all modifications and equivalent arrangements included within the spirit and scope of the embodiments of the present disclosure. For example, while the system components described above may be implemented by hardware devices, they may also be implemented solely by software solutions, such as installing the described system on an existing server or mobile device.
Likewise, it should be noted that in order to simplify the presentation disclosed in this specification and thereby aid in understanding one or more inventive embodiments, various features are sometimes grouped together in a single embodiment, figure, or description thereof. This method of disclosure, however, is not intended to imply that more features than are presented in the claims are required for the present description. Indeed, less than all of the features of a single embodiment disclosed above.
Finally, it should be understood that the embodiments described in this specification are merely illustrative of the principles of the embodiments of this specification. Other variations are possible within the scope of this description. Thus, by way of example, and not limitation, alternative configurations of embodiments of the present specification may be considered as consistent with the teachings of the present specification. Accordingly, the embodiments of the present specification are not limited to only the embodiments explicitly described and depicted in the present specification.

Claims (4)

1. A method of non-invasive performance analysis, comprising:
performing stack tracking and sampling statistical performance data on started nodes in the Kubernetes cluster based on an eBPF kernel mode program;
creating a first eBPF Map and a second eBPF Map, wherein the first eBPF Map is used for counting performance data, and the second eBPF Map is used for deriving stack information;
starting PerfEvent for at least one application program of the started node and binding to the eBPF kernel mode program, and performing performance analysis on the at least one application program;
periodically cleaning the first eBPF Map to obtain a stack ID and performance data of the application program;
searching stack information in the second eBPF Map by using the stack ID of the application program;
acquiring a program symbol table by using a process controller of the application program;
based on the stack information and the program symbol table, analyzing the function name of the application program;
converting function names and performance data of an application program into a protobuf format of gRPC, and then serializing and sending the converted data to a server in a Kubernetes cluster;
the server side in the Kubernetes cluster receives the serialized data sent by the started node in the Kubernetes cluster;
and (3) performing anti-sequence on the serialized data to obtain performance analysis data of at least one application program, and providing a panel for a user to view the performance analysis data.
2. A non-invasive performance analysis system, wherein a data acquisition module and a performance analysis module of an activated node deployed in a Kubernetes cluster comprise:
the data acquisition module is used for carrying out stack tracking and sampling statistical performance data on the started node based on the eBPF kernel mode program;
the data acquisition module is further used for creating a first eBPF Map and a second eBPF Map, wherein the first eBPF Map is used for counting performance data, and the second eBPF Map is used for stack information export;
the performance analysis module is used for starting a PerfEvent for at least one application program of the started node and binding the PerfEvent to the eBPF kernel mode program to perform performance analysis on the at least one application program;
the performance analysis module is further configured to:
periodically cleaning the first eBPF Map to obtain a stack ID and performance data of the application program;
searching stack information in the second eBPF Map by using the stack ID of the application program;
acquiring a program symbol table by using a process controller of the application program;
based on the stack information and the program symbol table, analyzing the function name of the application program;
converting function names and performance data of an application program into a protobuf format of gRPC, and then serializing and sending the converted data to a server in a Kubernetes cluster; deploying a data receiving module and a data analyzing module of a server side in the Kubernetes cluster;
the data receiving module is used for performing anti-sequence on the serialized data to obtain performance analysis data of at least one application program;
and the data analysis module is used for performing anti-sequence on the serialized data to obtain the performance analysis data of at least one application program.
3. An electronic device, comprising:
a processor; and
a memory in which a program is stored,
wherein the program comprises instructions which, when executed by the processor, cause the processor to perform the method of claim 1.
4. A non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the method of claim 1.
CN202310514040.7A 2023-05-09 2023-05-09 Non-invasive performance analysis method, system, electronic equipment and storage medium Active CN116244160B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310514040.7A CN116244160B (en) 2023-05-09 2023-05-09 Non-invasive performance analysis method, system, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310514040.7A CN116244160B (en) 2023-05-09 2023-05-09 Non-invasive performance analysis method, system, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN116244160A CN116244160A (en) 2023-06-09
CN116244160B true CN116244160B (en) 2023-08-04

Family

ID=86631676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310514040.7A Active CN116244160B (en) 2023-05-09 2023-05-09 Non-invasive performance analysis method, system, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116244160B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256542A (en) * 2020-10-19 2021-01-22 中山大学 eBPF-based micro-service system performance detection method, device and system
CN114968347A (en) * 2021-02-20 2022-08-30 腾讯科技(深圳)有限公司 Stack restoring method and device, storage medium and electronic equipment
CN115328731A (en) * 2022-08-12 2022-11-11 北京航空航天大学 eBPF-based parallel program online performance data acquisition method
CN115617610A (en) * 2022-10-26 2023-01-17 杭州谐云科技有限公司 Kubernetes-based full-behavior monitoring method and system in bypass non-invasive application operation
CN115834448A (en) * 2022-11-24 2023-03-21 上海交通大学 System and method for monitoring light-weight container flow on host side based on eBPF
CN115883407A (en) * 2022-11-25 2023-03-31 深信服科技股份有限公司 Data acquisition method, system, equipment and storage medium
CN116016351A (en) * 2022-12-13 2023-04-25 湖南麒麟信安科技股份有限公司 eBPF-based UDP flow and packet loss observation method, system and medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256542A (en) * 2020-10-19 2021-01-22 中山大学 eBPF-based micro-service system performance detection method, device and system
CN114968347A (en) * 2021-02-20 2022-08-30 腾讯科技(深圳)有限公司 Stack restoring method and device, storage medium and electronic equipment
CN115328731A (en) * 2022-08-12 2022-11-11 北京航空航天大学 eBPF-based parallel program online performance data acquisition method
CN115617610A (en) * 2022-10-26 2023-01-17 杭州谐云科技有限公司 Kubernetes-based full-behavior monitoring method and system in bypass non-invasive application operation
CN115834448A (en) * 2022-11-24 2023-03-21 上海交通大学 System and method for monitoring light-weight container flow on host side based on eBPF
CN115883407A (en) * 2022-11-25 2023-03-31 深信服科技股份有限公司 Data acquisition method, system, equipment and storage medium
CN116016351A (en) * 2022-12-13 2023-04-25 湖南麒麟信安科技股份有限公司 eBPF-based UDP flow and packet loss observation method, system and medium

Also Published As

Publication number Publication date
CN116244160A (en) 2023-06-09

Similar Documents

Publication Publication Date Title
JP6587330B2 (en) Random forest model training method, electronic apparatus, and storage medium
CN111082997B (en) Network function arrangement method based on service identification in mobile edge computing platform
CN110377881B (en) Integration method, device and system of text processing service
CN109684038B (en) Docker service container log processing method and device and electronic equipment
US20210211361A1 (en) Management of artificial intelligence development platform
KR20130140508A (en) Apparatus for collecting log information
US20220309040A1 (en) Method and apparatus of synchronizing data, electronic device and storage medium
US9922539B1 (en) System and method of telecommunication network infrastructure alarms queuing and multi-threading
CN115373861A (en) GPU resource scheduling method and device, electronic equipment and storage medium
US20240061759A1 (en) Automatic test method and apparatus, electronic device, and storage medium
CN116244160B (en) Non-invasive performance analysis method, system, electronic equipment and storage medium
CN116974948B (en) Service system testing method, system, equipment and medium
CN102340791A (en) System used for realizing data consistency and method thereof
CN112579406B (en) Log call chain generation method and device
CN102970375A (en) Cluster configuration method and device
CN111539281A (en) Distributed face recognition method and system
US20190149622A1 (en) Application Resilience System and Method Thereof for Applications Deployed on Platform
CN110297748A (en) The method, apparatus and computer readable storage medium of error are called in a kind of positioning
CN115242787A (en) Message processing system and method
US11128540B1 (en) Augmented reality electronic equipment maintenance user interface
CN112835766A (en) Application monitoring method and device
CN116450353A (en) Processor core matching method and device, electronic equipment and storage medium
CN113360558A (en) Data processing method, data processing device, electronic device, and storage medium
CN112215587B (en) Method, device and system for automatically executing business process interaction tasks by multiple devices
US20240073107A1 (en) Network degradation prediction

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