CN105786692B - A kind of software runtime method for analyzing performance - Google Patents

A kind of software runtime method for analyzing performance Download PDF

Info

Publication number
CN105786692B
CN105786692B CN201410821657.4A CN201410821657A CN105786692B CN 105786692 B CN105786692 B CN 105786692B CN 201410821657 A CN201410821657 A CN 201410821657A CN 105786692 B CN105786692 B CN 105786692B
Authority
CN
China
Prior art keywords
probe
performance
software
runtime
information
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
CN201410821657.4A
Other languages
Chinese (zh)
Other versions
CN105786692A (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.)
Yuanguang Software Co Ltd
Original Assignee
Yuanguang Software 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 Yuanguang Software Co Ltd filed Critical Yuanguang Software Co Ltd
Priority to CN201410821657.4A priority Critical patent/CN105786692B/en
Publication of CN105786692A publication Critical patent/CN105786692A/en
Application granted granted Critical
Publication of CN105786692B publication Critical patent/CN105786692B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the present invention provides a kind of software runtime method for analyzing performance, comprising: starts software systems to be analyzed, is pre-configured with probe in the software to be analyzed;The probe is mounted in the software systems by bytecode;The performance indicator of software runtime is collected by the probe;According to the runtime performance of software described in the Performance Analysis.The application is by using dynamic instrumentation technology, performance probe is provided for the performance indicator of monitoring required for software, it in such a way that the software runtime configures, is collected, filters, stores for significant performance indicator every in software running process, to the process of software development without intrusion.In the performance probe that the runtime allows dynamic increase, modification, deletion to be configured at present, to change the performance indicator of collection, performance probe supports the sampling and filtering of performance indicator, reduces invalid data, raising data accuracy.

Description

A kind of software runtime method for analyzing performance
Technical field
The application designs a calculating machine technical field, in particular to a kind of software runtime method for analyzing performance.
Background technique
Software runnability is one of most important nonfunctional characteristics of software, carries out software performance optimization and is typically based on software Performance quantization and analysis result.
Software runtime universal monitor tool or method largely belong to monitoring or scanning mode comprehensively, transport to monitoring software Each details on the departure date, is affected to runtime performance, will affect software performance after deployment, therefore can not be in production environment It uses.
Another software is based on log to performance quantitative analysis mode, i.e. development period solidification coding carries out log output, fortune The departure date analyzes output journal, and such mode is very big to software development coding intrusion, in the coding phase once it is determined that log is defeated Out, just it can not change monitoring objective and position in the runtime, additionally, due to the limitation of log system, output is frequently found in text In system, leads to not direct usage log output and carry out performance evaluation, it is also necessary to conversion and the process extracted, subsequent analysis number It is excessively high according to cost.
Summary of the invention
In view of this, the embodiment of the present invention provides a kind of software runtime method for analyzing performance, software system can not be influenced The efficiency of system operation, can also reduce invalid data and improve data accuracy.
The embodiments of the present invention are implemented as follows, a kind of software runtime method for analyzing performance, comprising:
Start software systems to be analyzed, is pre-configured with probe in the software to be analyzed;
The probe is mounted in the software systems by bytecode;
The performance indicator of software runtime is collected by the probe;
According to the runtime performance of software described in the Performance Analysis.
Further, described be mounted on the probe in the software systems by bytecode includes:
Read the class configuration information for needing to monitor or wildcard information and loading classes;
According to the information configuration probe of above-mentioned reading;
The probe is inserted into the matched class of institute and method bytecode.
Further, the method further includes:
It is sampled and is filtered according to the class configuration information or wildcard information, output has the Index Content of value.
Further, the method further includes:
The probe configuration is the performance probe of different performance, by the content of configuration definition performance probe collection, for Different analyses need to acquire different information.
Further, the method further includes: when in analytical cycle, spy is dynamically opened by configuration item Needle;When not in analytical cycle, probe is closed by configuration item.
Further, the method further includes: after probe is collected into enough performance index informations pass through configuration item It is dynamic to close probe.
Further, the performance indicator for collecting the software runtime by the probe includes:
Probe is installed respectively before execution and after executing, and is executed parameter to obtain application method, is executed the time, returns to knot The performance-related informations such as fruit, dynamic memory occupancy, and storehouse tree information is formed according to method call level, passage capacity probe is searched The execution performance index collected.
By adopting the above technical scheme, the embodiment of the present invention has the following beneficial effects:
By using dynamic instrumentation technology, performance probe is provided for the performance indicator of monitoring required for software, by soft The mode of part runtime configuration is collected for significant performance indicator every in software running process, filters, stores, To the process of software development without intrusion.
It can dynamically increase in the runtime, modify, delete the performance probe configured at present, to change the performance of collection Index, performance probe support the sampling and filtering of performance indicator, reduce invalid data, improve data accuracy.Passage capacity is visited Needle and probe configuration mechanism, according to required performance indicator during software operation, dynamic configuration performance probe can also match The information such as range, the depth parameter that performance probe is monitored are set, to software development process without any invasive.
Performance indicator output, which allows to configure, to sample and filters, and only exports and analyzes valuable Index Content to performance optimization, It is controllable to export content, improves analysis efficiency, reducing target service system performance influences.
After the completion of analytical cycle, by configuration section or performance probe can be removed completely, avoid making because of performance probe At operation system performance loss.
Detailed description of the invention
By reading a detailed description of non-restrictive embodiments in the light of the attached drawings below, the application's is other Feature, objects and advantages will become more apparent upon:
Fig. 1 shows a kind of flow chart of embodiment of software runtime method for analyzing performance provided by the present application;
Fig. 2 shows the flow charts of software runtime method for analyzing performance another kind embodiment provided by the present application;
Fig. 3 shows the output that software runtime method for analyzing performance another kind embodiment memory provided by the present application expends Figure;
Fig. 4 shows the application and provides a kind of block diagram of embodiment of software runtime method for analyzing performance.
Specific embodiment
The application is described in further detail with reference to the accompanying drawings and examples.It is understood that this place is retouched The specific embodiment stated is used only for explaining related invention, rather than the restriction to the invention.It also should be noted that in order to Convenient for description, part relevant to related invention is illustrated only in attached drawing.
It should be noted that in the absence of conflict, the features in the embodiments and the embodiments of the present application can phase Mutually combination.The application is described in detail below with reference to the accompanying drawings and in conjunction with the embodiments.
Dynamic instrumentation technology of the embodiment of the present invention based on language, support the application software of standard, Web application software and The software project of the various language developments such as Osgi application software passes through dynamic byte code based on language dynamic instrumentation technology Technology realizes performance probe, the dynamic configuration performance probe during software operation, related to performance overweight in software running process Index Content is collected.
Performance probe is supported dynamically to change the execution logic of execution class in the software runtime, for executing in software inhouse The relevant execution parameter of output performance and performance indicator content in the process are supported according to software inhouse method call hierarchical relationship Complete performance indicator tree is generated, exploitation and operation maintenance personnel is facilitated to analyze software performance bottleneck.Performance probe is only for software Vertical, target service software was not necessarily to carry out any reference and development process to performance probe in development period.Its dynamic characteristic and can Configurability allows to open in the software runtime, closes performance probe, as needed to the monitor mode of performance indicator and index into Row changes, and supports that, by configuring primary filtration and analysis to performance indicator, only output is to the valuable information of user, reduction property Resource contention between energy probe and operation system, can partially or completely remove probe, to software after analytical cycle It can influence minimum.
As shown in Figure 1, being a kind of software runtime method for analyzing performance provided in an embodiment of the present invention, comprising:
S101 starts software systems to be analyzed, is pre-configured with probe in the software to be analyzed;
The probe is mounted in the software systems by S102 by bytecode;
S103 collects the performance indicator of software runtime by the probe;
S104, according to the runtime performance of software described in the Performance Analysis.
The mode of passage capacity probe of the present invention, follows software to start in the runtime, reads before class load and needs to supervise Probe is inserted into the matched class of institute and method bytecode by the class configuration information or wildcard information of control.
As described in Figure 2, performance probe is installed respectively before method executes and after executing, so that obtaining application method executes ginseng Number, execute the time, return the result, dynamic memory occupy etc. performance-related informations, and according to method call level formed storehouse tree Information, the execution performance index that passage capacity probe was collected, to analyze software runtime performance.
Another embodiment of the present invention provides the specific side that the probe is mounted on to the software systems by bytecode The class configuration information for needing to monitor or wildcard information and loading classes are read likes:;According to the information configuration probe of above-mentioned reading;By institute Probe is stated to be inserted into the matched class of institute and method bytecode.
Another embodiment of the present invention, when collecting many performance parameters, further according to the class configuration information Or wildcard information is sampled and is filtered, output has the Index Content of value.Performance index of correlation is completed in performance probe to receive It after collection, is sampled and is filtered according to configuration information, guarantee that only output has the Index Content of value to performance evaluation optimization.It adopts Sample and filtering reduce invalid information output to a certain extent, improve accuracy of information, reduce the performance to operation system It influences.Such as only output executes the execution method that the time is more than 3 seconds, and Export.Filter.MinTime=3000 can be set, After then probe is collected into method index of performance, it is found that certain method execution more than 3 seconds (3000 milliseconds) just can be according to specified by configuration Mode exported, in addition also allow the content by configuration definition performance probe collection, adopted for different analysis needs Collect different information.
Whether # parameter input probe is opened
Sample.Input=true
Whether # list entries probe is opened
Sample.InputJson=false
Whether # implementing result probe is opened
Sample.Output=true
Whether # implementing result serializing probe is opened
Sample.InputJson=false
# method executes whether time probe is opened
Sample.Time=true
Whether # EMS memory occupation probe is opened
Sample.Memory=false
The performance indicator of performance probe output marks association, such as above-mentioned calling layer time by fixed implementation procedure, defeated The figure such as Fig. 3 tree can be formed in content out, and it is occupied in entire implementation procedure can clearly to execute method Time and percentage are convenient for subsequent progress performance analysis optimization.As shown in figure 3, each node of dendrogram can explicitly be seen very much Event and spent memory are executed to method, which method ratio in one execution queue of software can be very easily found out It is relatively time-consuming, to targetedly be optimized, the output information in certain example be according to acquired in probe configuration, can also More detailed execution information is obtained to open more probes.
No matter which kind of performance indicator acquisition mode, more or less can all affect to target software performance, The stringent software runtime environment of performance requirement, a bit waist performance do not allow, it is therefore desirable to which performance evaluation monitoring tools can Dynamically to increase or delete as needed.
So another embodiment of the present invention provides the probe configuration is the performance probe of different performance, fixed by configuring The content of adopted performance probe collection needs to acquire different information for different analyses.As shown in figure 4, in a software system In system, multiple performance probes can be set, and define to it, for acquiring different letters according to the configuration needs of different performance Breath.Probe manager is managed multiple probes, and each probe has the function of different, acquires different performance parameters, uses Family can control probe manager by managing platform, using which, which be closed, even when making according to demand With when closing.
The embodiment of the present invention is also supported, when in analytical cycle, dynamically opens probe by configuration item;When not point When analysing in the period, probe is closed by configuration item.It is dynamic by configuration item after probe is collected into enough performance index informations Close probe.That is, by the dynamic opening performance probe of configuration item in analytical cycle, for collecting performance indicator letter Breath, by configuring dynamic closing performance probe after being collected into enough information, to guarantee the execution performance of target service software.
Likewise, also support analyzed with centering the specific period, such as analysis the end of month report performance, it can It is monthly collected to the end of month within 25th with being arranged, following example:
# probe start-up mode: m identifies the monthly set time
Agent.Start.Mode=m
# probe starts type
Agent.Start.Type=time, memory, input, output
# starts the date
Agent.Start.StartDate=25
# starts the time
Agent.Start.StartTime=00:00
# closes the date
Agent.End.EndDate=0
The # shut-in time
Agent.End.EndTime=24:00
Above description is only the preferred embodiment of the application and the explanation to institute's application technology principle.Those skilled in the art Member is it should be appreciated that invention scope involved in the application, however it is not limited to technology made of the specific combination of above-mentioned technical characteristic Scheme, while should also cover in the case where not departing from the inventive concept, it is carried out by above-mentioned technical characteristic or its equivalent feature Any combination and the other technical solutions formed.Such as features described above has similar function with (but being not limited to) disclosed herein Can technical characteristic replaced mutually and the technical solution that is formed.

Claims (6)

1. a kind of software runtime method for analyzing performance characterized by comprising
Start software systems to be analyzed, is pre-configured with probe in the software to be analyzed;
The probe is mounted in the software systems by bytecode;It is described that the probe is mounted on institute by bytecode State includes: to read the class configuration information for needing to monitor or wildcard information and loading classes in software systems;According to the letter of above-mentioned reading Breath configuration probe;The probe is inserted into the matched class of institute and method bytecode;
The performance indicator of software runtime is collected by the probe;
According to the runtime performance of software described in the Performance Analysis.
2. method for analyzing performance according to claim 1, which is characterized in that the method further includes:
It is sampled and is filtered according to the class configuration information or wildcard information, output has the Index Content of value.
3. method for analyzing performance according to claim 1, which is characterized in that the method further includes:
The probe configuration is the performance probe of different performance, by the content of configuration definition performance probe collection, for difference Analysis need to acquire different information.
4. any method for analyzing performance according to claim 1~3, which is characterized in that the method further includes:
When in analytical cycle, probe is dynamically opened by configuration item;When not in analytical cycle, closed by configuration item Close probe.
5. any method for analyzing performance according to claim 1~3, which is characterized in that the method further includes:
Probe is dynamically closed by configuration item after probe is collected into enough performance index informations.
6. any method for analyzing performance according to claim 1~3, which is characterized in that described to be collected by the probe The performance indicator of software runtime includes:
Probe before execution and execute after install respectively, thus obtain application method execute parameter, execute the time, return the result, Dynamic memory occupies performance-related information, and forms storehouse tree information according to method call level, and passage capacity probe was collected Execution performance index.
CN201410821657.4A 2014-12-24 2014-12-24 A kind of software runtime method for analyzing performance Active CN105786692B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410821657.4A CN105786692B (en) 2014-12-24 2014-12-24 A kind of software runtime method for analyzing performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410821657.4A CN105786692B (en) 2014-12-24 2014-12-24 A kind of software runtime method for analyzing performance

Publications (2)

Publication Number Publication Date
CN105786692A CN105786692A (en) 2016-07-20
CN105786692B true CN105786692B (en) 2019-02-05

Family

ID=56377734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410821657.4A Active CN105786692B (en) 2014-12-24 2014-12-24 A kind of software runtime method for analyzing performance

Country Status (1)

Country Link
CN (1) CN105786692B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334440A (en) * 2017-01-19 2018-07-27 阿里巴巴集团控股有限公司 A kind of processing method and processing device, client obtaining application performance test result
CN106991038A (en) * 2017-04-07 2017-07-28 广东亿迅科技有限公司 Service monitoring method and device based on java collectors
CN107491392A (en) * 2017-08-22 2017-12-19 中国联合网络通信集团有限公司 Application program capacity acquisition method and device
CN110569168B (en) * 2019-08-26 2022-07-08 腾讯科技(深圳)有限公司 Data interaction method, related equipment and storage medium
CN111104281B (en) * 2019-11-20 2022-07-22 腾讯科技(深圳)有限公司 Game performance monitoring method, device, system and storage medium
CN114697232B (en) * 2020-12-25 2024-02-23 中国移动通信集团福建有限公司 System and method for acquiring index data of Skywalk probe and electronic equipment
CN113032224A (en) * 2021-04-22 2021-06-25 深信服科技股份有限公司 Information acquisition method and device, electronic equipment and readable storage medium
CN113721971A (en) * 2021-08-26 2021-11-30 深圳Tcl新技术有限公司 Information display method and device, electronic equipment and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101067798A (en) * 2007-06-14 2007-11-07 华南理工大学 Dynamic probe method and application in embedded system thereof
CN102301343A (en) * 2011-06-14 2011-12-28 华为技术有限公司 Method, device and system for monitoring software
CN103647794A (en) * 2013-12-31 2014-03-19 北京启明星辰信息安全技术有限公司 Data correlation method based on J2EE platform and correlation plug-in
CN104063326A (en) * 2014-07-14 2014-09-24 上海零一拼装信息技术有限公司 Software testing data analysis oscilloscope and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792460B2 (en) * 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
US8413120B2 (en) * 2008-10-27 2013-04-02 Advanced Micro Devices, Inc. Method and system for thread monitoring

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101067798A (en) * 2007-06-14 2007-11-07 华南理工大学 Dynamic probe method and application in embedded system thereof
CN102301343A (en) * 2011-06-14 2011-12-28 华为技术有限公司 Method, device and system for monitoring software
CN103647794A (en) * 2013-12-31 2014-03-19 北京启明星辰信息安全技术有限公司 Data correlation method based on J2EE platform and correlation plug-in
CN104063326A (en) * 2014-07-14 2014-09-24 上海零一拼装信息技术有限公司 Software testing data analysis oscilloscope and method

Also Published As

Publication number Publication date
CN105786692A (en) 2016-07-20

Similar Documents

Publication Publication Date Title
CN105786692B (en) A kind of software runtime method for analyzing performance
CN109491990A (en) A kind of method of detection data quality and the device of detection data quality
CN105809035B (en) The malware detection method and system of real-time behavior is applied based on Android
CA2965340A1 (en) An enhanced system and method for conducting pca analysis on data signals
CN107885642A (en) Business monitoring method and system based on machine learning
KR101948604B1 (en) Method and device for equipment health monitoring based on sensor clustering
CN101916224A (en) Test progress abnormality detection method and automatic test control device
CN105069686B (en) Case automatic testing method and system
CN107895014B (en) Time series bridge monitoring data analysis method based on MapReduce framework
CN107220121B (en) Sandbox environment testing method and system under NUMA architecture
CN107798242A (en) A kind of malice Android application automatic checkout system of quiet dynamic bind
KR101938946B1 (en) Interface Middleware System for Collecting Mass Data and Method for Collecting Data of Interface Middleware System
Malloy et al. An empirical analysis of the transition from python 2 to python 3
CN105808412A (en) Process resource real-time monitoring method
AU2013273841A1 (en) A risk assessment method and system for the security of an industrial installation
CN111130890A (en) Network flow dynamic prediction system
US11875167B2 (en) Method for deploying containerized protocols on very small devices
CN109753286A (en) A method of the code method based on functional label counts its call number
CN106776102A (en) A kind of application system health examination method and system
CN111198897B (en) Scientific research hotspot topic analysis method and device and electronic equipment
CN104317857A (en) House information acquisition service system
CN105183629A (en) Diagnosis system and diagnosis method for analyzing performance of PHP application software, and performance management platform thereof
Rantala et al. Prevalence, contents and automatic detection of KL-SATD
Zenner et al. Development phase convergence across scale in a primeval European beech (Fagus sylvatica L.) forest
CN109064211B (en) Marketing business data analysis method and device and server

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant