CN110162451B - Performance analysis method, performance analysis device, server and storage medium - Google Patents
Performance analysis method, performance analysis device, server and storage medium Download PDFInfo
- Publication number
- CN110162451B CN110162451B CN201910333280.0A CN201910333280A CN110162451B CN 110162451 B CN110162451 B CN 110162451B CN 201910333280 A CN201910333280 A CN 201910333280A CN 110162451 B CN110162451 B CN 110162451B
- Authority
- CN
- China
- Prior art keywords
- server
- file
- performance
- image
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/321—Display for diagnostics, e.g. diagnostic result display, self-test user interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
The embodiment of the invention discloses a performance analysis method, a performance analysis device, a server and a storage medium, wherein the method comprises the following steps: transmitting image running data to a user terminal, the image running data including: in the process of connecting image application, frame rate information corresponding to each frame of image generated in a target monitoring period; receiving a performance checking instruction sent by the user terminal, and determining a target image frame selected by the performance checking instruction, wherein the performance checking instruction is generated when user operation is received on a user interface after image operation data including frame rate information is displayed on the user interface of the user terminal; according to the target image frame, the indication information when the monitored server is connected with the image application to generate the target image frame is determined from the target monitoring file, and the indication information is sent to the user terminal, so that the analysis efficiency of the performance index of the server when the server is connected with the application program can be effectively improved.
Description
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a performance analysis method, apparatus, server, and storage medium.
Background
With the development of computer technology, various application programs are produced, and in order to determine the operation performance of the server when the server is connected with the application programs, the operation performance of the server needs to be tested, for example, the response time and the memory occupation condition when the server is connected with the application programs are tested.
At present, a manual testing method is mainly adopted for performance testing when a server is connected with an application program, for example, when the server is connected with a game application for testing, a certain number of game users can be invited to try out the game application, so that public testing data of the server connected with the game application can be obtained, based on the public testing data, when the server is connected with the game application, the cause of blocking of the server can be found out, namely, the performance of the server is determined when the server is connected with the game application, and the method for inviting the testing users to try out the application program so as to obtain the public testing data for testing the server is adopted, so that the performance analysis efficiency of the server is reduced when the server is connected with the application program.
Disclosure of Invention
The embodiment of the invention provides a performance analysis method, a performance analysis device, a server and a storage medium, which can effectively improve the analysis efficiency of server performance indexes when the server is connected with an application program.
In one aspect, an embodiment of the present invention provides a performance analysis method, where the method includes:
sending image operation data to a user terminal, wherein the image operation data comprises: in the process of connecting image application, frame rate information corresponding to each frame of image generated in a target monitoring period;
receiving a performance checking instruction sent by the user terminal, and determining a target image frame selected by the performance checking instruction, wherein the performance checking instruction is generated when user operation is received on a user interface after image operation data including frame rate information is displayed on the user interface of the user terminal;
according to the target image frame, determining indication information when a monitored server is connected with the image application to generate the target image frame from a target monitoring file, and sending the indication information to the user terminal; wherein the indication information is used for representing the logic performance of the monitored server, and the indication information includes: and the image application corresponds to a group of function call information for each frame of image generated in the target monitoring period.
In another aspect, an embodiment of the present invention provides a performance analysis apparatus, where the apparatus includes:
a sending unit, configured to send image operation data to a user terminal, where the image operation data includes: in the process of connecting image application, frame rate information corresponding to each frame of image generated in a target monitoring period;
a receiving unit, configured to receive a performance check instruction sent by the user terminal, and determine a target image frame selected by the performance check instruction, where the performance check instruction is generated when a user operation is received on a user interface after image operation data including frame rate information is displayed on the user interface of the user terminal;
the determining unit is used for determining the indicating information when the monitored server is connected with the image application to generate the target image frame from a target monitoring file according to the target image frame and sending the indicating information to the user terminal; wherein the indication information is used for representing the logic performance of the monitored server, and the indication information includes: and the image application corresponds to a group of function call information for each frame of image generated in the target monitoring period.
In another aspect, an embodiment of the present invention provides a server, including a processor, a memory, and a communication interface, where the processor, the memory, and the communication interface are connected to each other, where the memory is used to store computer program instructions, and the processor is configured to execute the program instructions, and perform the following steps:
sending image operation data to a user terminal, wherein the image operation data comprises: in the process of connecting image application, frame rate information corresponding to each frame of image generated in a target monitoring period;
receiving a performance checking instruction sent by the user terminal, and determining a target image frame selected by the performance checking instruction, wherein the performance checking instruction is generated when user operation is received on a user interface after image operation data including frame rate information is displayed on the user interface of the user terminal;
according to a target image frame, when a monitored server is determined to be connected with the image application to generate the target image frame from a target monitoring file, indicating information used for representing the logic performance of the monitored server is sent to the user terminal; wherein the indication information includes: and the image application corresponds to a group of function call information for each frame of image generated in the target monitoring period.
In yet another aspect, an embodiment of the present invention provides a computer-readable storage medium, which stores a computer program, where the computer program includes program instructions, and the program instructions, when executed by a processor, cause the processor to execute the method of the first aspect.
In the embodiment of the present invention, when receiving a performance viewing instruction sent by a user terminal, an analysis server may determine a target image frame selected by the performance viewing instruction based on frame rate information displayed on a user interface, so that indication information indicating the logical performance of a monitored server when the monitored server generates the target image frame in connection with an image application may be acquired from a target monitoring file based on the determined target image frame, and the indication information may be displayed on the user interface to reflect the performance of the monitored server when the monitored server is connected with the image application. The analysis server intuitively displays the image operation data when the monitored server is connected with the image application and the indication information when the image application is connected with the image application to generate the target image frame to the user interface, so that the readability of the performance analysis result of the monitored server is enhanced based on the intuitive display of the performance analysis result of the monitored server by the analysis server, and the indication information directly displayed on the user interface and representing the monitored server is avoided, so that the performance of the monitored server can be directly determined based on the displayed indication information without manually analyzing the test data by technicians, and the efficiency of analyzing the performance of the monitored server when the monitored server is connected with the image application to generate each frame of image is effectively improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1a is a schematic block diagram of a performance analysis system provided by an embodiment of the present invention;
fig. 1b is a schematic diagram of a data exchange flow of a performance analysis system according to an embodiment of the present invention;
FIG. 2 is a schematic flow chart of a performance analysis method according to an embodiment of the present invention;
FIG. 3a is a schematic interface diagram of image run data according to an embodiment of the present invention;
FIG. 3b is a schematic diagram of an interface for outputting indication information according to an embodiment of the present invention;
FIG. 3c is a schematic diagram of an interface for expanding the call performance parameter of a function according to an embodiment of the present invention;
FIG. 3d is a schematic diagram of an interface for averaging the elapsed time of a function according to an embodiment of the present invention;
FIG. 3e is a schematic interface diagram of a combinatorial analysis provided in an embodiment of the invention;
FIG. 3f is a schematic interface diagram of a function anomaly analysis according to an embodiment of the present invention;
FIG. 4 is a schematic flow chart of a performance analysis method according to another embodiment of the present invention;
fig. 5a is a schematic flowchart of a monitored server generating a function statistics file according to an embodiment of the present invention;
fig. 5b is a schematic flowchart of a monitored server pushing a function statistics file and a log file according to an embodiment of the present invention;
FIG. 6a is an interface diagram of a performance summary interface provided by an embodiment of the present invention;
FIG. 6b is a schematic interface diagram of a performance daily running water search interface according to an embodiment of the present invention;
fig. 6c is a schematic interface diagram of a change curve of the number of reported monitoring files with dates according to the embodiment of the present invention;
FIG. 6d is an interface diagram of a time consumption data versus date curve of a target thread according to an embodiment of the present invention;
fig. 6e is an interface diagram of a curve of memory changing with date according to an embodiment of the present invention;
FIG. 6f is an interface diagram illustrating a variation curve of the time consumption of a target thread according to the number of human players in the game according to an embodiment of the present invention;
FIG. 6g is an interface diagram of a server performance versus date curve according to an embodiment of the present invention;
FIG. 7a is an interface diagram of a version analysis summary provided by an embodiment of the present invention;
fig. 7b is a schematic interface diagram for reporting a change curve of the number of monitoring files with versions according to an embodiment of the present invention;
FIG. 7c is an interface diagram illustrating a trend of time-consuming data of a target thread with a version according to an embodiment of the present invention;
fig. 7d is an interface diagram illustrating a trend of a memory changing with a version according to an embodiment of the present invention;
fig. 8a is a schematic interface diagram of analysis information based on a scene analysis index according to an embodiment of the present invention;
FIG. 8b is an interface diagram of an alarm list according to an embodiment of the present invention;
FIG. 8c is a schematic interface diagram of a log file display area of a user interface according to an embodiment of the present invention;
FIG. 8d is a schematic diagram of an interface for comparing a baseline file and a comparison file according to an embodiment of the present invention;
FIG. 9 is a schematic block diagram of a performance analysis apparatus provided in an embodiment of the present invention;
fig. 10 is a schematic block diagram of a server according to an embodiment of the present invention.
Detailed Description
During the running process of an application program (such as an image application like a game application), the user terminal running the application program is connected to a monitored server and performs data interaction with the server, for example, when the game application is running, game data interaction with the monitored server can be realized through a client running the game application. Therefore, the performance of the monitored server can be monitored and analyzed while the application is connected to the monitored server. Specifically, the analysis server may send frame rate information corresponding to each frame of image generated by the image application in the target monitoring period to the user terminal in a process that the monitored server is connected to the image application, so that the frame rate information may be displayed in a user interface of the user terminal. If a performance viewing instruction sent by the user terminal is received, the target image frame selected based on the performance viewing instruction can be used for determining indication information of the logic performance of the monitored server when the monitored server indicates the image application to generate the target image frame from a target monitoring file, so that the indication information can be sent to the user terminal, and based on the indication information displayed on the user terminal, the user can directly determine the performance of the monitored server.
After receiving the indication information, the user terminal can display the call information of the function to the user interface in the process that the monitored server included in the indication information is connected with the image application to generate the target image frame, wherein the function call information displayed on the user interface comprises: when the monitored server is connected with the image application, generating a function name of a function called by the target image frame and a calling performance parameter corresponding to the function name, wherein the calling performance parameter specifically comprises: time consumption, time-consuming occupancy ratio, calling times and the like. The user can directly determine the process of connecting the monitored server with the image application based on the calling performance parameters displayed on the user interface, the operation performance of the monitored server effectively improves the performance analysis efficiency when the monitored server operates the image application, and the cost of performing performance analysis on the monitored server is effectively reduced because technicians do not need to perform secondary analysis on the performance parameters manually.
The performance analysis method provided by the embodiment of the present invention can be applied to a performance analysis system as shown in fig. 1a, and in one embodiment, the performance analysis system includes: a monitored server 10, an analysis server 11, an analysis server 12, and a user terminal 13. In an embodiment, the monitored Server 10 may be, for example, a standalone Server (DS), in an embodiment of the present invention, the DS Server is a game Server for example, and when the DS Server is another Server, reference may be made to the specific implementation manner of the present application. The monitored server 10 can monitor the performance of its Central Processing Unit (CPU) when the application program is running, so as to trigger recording of the monitoring file based on monitoring of the CPU. Further, the recorded monitoring file may be sent to the analysis server 11, so that the analysis server 11 may determine, based on the received monitoring file, the operation performance of the monitored server 10 during the operation of the image application connection.
The analysis server 11, the monitored server 10 and the analysis server 12 are respectively established with communication connection, the analysis server 11 determines the monitoring file in an unresolved state by detecting the file state of the monitoring file recorded and uploaded by the monitored server 10, and sends the monitoring file in the unresolved state to the analysis server 12. Further, an analysis file obtained by analyzing the unanalyzed monitoring file by the analysis server 12 may be obtained, so that the relevant information of the analyzed monitoring file (i.e., the analysis file) may be displayed in the display interface of the user terminal 13 based on the performance viewing instruction input by the user in the user terminal 13. In an embodiment, the communication connection between the analysis server 11 and the monitored server 10 and the analysis server 12 may be, for example, a connection established through a socket (socket), and after receiving the related information of the monitoring file analyzed by the analysis server 12, the analysis server 11 may store the analyzed related information of the monitoring file locally, or store the analyzed file in another storage system.
In one embodiment, to reduce the data storage pressure of the analysis Server 11, one or more storage systems may be externally connected, for example, a relational database management system (Mysql) or a storage system supported by a Remote Dictionary Server (Redis), and the data exchange process between the externally connected storage system, the analysis Server and the analysis Server may be as shown in fig. 1 b. The analysis server and the analysis server, and the analysis server and the storage system can be connected through a socket, so that the monitoring files in an unresolved state in the monitoring files uploaded by the monitored server can be determined, and the file information of the monitoring files in the unresolved state can be stored in the storage system, wherein the file information comprises the time information of the detection files uploaded by the monitored server and the like.
Further, the log file included in the monitoring file in the unaddressed state may be parsed to obtain log information, and the log information may be stored in a storage system, in an embodiment, when the analysis server stores the file information and the log information, the analysis server may be stored in the same storage system, or may be stored in different storage systems, and after the analysis server obtains the server information of the monitored server through a specific interface, the server information may also be stored in the storage system, where the server information includes a model of the monitored server, and the like, so that the function statistics file included in the unaddressed monitoring file may be sent to the parsing server, so that the parsing server parses the function statistics file to obtain the call information of the monitored server to the function.
In an embodiment, a parsing tool for parsing an unresolved monitoring file is deployed in the parsing server 12, the parsing tool may be, for example, an optimized virtual front end (UFE), the user terminal 13 is configured to receive a performance view instruction input by a user, the analysis server 11 may display, in the user terminal 13, information related to the parsed monitoring file received by the analysis server 11 based on the performance view instruction, where the user terminal 13 may be a mobile terminal or a Personal Computer (PC) terminal, and the user terminal 13 and a client running an image application may be the same terminal or different terminals.
The performance analysis method for the monitored server provided by the embodiment of the present invention can be applied to the analysis system, and in one embodiment, the performance analysis method is mainly used for analyzing the monitored server 10 in the system, and the operation performance of the monitored server can be analyzed in the process of the monitored server 10 in the image application connection operation. Since the monitored server calls the corresponding function to ensure that the image application generates each frame of image, when analyzing the performance of the monitored server 10 when connecting the image application, the monitoring file recorded when detecting the performance fault of the monitored server 10 during the operation process of connecting the monitored server 10 with the image application can be performed, and the recorded monitoring file records the calling information of the function when the performance fault occurs in the process of connecting the monitored server with the image application.
After the monitored server 10 collects the monitoring files, the monitoring files can be sent to the analysis server 11, so that the analysis server 11 can analyze the performance of the monitored server 10 based on the received monitoring files, and when the analysis server 11 receives a performance viewing instruction input by a user in a display interface of the user terminal 13, the performance analysis result of the monitored server 10 can be displayed on the user interface, so that the performance analysis result can be visually displayed.
In one embodiment, the performance analysis results presented in the user interface may be, for example, call information of a function or the like, the user can directly determine, based on the presented performance analysis result, that the monitored server 10 is in the process of connecting to the image application, the reason for the performance failure of the monitored server 10, which may result from the performance failure of the monitored server 10, may be, for example, one or more of time consuming function call, time consuming call ratio or number of call times in the function call information, therefore, the function of the image application causing the monitored server 10 to be stuck or having a long time delay in the running process can be determined, so that the user can determine a scheme for optimizing the function call of the monitored server 10 based on the determined function causing the monitored server 10 to be stuck, and the performance optimization of the monitored server 10 in the connection of the image application can be realized.
According to the method for analyzing the performance of the server, the calling information of the function when the performance of the monitored server fails can be displayed on the user interface, so that the user can quickly determine the running performance of the monitored server when the monitored server is connected with the image application through the user interface, and the efficiency of analyzing the performance of the monitored server is improved. In addition, the function calling information of the monitored server in the image application running process is intuitively displayed on the user interface, so that the readability of data when the performance of the monitored server is analyzed is enhanced, and the user can directly determine the function influencing the image application performance of the monitored server based on the displayed function calling information, and the performance analysis cost of the monitored server can be reduced to a certain extent.
Referring to fig. 2, a schematic flowchart of a performance analysis method according to an embodiment of the present invention is shown, where the method is applicable to the performance analysis system, and in particular, to an analysis server 11 of the performance analysis system, as shown in fig. 2, the method includes:
s201, sending image operation data to a user terminal.
In one embodiment, the image run data comprises: in the process of connecting the image application, the monitored server generates frame rate information corresponding to each frame of image in the target monitoring period, wherein the frame rate information is obtained by calculating the time consumption of rendering (or generating) one frame of image in each image application. In one embodiment, the image application is an application program which is connected to the monitored server during running and has an image rendering function, the image application may be, for example, a game application or a video application, the game application has an image rendering function, for example, a game map or a game character image rendering function, and the video application has an image rendering function, for example, a video picture rendering function.
In the embodiment of the present invention, taking the application connected to the monitored server as an example of a game application, a specific description is given of performance analysis when the monitored server is connected to an image application, and when the application connected to the monitored server is another application, reference may be made to the implementation of the present embodiment. In one embodiment, the target monitoring period is determined based on the monitored server connecting with the image application for data exchange, the monitored server has a performance fault, the performance fault includes a stuck fault, and the target monitoring period is a time period from the time point of the monitored server having the performance fault as a timing starting point.
In one embodiment, the analysis server may first obtain image operation data, and after obtaining the image operation data, send the image operation data to a user terminal, so that the user terminal may display in a corresponding display interface (user interface). In an embodiment, when the image application is a Game application, the target Thread may be a Game Thread (Game Thread).
In one embodiment, the analysis server may perform step S202 after sending the image running data including the frame rate information to the user terminal and displaying the image running data to the user interface.
S202, receiving a performance viewing instruction sent by the user terminal, and determining a target image frame selected by the performance viewing instruction.
In one embodiment, the performance viewing instruction is generated when a user operation is received on a user interface after the image running data including frame rate information is displayed on the user interface of the user terminal, and the analysis server may determine a focus acted on the image running data by the user operation, so that a target image frame selected by a user may be determined according to the focus.
After the analysis server sends the image operation data to the user terminal and displays the image operation data on the user interface, the user may send a performance check instruction when the monitored server generates the image frame when being connected with the image application based on the frame rate information displayed on the user interface, for example, the user may click any point of a frame rate change curve in the image operation data displayed on the user interface to send the performance check instruction of the monitored server when being connected with the image application to generate the image frame corresponding to the any point, so that when the analysis server receives the performance check instruction sent by the user, the selected target image frame may be determined based on the performance check instruction.
As shown in fig. 3a, when the user clicks the valley a point, a performance check instruction of the monitored server when the monitored server runs the image application to generate the image frame corresponding to the a point is issued, in one embodiment, the user may also issue a performance check instruction of the monitored server when the monitored server connects the image application to generate the target image frame based on a target thread consumed time and a frame time displayed on the user interface, wherein the user may use the image frame corresponding to the point where the target thread consumed time and/or the frame time is greater than or equal to a preset consumed time threshold as the target image frame, and issue a performance check instruction of the monitored server when the monitored server connects the image application to generate the target image frame, in one embodiment, the preset consumed time threshold may be, for example, 400 milliseconds (ms) indicated by a dotted line in fig. 3a, so when the analysis server receives the performance check instruction of the user clicking the a point, the target image frame may be determined to be an image frame corresponding to the a point based on the performance review instruction.
After the target image frame selected by the performance viewing instruction is determined, the indication information of the logic performance of the image application when the target image frame is generated may be determined according to the target monitoring file, so that step S203 may be performed. In an embodiment, the target monitoring file is generated by recording, by the monitored server, when detecting that service information satisfies a recording condition during connection with the image application, where the service information includes: the data occupied by the memory, the service resource meeting the recording condition is that: the value indicated by the memory occupation data is greater than or equal to a preset occupation threshold, or the number of times that the value indicated by the memory occupation data is greater than or equal to the occupation threshold exceeds a preset number threshold, wherein the memory occupation data refers to the memory occupation amount or the memory occupation ratio of a CPU (central processing unit) in the process of connecting the image application by the monitored server.
S203, according to the target image frame, determining indication information when the monitored server is connected with the image application to generate the target image frame from the target monitoring file, and sending the indication information to the user terminal.
In one embodiment, the indication information is used to indicate the logic performance of the monitored server, the target monitoring file records the call information of the monitored server to the function when the monitored server generates each frame of image by connecting the image application in the target monitoring period, and the image application corresponds to a set of function call information for each frame of image generated in the target monitoring period. The function call information includes: when the monitored server is connected with the image application to generate the target image frame, the function name of the function called by the monitored server and calling performance parameters corresponding to the function name comprise: and one or more items of the call time consumption, the call time consumption occupation ratio and the call times corresponding to each call function. The function call information recorded in the target monitoring file is used for indicating the logic performance of the monitored server when the monitored server is connected with the image application to generate the target image frame, so that the logic performance of the monitored server when the monitored server is connected with the image application to generate the target image frame can be determined based on the call condition of the monitored server to the function when the monitored server is connected with the image application to generate the target image frame.
In one embodiment, if the image running data displayed on the user interface is as shown in fig. 3a, the indication information of the logic performance of the monitored server when the monitored server is connected to the image application to generate the target image frame may be displayed at the lower part of the image running data in the user interface as shown in fig. 3 a. If the target image frame selected by the performance checking instruction is the image frame indicated by the point a shown in fig. 3a, after responding to the performance checking instruction, corresponding indication information for indicating the logic performance of the monitored server may be output at the lower part of the image operation data, where the user interface after outputting the indication information may be shown in fig. 3b, the output indication information includes function call information, and the function call information may be output in a function call relation table shown in fig. 3 b.
After a function call relation table of the user interface shows a call condition indicating that the monitored server calls a function when connecting an image application to generate the target image frame, the monitored server may receive a view instruction for a target function in the function call relation table, where the target function may be any function in the function call relation table, the view instruction for the target function in the function call relation table received by the analysis server may be, for example, a click instruction for a name corresponding to the target function in the function call relation table shown in fig. 3b, and in response to the view instruction for the target function, a call performance parameter of the target function in a global range may be shown, where the call performance parameter in the global range includes: for example, if a click instruction for a function a in the function call relation table is received based on the function call relation table shown in fig. 3b, the call performance parameter of the function a in the global scope may be expanded, and the call performance parameter expanded based on the function a in the global scope is shown in fig. 3 c.
In an embodiment, in the user interface shown in fig. 3b, if a selection instruction for an average consumed time option in the user interface is received, the global average consumed time and average number of calls of all functions in the target monitoring file may be shown in the user interface shown in fig. 3 d.
In an embodiment, in the user interface shown in fig. 3b, if a selection instruction for a combination analysis option in the user interface is received, names of preset attention function combinations and functions focused under each group may be displayed in the user interface shown in fig. 3e, where each group of attention functions is used to represent one attention module, where each group of attention functions may include a plurality of functions, and a user may click a view button 30 in an output attention function group to view function call performance parameters when performing image rendering on all functions under the group of attention functions (i.e., the module), for example, to view a time consumption trend when performing image rendering on all functions under the group of attention functions, and further, the user may click a modify button 31 to modify the function names in the attention function group.
In an embodiment, in the user interface shown in fig. 3b, if a selection instruction for a function abnormality analysis option in the user interface is received, a depth screening interface for acquiring a function tree input by a user may be output in the user interface shown in fig. 3f, and a depth of the function tree of an output target thread may be determined based on a screening depth input by the user in the screening interface, so that one or more functions with the highest consumed time in the target thread may be output according to the depth of the function tree, and each function corresponds to the number of times of occurrence, the average number of times of invocation, and the average consumed time in all frames. Further, if a selection instruction for viewing the call path is received, a calling process of the function in the function tree may be displayed on the user interface, and in one embodiment, the target thread includes one or more of a Game thread and a pass thread (Render thread).
For example, assuming that the depth input by the user in the depth screening interface of the function tree is X, 8 functions with the highest consumed time are screened out from the target thread according to the screening depth X, and the average consumed time, the average calling times and the occurrence times of the 8 functions in all frames are displayed on the user interface, and if a selection instruction for viewing the calling path of the function 2 is received, the calling process of the mth frame in the function 2 can be displayed on the user interface.
In the embodiment of the present invention, when receiving a performance viewing instruction sent by a user terminal, an analysis server may determine a target image frame selected by the performance viewing instruction based on frame rate information displayed on a user interface, so that indication information indicating the logical performance of a monitored server when the monitored server generates the target image frame in connection with an image application may be acquired from a target monitoring file based on the determined target image frame, and the indication information may be displayed on the user interface to reflect the performance of the monitored server when the monitored server is connected with the image application. The analysis server intuitively displays the image operation data when the monitored server is connected with the image application and the indication information when the image application is connected with the image application to generate the target image frame to the user interface, so that the readability of the performance analysis result of the monitored server is enhanced based on the intuitive display of the performance analysis result of the monitored server by the analysis server, and the indication information directly displayed on the user interface and representing the monitored server is avoided, so that the performance of the monitored server can be directly determined based on the displayed indication information without manually analyzing the test data by technicians, and the efficiency of analyzing the performance of the monitored server when the monitored server is connected with the image application to generate each frame of image is effectively improved.
Referring to fig. 4, a schematic flow chart of a performance analysis method according to another embodiment of the present invention is shown in fig. 4, where the method includes:
s401, the monitored server generates a function statistic file and sends the function statistic file and a log file corresponding to the function statistic file to an analysis server.
S402, after receiving the function statistic file and the corresponding log file, the analysis server associates the function statistic file and the corresponding log file as a monitoring file.
In steps S401 to S402, the monitored server may monitor its own server performance, and monitor the monitored server CPU when monitoring the server performance, mainly when the monitored server is connected to an image application, so as to determine the memory usage (or memory usage ratio) of the monitored server CPU. Further, whether the memory occupancy of the monitored server CPU exceeds a preset occupancy threshold value or not can be determined, and recording of the function call condition is triggered based on the number of times that the memory occupancy of the monitored server CPU exceeds the preset occupancy threshold value.
When the monitored server records and generates the function statistic file, refer to the schematic flow diagram shown in fig. 5a, which specifically includes the following steps:
s11, initializing the number of times N that the memory occupation ratio of the monitored server CPU is larger than or equal to the preset memory occupation ratio threshold value;
s12, calculating the memory ratio of the CPU in a first time range, and determining whether the memory ratio in the first time range is greater than or equal to the preset memory ratio threshold value P;
s13, if yes, updating the exceeding times N, and recording and generating a function statistical file when the exceeding times N is larger than or equal to a preset time threshold.
In step s11-s13, the monitored server may initialize the number of times that the memory occupancy of the CPU of the server is greater than or equal to the threshold of the preset memory occupancy at preset time intervals, or may automatically initialize the number of times that the memory occupancy of the CPU is greater than or equal to the threshold of the preset memory occupancy after recording to generate a function statistics file.
After initializing the number of times that the memory occupancy of the monitored server CPU is greater than or equal to the preset memory occupancy threshold, the memory occupancy of the monitored server CPU may be monitored, and the memory occupancy of the CPU within a first time range may be calculated, where the first time range may be, for example, 10 seconds. The memory usage of the monitored server CPU may represent a capability of the monitored server to generate each frame image by connecting to the image application, and specifically, may represent a time when the monitored server connects to the image application to generate each image frame, where a memory usage ratio of the CPU in a first time range is current frame time/expected frame time, where the current frame time is a time required by the monitored server to generate each frame by connecting to the image application, and the expected frame time is a preset time when the monitored server connects to the image application to generate each frame.
After the memory occupation ratio of the CPU in the first time range of the monitored server is calculated, if it is determined that the memory occupation ratio of the CPU is greater than or equal to a preset memory occupation ratio threshold, the number of exceeding times is updated, specifically, the number of exceeding times may be updated based on the number of times that the memory occupation ratio is greater than or equal to the preset memory occupation ratio threshold, and when the number of exceeding times is greater than or equal to the preset number of times threshold, the function statistical file in a certain time range is triggered to be recorded, that is, when the number of exceeding times is greater than or equal to the preset number of times threshold, the call information of the server to the function in the second time range may be recorded from the current time, and the function statistical file is generated based on the call information to the function. In one embodiment, the second time range may be, for example, 10 minutes.
After the monitored server generates the function statistics file, it may determine a log file (log file) corresponding to a process of generating the function statistics file, and push the generated function statistics file and the corresponding log file to the analysis server, where a schematic flow diagram of the monitored server in pushing the function statistics file and the corresponding log file to the analysis server may be as shown in fig. 5b, and the method specifically includes the steps of:
s21, detecting whether a new function statistic file is generated in a third time range;
s22, if yes, obtaining the log file corresponding to the new function statistic file, and pushing the function statistic file and the corresponding log file to an analysis server.
In steps s 21-s 22, the third time range may be, for example, 5 minutes, and if the server does not detect a new function statistics file in the third time range, it is detected whether a new function statistics file is generated when the next third time range arrives.
And S403, if the function statistic file included in the target monitoring file is detected to be an unanalyzed file, the analysis server sends the function statistic file to an analysis server, and analyzes the log file in the target monitoring file.
In one embodiment, the target monitoring file records: the method comprises the steps that a monitored server is connected with an image application to generate function call information of each frame of image in a target monitoring period, and the function call information recorded by a target monitoring file can represent the logic performance of the monitored server when the monitored server is connected with the image application to generate a target image frame, wherein the target monitoring file is determined according to a target image frame selected by a performance viewing instruction received from a user interface.
After receiving the function statistic file and the log file uploaded by the monitored server, the analysis server may associate the received function statistic file and the log file as a monitoring file. Further, a file status of the monitoring file may be determined. Specifically, the analysis server may determine the file status of the monitoring file by monitoring the file status of the function statistical file in the monitoring file, where the file status includes an analyzed status and an unanalyzed status.
When the analysis server determines that the function statistic file in the target monitoring file is a file in an unanalyzed state, the analysis server may send the function statistic file to an analysis server, so that the analysis server analyzes the function statistic file to obtain function call information, and step S404 is performed.
In an embodiment, when the parsing server parses the function statistics, the parsing server may parse the function statistics file based on the optimized UFE to obtain function call information, where the function call information is a function name called by the monitored server and a call performance parameter corresponding to the function name when the monitored server connects to an image application to generate a target image frame in a target monitoring period, where the call performance parameter includes: and one or more items of time consumption, call occupation ratio and call times corresponding to each call function.
Meanwhile, the analysis server can analyze the log file corresponding to the function statistical file in an unanalyzed state in the target monitoring file to obtain the log information in the log file. In one embodiment, the log information records server information of a monitored server, where the server information includes memory information of the monitored server, and if an image application connected to the monitored server is a game application, the log information further includes game indication information when the monitored server is connected to the game application, where the game indication information includes: game scene information, game player information, game map information, and the like.
After the analysis server analyzes the log file to obtain log information, the log information may be stored in a storage system, where the storage system may be an internal storage system of the analysis server or an external storage system of the analysis server, the external storage system may be a relational database management system (Mysql), and the analysis server may store the log information obtained through analysis into the Mysql through a network process based on a Hypertext Preprocessor (PHP).
S404, the analysis server receives the function call information obtained by analyzing the function statistic file by the analysis server.
After the parsing server parses the unresolved function statistics file, function call information obtained by parsing the function statistics file may be sent to an analysis server, so that the analysis server may determine the logic performance of the monitored server based on the function call information included in the function statistics file. After receiving the function call information which is sent by the analysis server and used for indicating the logic performance of the monitored server, the analysis server may further store the function call information and the corresponding log file in the target monitoring file in an associated manner, that is, execute step S405.
S405, the analysis server stores the received function call information and the log information obtained by analyzing the log file in the target monitoring file.
After obtaining the function call information and the log information, the analysis server may store the function call information and the log information in a target monitoring file, and further, may store the target monitoring file in Mysql or its own storage system, so that when the analysis server receives a performance view instruction of a user interface, the analysis server obtains, from the target monitoring file, the function call information that is supported and operated by the monitoring server and is applied to render the target image frame based on a target image frame selected by the performance view instruction.
S406, the analysis server sends image operation data to the user terminal, wherein the image operation data comprises: and in the process of connecting the image application, generating frame rate information corresponding to each frame of image generated in the target monitoring period.
S407, the analysis server receives a performance checking instruction sent by the user terminal, and determines a target image frame selected by the performance checking instruction, wherein the performance checking instruction is generated when user operation is received on a user interface after image operation data including frame rate information is displayed on the user interface of the user terminal.
S408, the analysis server determines indication information when the monitored server is connected with the image application to generate the target image frame from a target monitoring file according to the target image frame, and sends the indication information to the user terminal.
In an embodiment, the detailed implementation of steps S406 to S408 can refer to the descriptions of steps S201 to S203 in the above embodiment, and is not described herein again.
In one embodiment, the target monitoring file comprises: the function statistical file records function call information when the server is connected with image application to generate each frame of image in the target monitoring period, the log file comprises log information, and the log information records server information of the monitored server.
S409, the analysis server determines analysis data according to preset analysis indexes, the function call information and the log information.
S410, the analysis server generates a notification message according to the analysis data, wherein the notification message is used for indicating the user terminal to display the analysis data on a corresponding chart display interface.
In steps S409 to S410, the preset analysis index includes: the analysis server generates a notification message according to the analysis data, and the notification message is used for triggering the user terminal to display a chart display interface corresponding to the analysis data after the analysis server sends the analysis data to the user terminal. In one embodiment, the notification message may be generated automatically by the analysis server when the analysis data is sent to the user terminal, or may be generated when an interface display operation sent by the user through the user interface is received.
In one embodiment, when the preset analysis index is an analysis index based on a daily running water, the chart display interface displayed on the user terminal includes: the graph interface of the number of the uploaded monitoring files changing along with the date, the graph interface of the target thread consuming time changing along with the date, the graph interface of the memory occupying amount changing along with the date, the graph interface of the target thread consuming time changing along with the real player, and the graph interface of the monitored server performance changing along with the date; the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
In one embodiment, when the preset analysis index is a version-based analysis index, the graphical display interface displayed on the user terminal includes: the graph interface of which the number of the uploaded monitoring files changes along with the version, the graph interface of which the target thread consumes time and changes along with the version and the graph interface of which the memory occupation amount changes along with the version; or, when the preset analysis index is a scene-based analysis index, the graph display interface displayed at the user terminal includes: the number of the uploaded monitoring files is changed along with the scene, the time consumed by the target thread is changed along with the scene, and the memory occupation amount is changed along with the scene; or, when the preset analysis index is a model-based analysis index, the chart display interface displayed at the user terminal includes: the number of the uploaded monitoring files is changed in a random manner, the target thread consumes time and is changed in a random manner, and the memory occupation amount is changed in a random manner; the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
The analysis server may send a performance summary interface as shown in fig. 6a to the user terminal based on the function call information and the log information, and when the analysis server receives a selection instruction for a performance summary, send a notification message for presenting the performance summary interface on the user interface to the user terminal, and display the performance summary interface by the user terminal, wherein the performance summary interface is generated by the analysis server based on the received monitoring files uploaded by the monitored server in a fourth time range, the performance summary interface mainly summarizes the performance of the monitored server from the time consumption of a target thread (such as a game thread), the memory size, and the number of reported function statistics files, and the fourth time range may be, for example, 7 days or one month, etc., the embodiments of the present invention are not limited. After the performance summary interface is displayed in the user interface, the analysis server can receive a selection instruction for a performance option in the performance summary interface and output detailed content corresponding to the performance option acted by the selection instruction.
In one embodiment, the performance summary interface may compare A, B performance of the monitored server with that of the monitored server of the three different models C when comparing the performance differences of the monitored server based on the different models. The model A can be an M10 model, the model B can be a CG1-10G model, and the model C can be an M10C model. When comparing the time consumed by target threads of monitored servers based on different models and the difference in memory occupation of a CPU, the analysis server mainly compares data of a monitoring file last processed by the analysis server with data of the same day before the last week (i.e., version-to-week ratio), or compares data of a monitoring file last processed by the analysis server with data of a monitoring file of the last operating day of the last version (i.e., version-to-version ratio), where the current version may be, for example, a version of a game application currently supported by the monitoring server, and may be, for example, a version number corresponding to a game X: 0.13.3.7708, the last version may correspond to a version number of the game: 0.13.3.7707 version.
When the analysis index is a daily flow-based analysis index, the analysis information under the daily flow-based analysis index determined based on the function call information and the log information includes: reporting a change curve of the number of the monitoring files along with the date, a change curve of an average (or maximum) target thread along with the date, a change curve of an average (or maximum) physical memory or a virtual memory along with the date, a change curve of the average target thread consumption time along with the number of real persons in the game, and a change curve of the server performance along with the date.
When the analysis server receives a selection instruction for the performance daily running option as shown in fig. 6a, a performance daily running water viewing search interface as shown in fig. 6b may be output, a date range for viewing the performance daily running water may be selected on the daily running water viewing search interface, a scene where the monitored server is connected with the image application for image rendering, an operating model of the monitored server, a version of the operating image application, and the like. After receiving a selection instruction of a user for a screening button, screening out analysis information meeting the user viewing requirement based on the input of the user in the performance daily flow viewing search interface, and outputting the analysis information to a user interface, wherein the analysis information comprises: for example, the change curve of the number of reported monitoring files with date as shown in fig. 6c, the change curve of the time consumption data of the target thread with date as shown in fig. 6d, the change curve of the memory with date as shown in fig. 6e, the change curve of the time consumption of the target thread with the number of live players in the game as shown in fig. 6f, and the change curve of the performance of the server with date as shown in fig. 6g may be one or more. In an embodiment, the output variation curves shown in fig. 6c to 6g may be output to the same user interface corresponding to the user terminal, or may be output to different user interfaces, which is not limited in the embodiment of the present invention.
The curve of the number of reported monitoring files with date shown in fig. 6c is used to reflect the number of monitoring files reported to the analysis server at different times on the basis of all scenes, all models of running machines, and all running versions of the monitored server connected to the image application for image rendering, where the greater the number of reported monitoring files is, the greater the number of times of performance failures (e.g., stutter) of the monitored server at the corresponding time is considered. The time-consumption data of the target thread according to the time-consumption curve of the target thread shown in fig. 6d is based on the average time-consumption of the target thread or the maximum time-consumption of the target thread at different times based on all scenes, all running machine models and all running versions of the monitored server for image rendering, wherein fig. 6d reflects the average time-consumption curve of the target thread according to the time-consumption data of the target thread, and a user can switch to view the maximum time-consumption of the target thread according to the time-consumption by clicking an "average/maximum value" switch button in a graph, wherein the larger the average time-consumption or maximum time-consumption of the target thread, the larger the function called by the target thread is likely to affect the performance of the monitored server for connecting with the image application to run.
The memory versus date curve shown in fig. 6e is used to reflect: the physical memory and the virtual memory have all scenes that the monitored server is connected with the image application for image rendering, and occupy the memory size at different times on the basis of all running machine models and all running versions, wherein the larger the occupied memory value is, the larger the influence on the performance of the monitored server at the corresponding time can be considered, and the same fig. 6e reflects an average time consumption curve of the memory changing with the date, and the maximum time consumption curve of the memory changing with the date can be switched and checked by clicking an "average/maximum value" switching button in the graph. The change curve of the target thread time consumption data with the number of real persons shown in fig. 6f is used for reflecting the time consumption change of the target thread and the number change of the reported monitoring files when the number of real persons is different on the basis that the monitored server is connected with all scenes for image rendering by the image application, all models of running machines and all running versions, wherein when the time consumption of the target thread is larger and/or the number of the reported monitoring files is larger, the influence of the number of corresponding real persons on the performance of the server can be considered to be larger.
Fig. 6g shows a variation curve of server performance with date, which is used to reflect the performance of the monitored server at different times based on all scenes of image rendering by the monitored server connected to the image application, all running machine models and all running versions. In one embodiment, the performance of the monitored servers may be selected from: the number of game rooms borne by the monitored server, the development set load coefficient, the whole processor of the monitored server, one or more items of the whole memory of the monitored server and the number of the existing players of the monitored server are determined, in one embodiment, the calculation can be performed based on a preset calculation formula when the development set load coefficient is calculated, and the calculation formula is as follows: the game _ count _ one _ room _ load + player _ count _ 2+ ai _ count, wherein the game _ count represents the number of games, the one _ room _ load represents the load of one game room, the player _ count has the number of real players, and the ai _ count represents the number of virtual players.
In one embodiment, when the analysis server receives a selection instruction for a version analysis option as shown in fig. 6a, a version analysis interface may be output to the user terminal and displayed in the user interface, where the output version analysis interface includes a version analysis summary as shown in fig. 7a, and the version analysis summary interface includes a currently running version X of an image application connected to the monitored server, a number (data amount) of detection files uploaded when the currently running version X is connected to run, and a running status of the currently running version X, where a version number of the currently running version may be 0.13.5.7720, for example, and describes data amounts uploaded by three versions of the image application recently connected to the monitored server, and corresponding running statuses, where the version numbers of the three recent versions include: version Y, the corresponding version number may be 0.13.5.7719; version Z, the corresponding version number may be 0.13.5.7719. The data volume a uploaded by the version X may be 757, for example, and the corresponding running state is an operating state; the data volume b uploaded by the version Y may be 33, for example, and the running status thereof is an offline status; the amount of data c uploaded by version Z may be 72, for example, with the running status being down. In one embodiment, the performance of the monitored server when running the version can be determined according to the data volume uploaded by the version number corresponding to the image application connected with the monitored server. In addition, the version analysis summary interface further comprises a time-consuming average value of the target thread under different versions.
In an embodiment, the output version analysis interface further includes a variation curve of the number of reported monitoring files with the version as shown in fig. 7B, where the variation curve of the number of reported monitoring files with the version is used to reflect the number of monitoring files reported to the analysis server when a monitored server (e.g., a model B) of a specified model is connected to image applications of different versions to render images of all scenes, and when the number of reported monitoring files is more, it can be considered that the number of times of stutter of the monitored server is more when the corresponding version is connected to the monitored server of the specified model. The output version analysis interface further includes a trend of the target thread time consumption data (including average time consumption data and maximum time consumption data) with the version as shown in fig. 7c, and a trend of the memory with the version as shown in fig. 7d, which specifically describes a trend of the physical/virtual memory average value with the version and a trend of the physical/virtual memory maximum value with the version.
In one embodiment, when the display instruction for the analysis index received by the analysis server is: when a selection instruction for a scene analysis indicator is selected in the user interface shown in fig. 6a, analysis information based on the scene analysis indicator shown in fig. 8a may be output, where the interface also includes a scene analysis summary, a change curve of the number of the monitoring files with the scene is reported, a change trend of target thread time-consuming data (including average time-consuming data and maximum time-consuming data) with the scene, and a change trend of the memory with the scene. In one embodiment, the scenario may be, for example, one or more of a training scenario during game play, or a competition scenario.
In one embodiment, when the display instruction for the analysis instruction received by the analysis server is an analysis instruction for a model of the monitored server selected in the user interface, the analysis information of at least one dimension when the analysis index is model analysis may also be output. Wherein, when the analysis index is model analysis, the analysis information of at least one dimension includes: reporting the change trend of the random type of the number of the monitoring files, the change trend of the time-consuming random type of the target thread, the change trend of the random type of the memory and the change trend of the random type of the server performance.
In an embodiment, the analysis server may further determine, according to the average consumed time of the target thread calculated by the monitoring file, a monitoring file whose average consumed time of the target thread is greater than or equal to a preset consumed time threshold, and generate an alarm list based on the monitoring file, where the preset consumed time threshold may be, for example, 80ms or 100ms, and when the analysis server receives a selection instruction for the alarm list in the user interface shown in fig. 6a, the alarm list shown in fig. 8b may be output, and a test name of the monitoring file whose average consumed time of the target thread is greater than or equal to the preset consumed time threshold is displayed in the alarm list, where the test name may be, for example, an association ID when the analysis server stores the log file and the function statistics file in an association manner. When the analysis server receives a selection instruction for viewing details of an operation item in the alarm list shown in fig. 8b, the analysis server may read log information from a log file and send the log information to a user terminal, and when a performance viewing instruction sent by the user terminal is received, the obtained log information is read in a log display area corresponding to a user interface of the user terminal, and in one embodiment, the log information in the log file may be displayed in a log file display area of a user interface shown in fig. 8c, and the displayed log information includes: one or more of memory information, test information, server information, game information, and frame rate information. In the lower part of fig. 8c, a summary interface of the performance report as shown in fig. 3a may be output.
In one embodiment, the user may select one monitoring file as the baseline file and one or more monitoring files as the comparison files based on the alarm list shown in fig. 8b, as described in fig. 8d, if the analysis server determines that the first monitoring file is selected as the baseline file and the second and third monitoring files are selected as the comparison files, the comparison result of the global function time consumption between the baseline file and the comparison files may be output in response to the comparison instruction of the user at the user interface shown in fig. 8d, and the comparison result includes a function newly added to the comparison files compared to the baseline file, a time consumption comparison difference of the same function, a calling number comparison difference, and the like.
In the embodiment of the invention, the analysis server can associate the function statistic file and the log file sent by the monitored server into the monitoring file, if the target monitoring file is detected not to be analyzed, the function statistic file included in the target monitoring file is sent to an analysis server, the log file in the target monitoring file is analyzed, after receiving the function call information obtained by parsing the unresolved function statistics file by the parsing server, the function call information and the log information obtained by parsing the log file may be stored in a target monitoring file, so that it can send image operation data to the user terminal, and receive the performance checking instruction from the user terminal, and after determining the selected target image frame based on the performance checking instruction, and determining indication information of logic performance when the monitored server is connected with the image application to generate the target image frame. Furthermore, the analysis information based on indicating one analysis dimension can be sent to the user terminal, and is displayed in the user interface based on a selection instruction of the user, so that the performance of the monitored server can be visually displayed on the user interface, the performance analysis result can be displayed based on the viewing requirement of the user, the performance analysis efficiency of the monitored server can be improved, and the analysis cost of the monitored server can be effectively saved due to the visual analysis result.
Based on the description of the embodiment of the performance analysis method, the embodiment of the present invention further provides a performance analysis apparatus, which may be a computer program (including program codes) running in the analysis server 11 in the performance analysis system. The performance analysis apparatus may perform the performance analysis method as described in fig. 2 and fig. 4, referring to fig. 9, and includes: a transmitting unit 901, a receiving unit 902 and a determining unit 903.
A sending unit 901, configured to send image running data to a user terminal, where the image running data includes: in the process of connecting image application, frame rate information corresponding to each frame of image generated in a target monitoring period;
a receiving unit 902, configured to receive a performance check instruction sent by the user terminal, and determine a target image frame selected by the performance check instruction, where the performance check instruction is generated when a user operation is received on a user interface after the image operation data including frame rate information is displayed on the user interface of the user terminal;
a determining unit 903, configured to determine, according to the target image frame, indication information when the monitored server connects to the image application to generate the target image frame from a target monitoring file, and send the indication information to the user terminal; wherein the indication information is used for representing the logic performance of the monitored server, and the indication information includes: and the image application corresponds to a group of function call information for each frame of image generated in the target monitoring period.
In one embodiment, the function call information includes: when the monitored server is connected with the image application, the function name of the function called when the target image frame is generated and the calling performance parameter corresponding to the function name; wherein the invoking performance parameters include: and one or more items of the call time consumption, the call time consumption occupation ratio and the call times corresponding to each call function.
In one embodiment, the target monitoring file is generated by recording when the monitored server detects that the service information meets the recording condition in the process of running the image application; the service information includes: the data occupied by the memory, the service resource meeting the recording condition is that: the value indicated by the memory occupation data is greater than or equal to a preset occupation threshold value, or the times that the value indicated by the memory occupation data is greater than or equal to the occupation threshold value exceed a preset time threshold value.
In one embodiment, the target monitoring file comprises: the function statistical file records function call information when the monitored server is connected with the image application to generate each frame of image in the target monitoring time period, the log file comprises log information, and the server information of the monitored server is recorded in the log information.
In one embodiment, the apparatus further comprises: a reading unit 904 and a display unit 905.
A reading unit 904 for: reading the log information from the log file and sending the log information to the user terminal;
a display unit 905, configured to display the read log information in a log file display area corresponding to a user interface of the user terminal when receiving a performance checking instruction sent by the user terminal.
In one embodiment, the apparatus further comprises: a storage unit 906.
The sending unit 901 is further configured to send the function statistics file to an analysis server and analyze a log file in the target monitoring file if it is detected that the function statistics file included in the target monitoring file is an unanalyzed file;
the receiving unit 902 is further configured to receive function call information obtained by analyzing the function statistics file by the analysis server;
a storage unit 906, configured to store the received function call information and log information obtained by parsing the log file in the target monitoring file.
In one embodiment, the apparatus further comprises: a unit 907 is generated.
The determining unit 903 is further configured to determine analysis data according to a preset analysis index, the function call information, and the log information;
a generating unit 907, configured to generate a notification message according to the analysis data, where the notification message is used to instruct the user terminal to display the analysis data on a corresponding graph display interface.
In one embodiment, when the preset analysis index is an analysis index based on a daily running water, the chart display interface displayed on the user terminal includes: the graph interface of the number of the uploaded monitoring files changing along with the date, the graph interface of the target thread consuming time changing along with the date, the graph interface of the memory occupying amount changing along with the date, the graph interface of the target thread consuming time changing along with the real player, and the graph interface of the monitored server performance changing along with the date;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
In one embodiment, when the preset analysis index is a version-based analysis index, the graphical display interface displayed on the user terminal includes: the graph interface of which the number of the uploaded monitoring files changes along with the version, the graph interface of which the target thread consumes time and changes along with the version and the graph interface of which the memory occupation amount changes along with the version;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
In one embodiment, when the preset analysis index is a scene-based analysis index, the graphical display interface displayed on the user terminal includes: the number of the uploaded monitoring files is changed along with the scene, the time consumed by the target thread is changed along with the scene, and the memory occupation amount is changed along with the scene;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
In one embodiment, when the preset analysis index is a model-based analysis index, the chart display interface displayed on the user terminal includes: the number of the uploaded monitoring files is changed in a random manner, the target thread consumes time and is changed in a random manner, and the memory occupation amount is changed in a random manner;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
In this embodiment of the present invention, when the receiving unit 901 receives a performance viewing instruction sent by a user terminal, the determining unit 903 may determine a target image frame selected by the performance viewing instruction based on frame rate information displayed on a user interface, so that indication information indicating the logical performance of a monitored server when the monitored server generates the target image frame when being connected to an image application may be acquired from a target monitoring file based on the determined target image frame, and may display the indication information in the user interface to reflect the performance of the monitored server when being connected to the image application. The analysis server intuitively displays the image running data when the monitored server is connected with the image application and the indication information when the image application is connected with the image application to generate the target image frame to the user interface, the readability of the performance analysis result of the monitored server is enhanced and the readability of the performance data is performed on the performance, and the indication information directly displayed on the user interface and representing the monitored server is used, so that technicians do not need to manually perform secondary analysis on the test data, the performance of the monitored server can be directly determined based on the displayed indication information, and the efficiency of analyzing the performance of the monitored server when the monitored server is connected with the image application to generate each frame of image is effectively improved.
Fig. 10 is a schematic block diagram of a server according to an embodiment of the present invention, where the server may be the above-mentioned analysis server. The server in the present embodiment as shown in fig. 10 may include: one or more processors 101; one or more input devices 102, one or more output devices 103, and memory 104. The processor 101, the input device 102, the output device 103, and the memory 104 are connected by a bus 105. The memory 104 is used for storing a computer program comprising program instructions, and the processor 101 is used for executing the program instructions stored by the memory 104.
The memory 104 may include volatile memory (volatile memory), such as random-access memory (RAM); the memory 104 may also include a non-volatile memory (non-volatile memory), such as a flash memory (flash memory), a solid-state drive (SSD), etc.; the memory 104 may also comprise a combination of the above types of memory.
The processor 101 may be a Central Processing Unit (CPU). The processor 101 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or the like. The PLD may be a field-programmable gate array (FPGA), a General Array Logic (GAL), or the like. The processor 101 may also be a combination of the above structures.
In the embodiment of the present invention, the memory 104 is configured to store a computer program, the computer program includes program instructions, and the processor 101 is configured to execute the program instructions stored in the memory 104, so as to implement the steps of the corresponding method in the above-described embodiment.
In one embodiment, the processor 101 is configured to call the program instructions to perform:
sending image operation data to a user terminal, wherein the image operation data comprises: in the process of connecting image application, frame rate information corresponding to each frame of image generated in a target monitoring period;
receiving a performance checking instruction sent by the user terminal, and determining a target image frame selected by the performance checking instruction, wherein the performance checking instruction is generated when user operation is received on a user interface after image operation data including frame rate information is displayed on the user interface of the user terminal;
according to a target image frame, determining indication information when a monitored server is connected with the image application to generate the target image frame from a target monitoring file, and sending the indication information to the user terminal; wherein the indication information is used for representing the logic performance of the monitored server, and the indication information includes: and the image application corresponds to a group of function call information for each frame of image generated in the target monitoring period.
In one embodiment, the function call information includes: when the monitored server is connected with the image application, the function name of the function called when the target image frame is generated and the calling performance parameter corresponding to the function name;
wherein the invoking performance parameters include: and one or more items of the call time consumption, the call time consumption occupation ratio and the call times corresponding to each call function.
In one embodiment, the target monitoring file is generated by recording when the monitored server detects that the service information meets the recording condition in the process of running the image application;
the service information includes: the data occupied by the memory, the service resource meeting the recording condition is that: the value indicated by the memory occupation data is greater than or equal to a preset occupation threshold value, or the times that the value indicated by the memory occupation data is greater than or equal to the occupation threshold value exceed a preset time threshold value.
In one embodiment, the target monitoring file comprises: the function statistical file records function call information when the monitored server is connected with the image application to generate each frame of image in the target monitoring time period, the log file comprises log information, and the server information of the monitored server is recorded in the log information.
In one embodiment, the processor 101 is configured to call the program instructions to perform:
reading the log information from the log file and sending the log information to the user terminal;
and when a performance checking instruction sent by the user terminal is received, displaying the read log information in a log file display area corresponding to a user interface of the user terminal.
In one embodiment, the processor 101 is configured to call the program instructions to perform:
if the function statistic file included in the target monitoring file is detected to be an unanalyzed file, sending the function statistic file to an analysis server, and analyzing a log file in the target monitoring file;
receiving function call information obtained by analyzing the function statistical file by the analysis server;
and storing the received function call information and the log information obtained by analyzing the log file in the target monitoring file.
In one embodiment, the processor 101 is configured to call the program instructions to perform:
determining analysis data according to preset analysis indexes, the function call information and the log information;
and generating a notification message according to the analysis data, wherein the notification message is used for indicating the user terminal to display the analysis data on a corresponding chart display interface.
In one embodiment, when the preset analysis index is an analysis index based on a daily running water, the chart display interface displayed on the user terminal includes: the graph interface of the number of the uploaded monitoring files changing along with the date, the graph interface of the target thread consuming time changing along with the date, the graph interface of the memory occupying amount changing along with the date, the graph interface of the target thread consuming time changing along with the real player, and the graph interface of the monitored server performance changing along with the date;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
In one embodiment, when the preset analysis index is a version-based analysis index, the graphical display interface displayed on the user terminal includes: the graph interface of which the number of the uploaded monitoring files changes along with the version, the graph interface of which the target thread consumes time and changes along with the version and the graph interface of which the memory occupation amount changes along with the version;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
In one embodiment, when the preset analysis index is a scene-based analysis index, the graphical display interface displayed on the user terminal includes: the number of the uploaded monitoring files is changed along with the scene, the time consumed by the target thread is changed along with the scene, and the memory occupation amount is changed along with the scene;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
In one embodiment, when the preset analysis index is a model-based analysis index, the chart display interface displayed on the user terminal includes: the number of the uploaded monitoring files is changed in a random manner, the target thread consumes time and is changed in a random manner, and the memory occupation amount is changed in a random manner;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
While the invention has been described with reference to a number of embodiments, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (13)
1. A method of performance analysis, comprising:
sending image operation data to a user terminal, wherein the image operation data comprises: in the process of connecting image application, frame rate information corresponding to each frame of image generated in a target monitoring period;
receiving a performance checking instruction sent by the user terminal, and determining a target image frame selected by the performance checking instruction, wherein the performance checking instruction is generated when user operation is received on a user interface after image operation data including frame rate information is displayed on the user interface of the user terminal;
according to the target image frame, determining indication information when a monitored server is connected with the image application to generate the target image frame from a target monitoring file, and sending the indication information to the user terminal; wherein the indication information is used for representing the logic performance of the monitored server, and the indication information includes: function call information recorded in the target monitoring file, wherein each frame of image generated by the image application in the target monitoring period corresponds to a group of function call information; if the function statistic file included in the target monitoring file is detected to be an unanalyzed file, sending the function statistic file to an analysis server, and analyzing a log file in the target monitoring file; receiving function call information obtained by analyzing the function statistical file by the analysis server; and storing the received function call information and the log information obtained by analyzing the log file in the target monitoring file.
2. The method of claim 1, wherein the function call information comprises: when the monitored server is connected with the image application, the function name of the function called when the target image frame is generated and the calling performance parameter corresponding to the function name;
wherein the invoking performance parameters include: and one or more items of the call time consumption, the call time consumption occupation ratio and the call times corresponding to each call function.
3. The method according to claim 1 or 2, wherein the target monitoring file is generated by recording when the monitored server detects that the service information meets the recording condition in the process of connecting the image application;
the service information includes: the data are occupied by the memory, and the service resource meeting the recording condition means that: the value indicated by the memory occupation data is greater than or equal to a preset occupation threshold value, or the times that the value indicated by the memory occupation data is greater than or equal to the occupation threshold value exceed a preset time threshold value.
4. The method of claim 1, wherein the target monitoring file comprises: the function statistical file records function call information when the monitored server is connected with the image application to generate each frame of image in the target monitoring time period, the log file comprises log information, and the server information of the monitored server is recorded in the log information.
5. The method of claim 4, wherein the method further comprises:
reading the log information from the log file and sending the log information to the user terminal;
and when a performance checking instruction sent by the user terminal is received, displaying the read log information in a log file display area corresponding to a user interface of the user terminal.
6. The method of claim 1, wherein the method further comprises:
determining analysis data according to preset analysis indexes, the function call information and the log information;
and generating a notification message according to the analysis data, wherein the notification message is used for indicating the user terminal to display the analysis data on a corresponding chart display interface.
7. The method of claim 6,
when the preset analysis index is an analysis index based on daily running water, the chart display interface displayed on the user terminal comprises: the graph interface of the number of the uploaded monitoring files changing along with the date, the graph interface of the time consumption of the target thread changing along with the date, the graph interface of the memory occupation amount changing along with the date, the graph interface of the time consumption of the target thread changing along with the real player, and the graph interface of the performance of the monitored server changing along with the date;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
8. The method of claim 6,
when the preset analysis index is a version-based analysis index, the chart display interface displayed on the user terminal includes: the graph interface of which the number of the uploaded monitoring files changes along with the version, the graph interface of which the target thread consumes time and changes along with the version and the graph interface of which the memory occupation amount changes along with the version;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
9. The method of claim 6,
when the preset analysis index is the scene-based analysis index, the chart display interface displayed on the user terminal comprises: the number of the uploaded monitoring files is changed along with the scene, the time consumed by the target thread is changed along with the scene, and the memory occupation amount is changed along with the scene;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
10. The method of claim 6,
when the preset analysis index is a model-based analysis index, the chart display interface displayed at the user terminal includes: the number of the uploaded monitoring files is changed in a random manner, the target thread consumes time and is changed in a random manner, and the memory occupation amount is changed in a random manner;
the target thread consuming time is determined based on the function call information, and the memory occupation amount is determined based on the log information.
11. A performance analysis apparatus, comprising:
a sending unit, configured to send image operation data to a user terminal, where the image operation data includes: in the process of connecting image application, frame rate information corresponding to each frame of image generated in a target monitoring period;
a receiving unit, configured to receive a performance check instruction sent by the user terminal, and determine a target image frame selected by the performance check instruction, where the performance check instruction is generated when a user operation is received on a user interface after image operation data including frame rate information is displayed on the user interface of the user terminal;
the determining unit is used for determining the indicating information when the monitored server is connected with the image application to generate the target image frame from a target monitoring file according to the target image frame and sending the indicating information to the user terminal; wherein the indication information is used for representing the logic performance of the monitored server, and the indication information includes: function call information recorded in the target monitoring file, wherein each frame of image generated by the image application in the target monitoring period corresponds to a group of function call information; if the function statistic file included in the target monitoring file is detected to be an unanalyzed file, sending the function statistic file to an analysis server, and analyzing a log file in the target monitoring file; receiving function call information obtained by analyzing the function statistical file by the analysis server; and storing the received function call information and the log information obtained by analyzing the log file in the target monitoring file.
12. A server comprising a processor and a storage device, the storage device being configured to store computer program instructions, the processor being configured to execute the program instructions to implement the method of any one of claims 1-10.
13. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program comprising program instructions that, when executed by a processor, cause the processor to carry out the method according to any one of claims 1-10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910333280.0A CN110162451B (en) | 2019-04-22 | 2019-04-22 | Performance analysis method, performance analysis device, server and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910333280.0A CN110162451B (en) | 2019-04-22 | 2019-04-22 | Performance analysis method, performance analysis device, server and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110162451A CN110162451A (en) | 2019-08-23 |
CN110162451B true CN110162451B (en) | 2022-03-25 |
Family
ID=67639784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910333280.0A Active CN110162451B (en) | 2019-04-22 | 2019-04-22 | Performance analysis method, performance analysis device, server and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110162451B (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753407A (en) * | 2018-12-10 | 2019-05-14 | 福建网能科技开发有限责任公司 | Printer modes monitoring method based on snmp protocol |
CN110943886B (en) * | 2019-11-29 | 2021-11-02 | 新华三技术有限公司 | Performance data transmission method and device |
CN111339048A (en) * | 2020-02-28 | 2020-06-26 | 京东数字科技控股有限公司 | Cache reading amount adjusting method and device, electronic equipment and storage medium |
CN111401239B (en) * | 2020-03-16 | 2021-04-20 | 科大讯飞(苏州)科技有限公司 | Video analysis method, device, system, equipment and storage medium |
CN112685269A (en) * | 2020-12-21 | 2021-04-20 | 北京达佳互联信息技术有限公司 | Data acquisition method and device, electronic equipment and storage medium |
CN112988482B (en) * | 2021-02-08 | 2023-12-12 | 网易(杭州)网络有限公司 | Server operation management method, device, terminal, server and storage medium |
CN113360343B (en) * | 2021-06-15 | 2022-08-16 | 网易(杭州)网络有限公司 | Method and device for analyzing memory occupation condition, storage medium and computer equipment |
CN115706769A (en) * | 2021-08-09 | 2023-02-17 | 哲库科技(上海)有限公司 | Data transmission control method and related device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105116842A (en) * | 2015-07-13 | 2015-12-02 | 华中科技大学 | Fault data visualization analysis method based on numerical control system log |
CN106802935A (en) * | 2016-12-29 | 2017-06-06 | 腾讯科技(深圳)有限公司 | The method of testing and device of a kind of page fluency |
CN107783886A (en) * | 2016-08-25 | 2018-03-09 | 平安科技(深圳)有限公司 | A kind of method and terminal for obtaining operation frame per second |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9841980B2 (en) * | 2008-04-25 | 2017-12-12 | Microsoft Technology, LLC | Extensible and application-adaptable toolbar for web services |
US9772919B2 (en) * | 2013-03-14 | 2017-09-26 | Accenture Global Services Limited | Automation of D-bus communication testing for bluetooth profiles |
CN108984371A (en) * | 2017-07-12 | 2018-12-11 | 北京视联动力国际信息技术有限公司 | A kind of performance display methods, device and electronic equipment |
CN109104638B (en) * | 2018-08-03 | 2021-05-25 | Oppo广东移动通信有限公司 | Frame rate optimization method, device, terminal and storage medium |
-
2019
- 2019-04-22 CN CN201910333280.0A patent/CN110162451B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105116842A (en) * | 2015-07-13 | 2015-12-02 | 华中科技大学 | Fault data visualization analysis method based on numerical control system log |
CN107783886A (en) * | 2016-08-25 | 2018-03-09 | 平安科技(深圳)有限公司 | A kind of method and terminal for obtaining operation frame per second |
CN106802935A (en) * | 2016-12-29 | 2017-06-06 | 腾讯科技(深圳)有限公司 | The method of testing and device of a kind of page fluency |
Also Published As
Publication number | Publication date |
---|---|
CN110162451A (en) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162451B (en) | Performance analysis method, performance analysis device, server and storage medium | |
US9356842B2 (en) | Method and system for browser based, non-intrusive measuring of end-user perceived performance of individual third party resource requests | |
CN109633351B (en) | Intelligent IT operation and maintenance fault positioning method, device, equipment and readable storage medium | |
CN110990233B (en) | Method and system for displaying SOAR by utilizing Gantt chart | |
CN112256542B (en) | eBPF-based micro-service system performance detection method, device and system | |
CN108197002B (en) | Mobile device non-buried point data statistical method, system, terminal and medium | |
CN111614483A (en) | Link monitoring method and device, storage medium and computer equipment | |
US11310140B2 (en) | Mitigating failure in request handling | |
CN113905249B (en) | Plug flow abnormality detection method and device | |
CN111611140A (en) | Reporting verification method and device of buried point data, electronic equipment and storage medium | |
CN113238930A (en) | Software system testing method and device, terminal equipment and storage medium | |
CN113849330A (en) | Method, equipment and storage medium for monitoring and analyzing application fault reasons | |
CN111143216A (en) | Quality report generation method, quality report generation device, quality report generation equipment and computer readable storage medium | |
CN113867590B (en) | Information processing method and device for list items, electronic equipment and storage medium | |
CN110633165A (en) | Fault processing method, device, system server and computer readable storage medium | |
CN113835961B (en) | Alarm information monitoring method, device, server and storage medium | |
CN112291302B (en) | Internet of things equipment behavior data analysis method and processing system | |
CN113835916A (en) | Ambari big data platform-based alarm method, system and equipment | |
CN113535034A (en) | Fault warning method, device, system and medium | |
CN111611141A (en) | Reporting verification method and device of buried point data, electronic equipment and storage medium | |
CN114168440A (en) | Performance test method, device, equipment and medium for metadata acquisition | |
CN114385387B (en) | Access information generation method and device and computer equipment | |
CN115221022A (en) | Flow monitoring method and device | |
CN113364602B (en) | Method, device and storage medium for triggering page fault alarm | |
CN116069610A (en) | Performance evaluation method and device for mobile application and computer equipment |
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 |