A data acquisition method, apparatus, equipment, medium, and product for performance testing.

CN122570334APending Publication Date: 2026-08-14AGRICULTURAL DEVELOPMENT BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-18
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

但在业务系统中,过多的探针容易导致类加载器互相冲突,影响业务系统的正常运行

Benefits of technology

[0010]本发明实施例通过一个探针同时提供了链路追踪、JVM、多线程监控功能,测试人员无需安装多个Agent进行数据采样,不仅避免了多个Agent同时在业务系统中启动时,有可能导致业务系统无法正常运行的问题,也简化了性能测试APM探针的安装;同时,建立了基于分布式消息系统的高速数据采样通道,实现了多系统、多用户并发执行性能测试的高效链路追踪、jvm和多线程数据采样功能。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122570334A_ABST
    Figure CN122570334A_ABST
Patent Text Reader

Abstract

This invention discloses a data acquisition method, apparatus, device, medium, and product for performance testing. The method includes: receiving link tracing data, Java Virtual Machine memory data, and multi-threaded data from a business system collected by an application performance management probe; the application performance management probe is a probe built based on link tracing technology; generating sampling data based on the link tracing data, Java Virtual Machine memory data, and multi-threaded data; and reporting the sampling data to the backend of a distributed load testing platform via a distributed messaging system. Embodiments of this invention can reduce the number of probes in the business system during performance testing, avoiding impact on the normal operation of the business system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of software testing technology, and in particular to a data acquisition method, apparatus, equipment, medium, and product for performance testing. Background Technology

[0002] Software performance testing plays a crucial role in the software development process. It typically involves using performance testing tools to analyze software performance, identify system performance bottlenecks, reduce defects in the production environment, and accurately assess the hardware and software resources required for production, as well as the expected number of users. A good, stable, and easy-to-use performance testing tool can help enterprises improve testing efficiency, reduce testing costs, and enhance system stability. With the rise of microservices and distributed technologies, software technology stacks are becoming increasingly complex, placing higher demands on performance testing systems.

[0003] In microservice-based software architectures, performance testing often requires distributed tracing, and the common approach is to use appropriate tracing technologies. Performance testing of Java-based software systems often also requires monitoring Java Virtual Machine (JVM) memory and multithreading information simultaneously. However, the tracing solutions mentioned above do not support simultaneous monitoring of JVM memory, multithreading, and distributed tracing. To monitor JVM memory and multithreading information concurrently, additional probes need to be installed. However, in business systems, too many probes can easily lead to class loader conflicts, affecting the normal operation of the business system. Summary of the Invention

[0004] This invention provides a data acquisition method, apparatus, equipment, medium, and product for performance testing, in order to reduce the number of probes in the business system during performance testing and avoid affecting the normal operation of the business system.

[0005] According to one aspect of the present invention, a data acquisition method for performance testing is provided, comprising: It receives link tracing data, Java Virtual Machine memory data, and multi-threaded data from the business system collected by the application performance management probe; the application performance management probe is a probe built based on link tracing technology. Sampling data is generated based on the link tracing data, Java Virtual Machine memory data, and multi-threaded data. The sampling data is reported to the backend of the distributed load testing platform through a distributed messaging system.

[0006] According to another aspect of the present invention, a data acquisition device for performance testing is provided, comprising: The data receiving module is used to receive the link tracing data, Java Virtual Machine memory data, and multi-threaded data of the business system collected by the application performance management probe; the application performance management probe is a probe built based on link tracing technology. The data aggregation module is used to generate sampling data based on the link tracing data, Java Virtual Machine memory data, and multi-threaded data; The data sending module is used to report the sampling data to the backend of the distributed load testing platform through a distributed messaging system.

[0007] According to another aspect of the present invention, a computer program product is provided, comprising a computer program that, when executed by a processor, implements a data acquisition method for performance testing according to any embodiment of the present invention.

[0008] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform a data acquisition method for performance testing as described in any embodiment of the present invention.

[0009] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the data acquisition method for performance testing according to any embodiment of the present invention.

[0010] This invention provides link tracing, JVM, and multi-threaded monitoring functions through a single probe. Testers do not need to install multiple agents for data sampling, which not only avoids the problem of business systems failing to operate normally when multiple agents are started at the same time, but also simplifies the installation of performance testing APM probes. At the same time, a high-speed data sampling channel based on a distributed messaging system is established, realizing efficient link tracing, JVM, and multi-threaded data sampling functions for concurrent performance testing of multiple systems and users.

[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0012] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0013] Figure 1 This is a flowchart of a data acquisition method for performance testing according to an embodiment of the present invention; Figure 2 This is a flowchart of a data acquisition method for performance testing according to another embodiment of the present invention; Figure 3 This is a schematic diagram of the structure of a data acquisition device for performance testing according to another embodiment of the present invention; Figure 4 This is a schematic diagram of the structure of an electronic device that implements an embodiment of the present invention. Detailed Implementation

[0014] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0015] It should be noted that the terms "first," "second," etc., used in this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0016] Figure 1 This is a flowchart illustrating a data acquisition method for performance testing according to an embodiment of the present invention. This embodiment is applicable to situations where test data needs to be collected and summarized during performance testing of a business system. The method can be executed by a performance testing data acquisition device, which can be implemented in hardware and / or software and can be configured in an electronic device with corresponding data processing capabilities. Figure 1As shown, the method includes: S110: Receive link tracing data, Java Virtual Machine memory data, and multi-threaded data of the business system collected by the application performance management probe.

[0017] S120. Generate sampling data based on the link tracing data, Java Virtual Machine memory data, and multi-threaded data.

[0018] S130. The sampling data is reported to the backend of the distributed load testing platform through a distributed messaging system.

[0019] Among them, the application performance management probe is a probe built based on link tracing technology.

[0020] Specifically, deploy Application Performance Management (APM) probes based on distributed tracing technology in advance within the business systems. Since APM probes are built on distributed tracing technology (such as Jaeger), they natively possess the ability to collect distributed tracing data.

[0021] However, the application performance management probe does not natively have the ability to collect Java Virtual Machine (JVM) memory data and multi-threaded data. It needs to indirectly collect JVM memory data and multi-threaded data by using beans prepared in advance in the business system.

[0022] The APM probe sends the collected link tracing data, Java Virtual Machine memory data, and multi-threaded data back to the client. The client then aggregates and organizes the collected data to obtain the sampling data that needs to be sent to the distributed load testing platform backend.

[0023] Since distributed load testing platforms may interface with multiple clients simultaneously, traditional architectures cannot support high-concurrency load testing when there are many connected business systems, easily leading to data backhaul problems. Therefore, in this application, sampled data is not directly returned from the client to the distributed load testing platform backend, but is indirectly returned through middleware of a distributed messaging system (such as Kafka middleware), reducing the pressure on the distributed load testing platform backend. The APM probe provided by this invention allows performance testers to easily monitor microservice architecture, JVM memory information, and multithreading information; track and troubleshoot transaction logs and error messages in microservice nodes; investigate JVM heap memory non-release; provide JVM tuning suggestions; and monitor multithreading information to identify threads with high CPU usage, deadlocked threads, and threads with long waiting times, helping developers quickly locate code defects.

[0024] This invention provides link tracing, JVM, and multi-threaded monitoring functions simultaneously through a single probe. Testers do not need to install multiple agents for data sampling, which not only avoids the problem of multiple agents running simultaneously in the business system, potentially causing the business system to malfunction, but also simplifies the installation of the performance testing APM probe. At the same time, using a distributed message system middleware to transmit link tracing, JVM, and multi-threaded sampling data is superior to using HTTP protocol to transmit data, which avoids the problem of data loss in link tracing, JVM, and multi-threaded sampling. The distributed message system middleware configuration data is retained for 2 days. When the distributed load testing platform backend experiences system failure or upgrades, there is no need to stop the currently running test scenario, allowing for a zero-impact upgrade for users.

[0025] Based on the above embodiments, optionally, the application performance management probe collects Java Virtual Machine memory data of the business system through Java Virtual Machine Management Bean in the Java platform; and collects multi-threaded data of the business system through Thread Management Bean in the Java platform.

[0026] Specifically, Java Virtual Machine memory data can be sampled using ManagementFactory. ManagementFactory is a factory class in the Java platform used to obtain Java Virtual Machine managed beans (MXBeans). It provides a series of static methods for obtaining runtime data, such as memory, thread, class loading, and operating system data. A feasible code snippet for data collection is as follows: List <memorymanagermxbean>memoryManagerMXBeans = ManagementFactory.getMemoryManagerMXBeans(); / / Get heap memory usage ManagementFactory.getMemoryMXBean().getHeapMemoryUsage(); / / Get the usage of non-heap memory ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage(); / / Get memory pool usage status List <memorypoolmxbean>memoryPoolMXBeans=ManagementFactory.getMemoryPoolMXBeans(); for(MemoryPoolMXBean memoryPoolMXBean:memoryPoolMXBeans){ } Multi-threading information sampling still uses ManagementFactory, and the principle is the same. First, the thread management bean (ThreadMXBean) is read, then all thread IDs are obtained, the thread IDs are traversed, and the specific thread data is obtained through getThreadInfo. A feasible code snippet for sampling is as follows: ThreadMXBean threadMXBean=ManagementFactory.getThreadMXBean(); long[] ids=threadMXBean.getAllThreadIds(); for(long id:ids){ ThreadInfo threadInfo = threadMXBean.getThreadInfo(id); } Based on the above embodiments, optionally, the class loader of the application performance management probe includes: a plugin class loader, a middleware rule class loader, an isolation class loader, and a link tracing class loader; the class loader is pre-deployed in the business system.

[0027] Specifically, to avoid conflicts between the APM probe and the business system, four class loaders were pre-designed to load the APM probe and the third-party libraries that the APM probe depends on, as follows: Plugin class loaders (such as PluginsClassLoader) are used to load plugins for APM probes.

[0028] Middleware rule class loaders (such as RuleClassLoader) are used to load middleware interception rules for tracing.

[0029] Isolation class loaders (such as IsoClassLoader) are used to load classes and third-party dependency libraries from APM probes.

[0030] Link tracing class loaders (such as TraceClassLoader) are used to load SDK libraries for link tracing technology.

[0031] Pre-deploying the above four class loaders in the business system can fully isolate the loading of APM probes and third-party dependency libraries from the business system, so that the installation of APM probes in the business system will not affect the use of the business system.

[0032] Optionally, based on the above embodiments, the link tracing technology is an open-source distributed tracing system.

[0033] Specifically, an APM probe is pre-built using the open-source distributed tracing system Jaeger. The APM probe is started and stopped using Java's `premain` method, as shown in the code snippet below: public static void premain(final String agentArgs,finalInstrumentation inst){ / / Main logic for link tracing In addition, the parameters of the APM probe need to be predefined. The descriptions of the parameters are shown in Table 1 below: Table 1 Figure 2 This is a flowchart illustrating a data acquisition method for performance testing, provided in another embodiment of the present invention. This embodiment is an optimization and improvement upon the above embodiment. Figure 2 As shown, the method includes: S210: Receive link tracing data, Java Virtual Machine memory data, and multi-threaded data of the business system collected by the application performance management probe.

[0034] S220. Generate sampling data based on the link tracing data, Java Virtual Machine memory data, and multi-threaded data.

[0035] S230. Store the sampled data in an unbounded queue; extract the target number of sampled data from the unbounded queue through a message list.

[0036] S240. Send the target number of sampled data to the distributed messaging system through a message list, instructing the distributed messaging system to forward the target number of sampled data to the backend of the distributed load testing platform.

[0037] Specifically, in our actual production applications, an average of approximately 1 million tracing, JVM, and multi-threaded sampling data points are generated daily, with a peak of approximately 3 million. Using the traditional HTTP transport protocol for transmitting this data results in significant queuing. Furthermore, when the distributed load testing platform experiences a backend system failure or upgrade, ongoing tracing, JVM, and multi-threaded sampling data will be lost. Therefore, a distributed messaging system is required for the feedback of the sampling data.

[0038] To mitigate the impact of distributed messaging systems on APM probe performance and reduce TPS (Transactions Per Second) in load testing results, this invention designs an unbounded queue (LinkedBlockingQueue) based on Java linked lists to receive and store previously collected sampled data. The unbounded queue supports multiple distributed messaging system producers simultaneously adding sampled data to the queue, resulting in less blocking of the first sampled data sender and a smaller performance decrease in TPS (approximately 1%). In high-concurrency scenarios, additional load testing machines can be added to achieve the target high-concurrency TPS.

[0039] A fixed thread pool with two threads is used to consume data from an unbounded queue. During data consumption, the TPS (transactions per second) is added to a message list (e.g., List). <kafkamessage>In a linear list, data is sent to the server of the distributed messaging system for every target number (e.g., 200) of data in the message list. Upon receiving the data, the server forwards it to the backend of the distributed load testing platform.

[0040] Optionally, based on the above embodiments, the message list can be sampled and sent using a reentrant lock.

[0041] Since the message list is not thread-safe, a reentrant lock (ReentrantLock) needs to be designed when adding sampled data to ensure the order of tracing, JVM, and multi-threaded sampling data consumption in a multi-threaded environment, and to ensure the accuracy of the final tracing, JVM, and multi-threaded sampling data. Similarly, when reading data from the message list, a reentrant lock is needed to ensure thread safety and guarantee the consumption order of TPS sampling data in a multi-threaded environment.

[0042] For example, the code snippet for extracting sampled data is as follows: lock.lock(); / / Add to list batch_data_to_send.add(oneData); lock.unlock(); The code snippet for sending sampled data is as follows: lock.lock(); if (batch_data_to_send.size() <= 0) { / / There is no data in the send list. It could be that there was never any to begin with, or it could be that the data was sent because the threshold for the number of data sent was triggered. log.debug("No data in the app's data list, no operation"); lock.unlock(); return; } String json; int listSize = batch_data_to_send.size(); log.info("Preparing to send a list of data to the app, length: {}", listSize); json=JSONArray.toJSONString(batch_data_to_send, SerializerFeature.DisableCircularReferenceDetect); / / Clear list batch_data_to_send.clear(); lock.unlock(); snedMessage(json); This invention enables zero-wait, real-time display of link tracing, JVM, and multi-threaded sampling data stress test results, while ensuring dynamic hot deployment and seamless upgrades for users. When more business systems are integrated, the distributed stress testing platform's backend nodes, Kafka topics, and load generators can be dynamically scaled horizontally without downtime or impacting ongoing performance testing scenarios, achieving the capability of 1000 users simultaneously conducting stress tests online. Figure 3 This is a schematic diagram of a data acquisition device for performance testing provided in another embodiment of the present invention. Figure 3 As shown, the device includes: The data receiving module 310 is used to receive the link tracing data, Java Virtual Machine memory data and multi-threaded data of the business system collected by the application performance management probe; the application performance management probe is a probe built based on link tracing technology. The data aggregation module 320 is used to generate sampling data based on the link tracing data, Java Virtual Machine memory data, and multi-threaded data; The data sending module 330 is used to report the sampling data to the backend of the distributed load testing platform through a distributed messaging system.

[0043] The performance test data acquisition device provided in this embodiment of the invention can execute the performance test data acquisition method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0044] Optionally, the application performance management probe collects Java Virtual Machine memory data of the business system through Java Virtual Machine Management Beans in the Java platform; and collects multi-threaded data of the business system through Thread Management Beans in the Java platform.

[0045] Optionally, the class loader of the application performance management probe includes: a plugin class loader, a middleware rule class loader, an isolation class loader, and a tracing class loader; the class loader is pre-deployed in the business system.

[0046] Optionally, the data transmission module 330 is specifically used for: The sampled data is stored in an unbounded queue.

[0047] Extract a target number of sample data from an unbounded queue using a message list; The target number of sampled data is sent to the distributed messaging system via a message list, which instructs the distributed messaging system to forward the target number of sampled data to the backend of the distributed load testing platform.

[0048] Optionally, the message list can be sampled and sent using a reentrant lock.

[0049] Optionally, the link tracing technology is an open-source distributed tracing system.

[0050] The data acquisition device for performance testing, as further explained, can also execute the data acquisition method for performance testing provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the method.

[0051] Figure 4 A schematic diagram of an electronic device 40 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0052] like Figure 4 As shown, the electronic device 40 includes at least one processor 41 and a memory, such as a read-only memory (ROM) 42 or a random access memory (RAM) 43, communicatively connected to the at least one processor 41. The memory stores computer programs executable by the at least one processor. The processor 41 can perform various appropriate actions and processes based on the computer program stored in the ROM 42 or loaded from storage unit 48 into the RAM 43. The RAM 43 may also store various programs and data required for the operation of the electronic device 40. The processor 41, ROM 42, and RAM 43 are interconnected via a bus 44. An input / output (I / O) interface 45 is also connected to the bus 44.

[0053] Multiple components in electronic device 40 are connected to I / O interface 45, including: input unit 46, such as keyboard, mouse, etc.; output unit 47, such as various types of monitors, speakers, etc.; storage unit 48, such as disk, optical disk, etc.; and communication unit 49, such as network card, modem, wireless transceiver, etc. Communication unit 49 allows electronic device 40 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0054] Processor 41 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 41 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 41 performs the various methods and processes described above, such as data acquisition methods for performance testing.

[0055] In some embodiments, the performance test data acquisition method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 48. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 40 via ROM 42 and / or communication unit 49. When the computer program is loaded into RAM 43 and executed by processor 41, one or more steps of the performance test data acquisition method described above may be performed. Alternatively, in other embodiments, processor 41 may be configured to perform the performance test data acquisition method by any other suitable means (e.g., by means of firmware).

[0056] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0057] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0058] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0059] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0060] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0061] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0062] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0063] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.< / kafkamessage> < / memorypoolmxbean> < / memorymanagermxbean>

Claims

1. A data acquisition method for performance testing, characterized in that, The method includes: It receives link tracing data, Java Virtual Machine memory data, and multi-threaded data from the business system collected by the application performance management probe; the application performance management probe is a probe built based on link tracing technology. Sampling data is generated based on the link tracing data, Java Virtual Machine memory data, and multi-threaded data. The sampling data is reported to the backend of the distributed load testing platform through a distributed messaging system.

2. The method according to claim 1, characterized in that, The application performance management probe collects Java Virtual Machine memory data of the business system through Java Virtual Machine Management Beans in the Java platform; and collects multi-threaded data of the business system through Thread Management Beans in the Java platform.

3. The method according to claim 2, characterized in that, The class loaders for the application performance management probe include: a plugin class loader, a middleware rule class loader, an isolation class loader, and a tracing class loader; these class loaders are pre-deployed in the business system.

4. The method according to claim 1, characterized in that, The step of reporting the sampled data to the backend of the distributed load testing platform via a distributed messaging system includes: The sampled data is stored in an unbounded queue; Extract a target number of sample data from an unbounded queue using a message list; The target number of sampled data is sent to the distributed messaging system via a message list, which instructs the distributed messaging system to forward the target number of sampled data to the backend of the distributed load testing platform.

5. The method according to claim 4, characterized in that, The message list extracts and sends sampled data using a reentrant lock.

6. The method according to claim 1, characterized in that, The link tracing technology mentioned is an open-source distributed tracing system.

7. A data acquisition device for performance testing, characterized in that, The device includes: The data receiving module is used to receive the link tracing data, Java Virtual Machine memory data, and multi-threaded data of the business system collected by the application performance management probe; the application performance management probe is a probe built based on link tracing technology. The data aggregation module is used to generate sampling data based on the link tracing data, Java Virtual Machine memory data, and multi-threaded data; The data sending module is used to report the sampling data to the backend of the distributed load testing platform through a distributed messaging system.

8. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the data acquisition method for performance testing as described in any one of claims 1-6.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, implement the data acquisition method for the performance test as described in any one of claims 1-6.

10. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the data acquisition method for performance testing as described in any one of claims 1-6.