Attribution result display method and device, electronic equipment and storage medium

By displaying the attribution trigger interface and result interface on the client, and displaying the attribution results of multiple indicator dimensions, the problem of difficulty in positioning memory overflow problems in the existing technology is solved, and the troubleshooting efficiency and user experience are improved.

CN120407243APending Publication Date: 2025-08-01BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410132184.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-30
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

The existing technology is difficult to quickly locate the causes of client memory overflow problems, resulting in inefficient inspections and affecting user experience.

Method used

Provide a method for displaying attribution results, which displays attribution results of multiple indicator dimensions by displaying the attribution trigger interface and the attribution result interface, and uses stack data aggregated by type to help quickly locate memory overflow problems.

Benefits of technology

It quickly locates the causes of memory overflow problems, improves the inspection efficiency, and reduces labor consumption and online residence time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407243A_ABST
    Figure CN120407243A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an attribution result display method and device, electronic equipment and a storage medium, the attribution result display method comprises the steps that an attribution triggering interface is displayed, and the attribution triggering interface is a page for triggering degradation attribution of a memory overflow problem; in response to an attribution trigger operation on the attribution trigger interface, displaying an attribution result interface, the attribution result interface displaying attribution results of a plurality of index dimensions causing the memory overflow problem, the stack data to be analyzed of the plurality of index dimensions being stack data aggregated according to types, and the stack data to be analyzed of the plurality of index dimensions being stack data aggregated according to types. The attribution result comprises a result obtained after the stack data to be analyzed is analyzed. According to the method and the device, the problem that the problem is often difficult to quickly position only by checking related data of a certain problem is solved, the attribution results of the multiple index dimensions causing the memory overflow problem are displayed in the attribution result interface by responding to the attribution triggering operation, and the reason of the memory overflow problem is quickly positioned in an auxiliary manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate to computer technology, and in particular, to a method, apparatus, electronic device, and storage medium for displaying attribution results. Background Art

[0002] A client refers to the end corresponding to a server in a computer network and is a software application. A client crash usually refers to the unexpected termination of a software or system, resulting in the program being unable to run properly. There are many reasons for a client crash, such as a crash caused by client memory overflow. Memory overflow may be one of the results of memory degradation. Client memory degradation refers to the situation where the memory usage efficiency of the client decreases or problems occur when the client runs for a long time or processes a large amount of data.

[0003] When dealing with the problem of client memory degradation, data related to specific problems is usually investigated. However, the reasons for client memory degradation are diverse, and it is often difficult to quickly locate the problem by simply investigating the data related to a certain problem. Summary of the Invention

[0004] The present disclosure provides a method, apparatus, electronic device, and storage medium for displaying attribution results to quickly locate the cause of a memory overflow problem.

[0005] In a first aspect, embodiments of the present disclosure provide a method for displaying attribution results, including:

[0006] Displaying an attribution trigger interface, where the attribution trigger interface is a page for triggering a degradation attribution of a memory overflow problem;

[0007] In response to an attribution trigger operation on the attribution trigger interface, displaying an attribution result interface, where the attribution result interface displays attribution results of multiple metric dimensions that cause the memory overflow problem, the stack data to be analyzed for the multiple metric dimensions is stack data aggregated by type, and the attribution result includes the result obtained after analyzing the stack data to be analyzed.

[0008] In a second aspect, embodiments of the present disclosure further provide an apparatus for displaying attribution results, including:

[0009] A first display module for displaying an attribution trigger interface, where the attribution trigger interface is a page for triggering a degradation attribution of a memory overflow problem;

[0010] A second display module, configured to display an attribution result interface in response to an attribution trigger operation on the attribution trigger interface, where the attribution result interface displays attribution results of multiple metric dimensions that cause the memory overflow problem, the data of the stacks to be analyzed for the multiple metric dimensions being the stack data aggregated by type, and the attribution results including the results obtained by analyzing the data of the stacks to be analyzed.

[0011] In a third aspect, an embodiment of the present disclosure further provides an electronic device, where the electronic device includes:

[0012] One or more processing devices;

[0013] A storage device configured to store one or more programs,

[0014] When the one or more programs are executed by the one or more processing devices, the one or more processing devices are caused to implement the attribution result display method provided by the embodiment of the present disclosure.

[0015] In a fourth aspect, an embodiment of the present disclosure further provides a storage medium containing computer-executable instructions, where the computer-executable instructions are used to execute the attribution result display method provided by the embodiment of the present disclosure when executed by a computer processor.

[0016] In the embodiment of the present disclosure, by displaying an attribution trigger interface, where the attribution trigger interface is a page for triggering a degradation attribution of a memory overflow problem; in response to an attribution trigger operation on the attribution trigger interface, an attribution result interface is displayed, where the attribution result interface displays attribution results of multiple metric dimensions that cause the memory overflow problem, the data of the stacks to be analyzed for the multiple metric dimensions being the stack data aggregated by type, and the attribution results including the results obtained by analyzing the data of the stacks to be analyzed, the problem that it is often difficult to quickly locate the problem only by checking the relevant data of a certain problem is solved, and by responding to the attribution trigger operation and displaying the attribution results of multiple metric dimensions that cause the memory overflow problem in the attribution result interface, the cause of the memory overflow problem is assisted in being quickly located. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In combination with the accompanying drawings and with reference to the following specific embodiments, the above and other features, advantages, and aspects of the embodiments of the present disclosure will become more obvious. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic, and the original elements and elements are not necessarily drawn to scale.

[0018] Figure 1 is a flowchart of an attribution result display method provided by an embodiment of the present disclosure;

[0019] Figure 2It is a schematic flowchart of yet another attribution result display method provided by an embodiment of the present disclosure;

[0020] Figure 3 It is a schematic flowchart of an attribution result display provided by an embodiment of the present disclosure;

[0021] Figure 4 It is a schematic flowchart of an attribution result display provided by an embodiment of the present disclosure;

[0022] Figure 5 It is a schematic diagram of an attribution result interface for comparative attribution provided by an embodiment of the present disclosure;

[0023] Figure 6 It is a schematic diagram of an attribution result interface for current version attribution provided by an embodiment of the present disclosure;

[0024] Figure 7 It is a schematic diagram of the structure of an attribution result display device provided by an embodiment of the present disclosure;

[0025] Figure 8 It is a schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure. Detailed Embodiments

[0026] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Instead, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not used to limit the protection scope of the present disclosure.

[0027] It should be understood that the various steps recited in the method embodiments of the present disclosure can be executed in a different order and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this regard.

[0028] As used herein, the term "including" and its variations are open-ended, i.e., "including but not limited to". The term "based on" is "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0029] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependent relationships.

[0030] It should be noted that the modification of "one" and "multiple" mentioned in this disclosure is illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly specified in the context, it should be understood as "one or more".

[0031] The names of the messages or information exchanged between multiple devices in the embodiments of this disclosure are only for illustrative purposes and are not used to limit the scope of these messages or information.

[0032] The reasons for client memory degradation are diverse, such as excessive heap memory, application of super-large objects, excessive number of threads, insufficient virtual memory, etc. Existing technology implementations usually display relevant data for a single problem. To troubleshoot a specific problem, it is necessary to view the performance of different types of data on different platforms and then perform manual comparison and analysis. There is no technical means for quick positioning, which is time-consuming and laborious. Moreover, the longer the problem stays online, the greater the impact on user usage. Therefore, a technical means is needed to automatically attribute from the perspective of overall memory degradation in multiple aspects to assist relevant personnel in quickly positioning the top few core problems, that is, TOP problems.

[0033] Figure 1 It is a schematic flowchart of a method for displaying attribution results provided by an embodiment of this disclosure. The embodiments of this disclosure are applicable to the situation of degradation attribution. This method can be executed by an attribution result display device, which can be implemented in the form of software and / or hardware. Optionally, it is implemented by an electronic device, which can be a mobile terminal, a PC, a server, etc.

[0034] As Figure 1 shown, the method includes:

[0035] S110. Display an attribution trigger interface, where the attribution trigger interface is a page for triggering degradation attribution of a memory overflow problem.

[0036] A memory overflow problem usually means that the memory consumed by a program during operation exceeds the available memory space of the system, resulting in the program being unable to run properly or crashing.

[0037] Degradation attribution can refer to determining the cause of a memory overflow problem. The attribution trigger interface can be regarded as a page for the user to trigger attribution of the memory overflow problem of the client through human-computer interaction operations.

[0038] The attribution trigger interface can be regarded as an interface for triggering attribution of the memory overflow problem generated by the client through human-computer interaction operations.

[0039] This operation displays an attribution trigger interface for the user to trigger degradation attribution to solve the memory overflow problem.

[0040] The content displayed on the attribution trigger interface is not limited. It can be a control or option for user interaction.

[0041] S120: In response to the attribution trigger operation on the attribution trigger interface, display an attribution result interface.

[0042] The attribution result interface displays the attribution results of multiple indicator dimensions that cause the memory overflow problem. The stack data to be analyzed in the multiple indicator dimensions is stack data aggregated by type. The attribution result includes the result obtained after analyzing the stack data to be analyzed.

[0043] The attribution trigger action can be considered as the action that triggers attribution. The method of the action is not limited here. For example, it can be the action of selecting the client version. The attribution result interface can be considered as the interface that displays the attribution results.

[0044] There are no restrictions on the multiple indicator dimensions of memory overflow problems, such as excessive heap memory, oversized object requests, too many threads, and insufficient virtual memory. Among them, excessive heap memory usually refers to the situation where the heap space used for dynamic memory allocation exceeds the expected or reasonable range during the operation of a computer program. Oversized object requests can refer to requests for very large (such as exceeding a set threshold) memory space to create an object. Excessive number of threads means that the number of threads running simultaneously in a program exceeds the expected or reasonable range. Insufficient virtual memory means that the operating system reports that the available virtual memory space is insufficient to meet the memory needs of the program.

[0045] Attribution results can be considered the results of analyzing the causes of memory overflow issues. There are many causes of memory overflow issues, and each cause can be used as an indicator dimension to determine the corresponding attribution results. This allows for multi-dimensional attribution.

[0046] Stack data can refer to data stored in the stack. Attribution results can be the results obtained after analyzing the stack data to be analyzed. The stack data to be analyzed can be data obtained by aggregating stack data by type. The type can be a problem type. For example, different indicator dimensions can have different problem types. Taking the heap memory being too large as an example, the problem types in the heap memory being too large indicator dimension include at least memory leaks and large and small objects. A memory leak occurs when a program allocates memory space but fails to properly release it when it is no longer used, resulting in the memory being unable to be reclaimed. Over time, leaked memory accumulates, causing the heap memory to continue to grow. Large and small object problems occur when very large objects are created in the program, resulting in excessive heap memory usage.

[0047] The technical solution of the embodiment of the present disclosure triggers an attribution interface, where the attribution interface is a page for triggering the degradation attribution of the memory overflow problem; in response to the attribution trigger operation on the attribution interface, an attribution result interface is displayed, and the attribution result interface displays the attribution results of multiple metric dimensions that cause the memory overflow problem. The stack data to be analyzed for the multiple metric dimensions is the stack data aggregated by type, and the attribution result includes the result obtained after analyzing the stack data to be analyzed, which solves the problem that it is often difficult to quickly locate the problem by simply checking the relevant data of a certain problem. By responding to the attribution trigger operation and displaying the attribution results of multiple metric dimensions that cause the memory overflow problem in the attribution result interface, it is possible to assist in quickly locating the cause of the memory overflow problem.

[0048] Based on the above embodiment, a variant embodiment of the above embodiment is proposed. Here, it should be noted that for the sake of brevity of description, only the differences from the above embodiment are described in the variant embodiment.

[0049] In one embodiment, the step of displaying the attribution result interface in response to the attribution trigger operation on the attribution interface includes:

[0050] In response to the attribution trigger operation on the attribution interface, obtain the attribution result of the attribution parameter corresponding to the attribution trigger operation from the cache;

[0051] When the attribution result is obtained, display the attribution result interface including the attribution result.

[0052] The attribution parameter can be considered as the parameter associated with the attribution. The attribution parameter corresponding to the attribution trigger operation can be the parameter set by the attribution trigger operation, such as the attribution method, the version of the client, and the time range of the client version to be analyzed. The attribution method can include current version attribution and comparison attribution. Current version attribution can be considered as analyzing the current version. Comparison analysis is to perform a comparison analysis between two versions.

[0053] In this embodiment, when responding to the attribution trigger operation, it can be determined whether the attribution result of the attribution parameter corresponding to the attribution trigger operation is stored in the cache. If the attribution result is stored, the attribution result can be obtained from the cache, and the attribution result in the cache can be directly displayed in the attribution interface, which improves the speed of displaying the attribution result.

[0054] In one embodiment, the present disclosure further includes:

[0055] When the attribution result is not obtained, determine whether to determine the attribution results of multiple metric dimensions;

[0056] If so, obtain the data to be analyzed of the attribution parameters corresponding to the attribution trigger operation from the storage space; analyze the data to be analyzed to obtain the attribution results of multiple index dimensions; display an attribution result interface including the attribution results;

[0057] If not, query whether the attribution result is determined to be completed. If it is determined to be completed, display an attribution result interface including the attribution result.

[0058] In the case where the attribution result is not stored in the cache, the attribution result cannot be obtained. Therefore, in this embodiment, it can be determined whether the attribution result needs to be determined. Because the determination of the attribution result requires a process. If the determination of the attribution result has been triggered before, it can be determined at this time that there is no need to determine the attribution result again, and only the determination result of the attribution result needs to be waited for. If the attribution result has not been determined before, the operation of determining the attribution result can be executed.

[0059] The cache space can be a control for caching data and can be the local space of an electronic device. The data to be analyzed can be the data to be analyzed. The data to be analyzed can be stored in the storage space. When the determination of the attribution result is triggered, the data to be analyzed can be obtained from the storage space to facilitate the analysis of the data to be analyzed and obtain the attribution results of multiple index dimensions.

[0060] If it is not necessary to determine the attribution results of multiple index dimensions, it can be queried whether the attribution result is determined to be completed. When the attribution result is determined to be completed, the determined attribution result can be obtained and displayed in the attribution result interface.

[0061] In one embodiment, the analyzing the data to be analyzed to obtain the attribution results of multiple index dimensions includes:

[0062] Analyze the data to be analyzed to obtain the attribution results of the thread count index dimension, the memory leak index dimension, and the object application index dimension.

[0063] The thread count index dimension can be considered as the index dimension where too many threads cause memory overflow. The memory leak index dimension can be considered as the index dimension where memory leak causes memory overflow. The object application index dimension can be considered as the index dimension where large object applications cause memory overflow.

[0064] In this embodiment, when analyzing the data to be analyzed, it can be allocated to attribute from the thread count index dimension, the memory leak index dimension, and the object application index dimension to obtain the attribution results of each dimension in the thread count index dimension, the memory leak index dimension, and the object application index dimension.

[0065] In one embodiment, the analyzing the data to be analyzed to obtain the attribution result of the thread count index dimension includes:

[0066] Invoke the interface for obtaining thread-related files from the data to be analyzed, and obtain multiple thread-related files;

[0067] Determine the problem files in the thread-related files and the degradation information corresponding to the problem files;

[0068] Store the degradation information corresponding to the problem files into the cache according to the corresponding keys.

[0069] This embodiment refines the operation of attributing according to the thread count metric dimension. The thread-related files can be files related to threads. The problem files can be files with excessive thread counts, and the degradation information can be the information attributed to the excessive thread counts, such as classes, thread groups, and so files.

[0070] This embodiment can obtain the URLs of multiple thread-related files by invoking the interface for obtaining thread-related files, concurrently download the thread-related files through the URLs, parse the top m thread-related files (also known as problem files), and determine the degradation information.

[0071] The means for determining the problem files in the thread-related files is not limited. For example, the thread-related files can be analyzed to determine the problem files with excessive threads. After determining the problem files, the problem files can be analyzed to determine the degradation information of the problem files, that is, at least one of the classes, thread groups, and so files that cause excessive thread counts. When creating a large number of threads, a large amount of memory resources will be occupied. If not released in time, it will lead to insufficient memory and finally throw an exception.

[0072] The key corresponding to the degradation information can be the key determined based on the attribution parameter corresponding to the attribution trigger operation. Storing the degradation information into the cache based on the key facilitates directly reading from the cache when querying the attribution result based on the attribution parameter next time, improving the data acquisition speed.

[0073] Figure 2 It is a schematic flowchart of another method for displaying attribution results provided by an embodiment of the present disclosure. Figure 2 It also includes the operation of storing data. Refer to Figure 2 The method for displaying attribution results includes the following operations:

[0074] S210. Obtain file data in the case of out-of-memory.

[0075] The file data can be the data obtained from the client in the case of out-of-memory, such as data related to excessive heap memory, large object applications, excessive thread counts, and insufficient virtual memory: stack data, the version of the client, the time range of the analyzed client version, etc.

[0076] When an OutOfMemoryError (OOM) occurs on the client side, data related to excessive heap memory, large or extremely large object applications, excessive number of threads, and insufficient virtual memory will be reported to the system, which can be a system for implementing the display of attribution results. The system can obtain the file data at the time of memory overflow.

[0077] After obtaining the file data, the system can parse, aggregate, and store the file data.

[0078] S220. Parse the file data to obtain the parsed data with problem types.

[0079] After parsing the file data, the problem types associated with the file data can be determined. For example, the problem types existing in the file data are memory leaks and large / small objects.

[0080] After parsing the file data, the associated problem types can be obtained, so that during subsequent aggregation, aggregation can be performed based on the problem types, and the stack data under the same problem type can be aggregated to group problems with the same characteristics together, facilitating attribution based on the stack data to be analyzed.

[0081] The means of parsing the file data to obtain the problem types is not limited. Different problem types correspond to different manifestations of the file data. The file data can be analyzed to determine the problem types that cause memory overflow.

[0082] S230. Aggregate the stack data in the parsed data according to the problem types to obtain the stack data to be analyzed.

[0083] This operation can aggregate the stack data to obtain the stack data to be analyzed. During aggregation, aggregation can be performed according to the problem types, and the stack data under the same problem type can be aggregated to group problems with the same characteristics together, facilitating attribution based on the stack data to be analyzed.

[0084] S240. Store the stack data to be analyzed in a columnar storage distributed database management system.

[0085] After obtaining the stack data to be analyzed, it can be stored in the distributed data management system. During subsequent attribution execution, the required data can be obtained from the distributed database management system.

[0086] S250. Display an attribution trigger interface, which is a page for triggering the degradation attribution of memory overflow problems.

[0087] S260. In response to the attribution trigger operation on the attribution trigger interface, display an attribution result interface.

[0088] In this embodiment, during the data construction phase, the stack data to be analyzed in the case of memory overflow is stored in the distributed database management system, facilitating the acquisition of data during subsequent attribution execution and improving the efficiency of data acquisition.

[0089] Based on the above embodiments, variant embodiments of the above embodiments are proposed. Here, it should be noted that for the sake of brevity of description, only the differences from the above embodiments are described in the variant embodiments.

[0090] In one embodiment, the file data is parsed to obtain parsed data with problem types, including:

[0091] Based on the mapping relationship between codes and symbols in the cache, the file data is converted into codes;

[0092] Redundant information in the codes is removed;

[0093] Based on the codes with redundant information removed, parsed data containing the corresponding problem types is determined.

[0094] In this embodiment, when parsing the file data, the symbols in the file data can be converted into codes. For example, for the symbols in the file data, the mapping relationship between codes and symbols is searched to obtain the corresponding codes. Then, the redundant information in the codes is removed through a pruning strategy. The codes after removing the redundant information can be used to determine the corresponding problem types, so as to obtain the parsed data containing the problem types.

[0095] Figure 3 is a schematic flowchart of the attribution result display provided by an embodiment of the present disclosure. Refer to Figure 3 , in the data construction stage, key information, that is, file data or parsed file data, such as the version of the client, aggregation class, stack data, time of the analyzed client version, memory occupancy size, etc., can be stored in a columnar storage distributed database management system. The data of other data sources, such as thread data, is stored in a file format through a hypertext transfer protocol interface.

[0096] When the user discovers a memory overflow, the system can be triggered to perform attribution. The system automatically analyzes all types of metrics (calculate the proportion, new or deteriorated proportion), gives the classes and / or thread groups and / or SO files where the top 3 problems of each metric data are located, and sorts them in descending order according to the impact proportion, improving the problem discovery and follow-up efficiency.

[0097] The user can operate the attribution trigger interface to select current version attribution or comparison attribution to trigger the attribution process. For the convenience of the user to view, after obtaining the attribution result, the system uses a pie chart to display the distribution information of the deterioration proportion of each dimension, a bar chart to display the comparison data between different versions, a table to display the detailed information of the deterioration of each dimension, and a text in Markdown format to display the summary of this attribution.

[0098] After the user triggers the attribution process, the system will automatically set attribution parameters according to the user's selection, such as current version attribution, comparison attribution, version, time range, etc. After these parameters are automatically set, the attribution strategy generation is completed. The system performs attribution execution for multiple metric dimensions. After obtaining the attribution results for different metric dimensions (excessive heap memory, large object application, excessive number of threads, insufficient virtual memory), the system will integrate various metric results and then return them to the front-end page for display to the user.

[0099] The attribution execution stage mainly retrieves various metric data (such as key information and other data sources) pre-built by the system through various methods (SQL query, HTTP request) and loads them into the server memory, and performs data calculations according to the specified configuration.

[0100] During attribution execution, the attribution results may be frequently obtained. The present disclosure can adopt the method of periodic cache keys. When obtaining the attribution results again within a certain period of time, data (such as attribution results, attribution details) can be obtained from the cache to improve the performance of data acquisition.

[0101] During attribution execution, for availability, some operations are time-consuming calculation tasks, such as thread count calculation. Here, an asynchronous execution, result notification (i.e., notification after determining the attribution result) and cache reading (such as reading the attribution result from the cache) solution is considered to improve the efficiency of users obtaining attribution data.

[0102] The present disclosure is designed based on the factory pattern and strategy pattern in the design pattern, providing extensibility for subsequent access to other scenarios (such as NativeOOM, etc.) and other attribution dimensions (such as model, ROM, etc.), facilitating quick access.

[0103] After the calculation is completed, for specific fine-grained metric reasons, such as memory leaks and large objects under excessive heap memory, the system will obtain the specific impact stack information, memory occupancy, and ranking.

[0104] Data construction is the basis of system attribution and also determines the accuracy and timeliness of system attribution. The storage of various metric data is mainly divided into two methods

[0105] One is that the system has pre-collected the memory data reported by the client during OOM, including stack data, memory occupancy size, etc. The system does the following to it:

[0106] Data parsing: Parsing is mainly used to parse the file data reported by the device. For example, the symbols in the file data are decompiled into recognizable code through the mapping relationship between the cached code and symbols, which improves the efficiency of data acquisition. Pruning is performed through a custom pruning strategy for the code reference chain. For example, certain types of redundant information are discarded to remove redundant information from the code. Memory reuse is carried out in the code to solve the problems of excessive memory consumption and message accumulation.

[0107] Stack aggregation: After parsing, a series of data will be generated, including certain problem types: memory leaks, large and small objects, etc. These data need to be aggregated according to certain rules, and the problems with the same characteristics are aggregated together (the stack data to be analyzed is obtained by aggregating according to the problem type), and the value of using these data will be higher in the future. Taking memory leaks as an example for the aggregation calculation logic, from the object trace (reference chain), an aggregation basis can be found to aggregate the same type of problems together. Custom rules, such as keyword algorithms for middleware classes and general package classes, are used to identify the classes and methods most likely to have problems in the stack data. Middleware classes can be classes acting as middleware. General package classes can be considered as classes acting as general packages.

[0108] Data storage: Key information (such as version, aggregation class, stack information, time, memory occupancy size, etc.) is uniformly formatted and stored in a columnar storage distributed database management system, which greatly improves the efficiency of database aggregation queries and is convenient for adding new fields in the future. For thread information with a large content, it can be uniformly stored in the file system.

[0109] Figure 4 It is a schematic flow diagram of a display of attribution results provided by an embodiment of the present disclosure. Refer to Figure 4 , users can trigger degradation attribution by selecting time, version, etc. through the attribution trigger interface. The time can be the time range during which the client version runs. After triggering the degradation attribution, the key of the attribution result can be determined to facilitate determining whether the key is in the cache. If it is in the cache, the attribution result can be obtained from the cache, and the fine-grained attribution result is integrated and displayed through the attribution result interface. If it is not in the cache, it can be determined whether to execute the acquisition of the attribution result. If not, the front end can query an interface regularly and poll n times to enable the server to query the attribution result. If it is necessary to execute the acquisition of the attribution result, an operation to asynchronously obtain the attribution result is triggered. The attribution metric dimensions can include excessive number of threads, memory leaks, and large object applications, etc. The heap memory is not released or cannot be released by the program for some reason, resulting in waste of system memory, slowdown of program operation speed, and even system crashes. Large object application refers to a Java object that requires a large amount of continuous memory space. Large objects include long strings or arrays with a large number of elements.

[0110] Figure 5It is a schematic diagram of an attribution result interface for contrast attribution provided by an embodiment of the present disclosure. Refer to Figure 5 , the user attribution trigger operation can be to select a contrast attribution control, a baseline version, and a comparison version. The baseline version can be the version used as the baseline package, and the comparison version can be the version used as the comparison package. By comparing and analyzing the baseline version and the comparison version, the deterioration reason of the comparison version is determined. In the attribution result interface, an attribution analysis comparison can be displayed, and the data volume ratios of the baseline version and the comparison version are analyzed from multiple metric dimensions. The data volume ratio can be the ratio of the data volume corresponding to the metric dimension to the data volume in the distributed database management system. The attribution result interface can also include an exception rate, that is, the ratio of the number of exceptions that occur in the comparison package within a set time. The attribution result interface can also include an attribution conclusion, such as the attribution conclusion of the deteriorated metric dimension. The attribution conclusion can be separately displayed from a finer-grained problem type dimension under the metric dimension, and the deteriorated content under each problem type is displayed, such as a class.

[0111] Figure 6 It is a schematic diagram of an attribution result interface for current version attribution provided by an embodiment of the present disclosure. Refer to Figure 6 , the user attribution trigger operation can be to select a current version attribution control, a time, and a version. In the attribution result interface, the exception rate of the current version, the deterioration ratio distribution information of each metric dimension, and the deterioration details information of each metric dimension can be shown.

[0112] Figure 7 It is a schematic diagram of the structure of an attribution result display device provided by an embodiment of the present disclosure. As Figure 7 shown, the device includes:

[0113] A first display module 710, configured to display an attribution trigger interface, where the attribution trigger interface is a page for triggering deterioration attribution of a memory overflow problem;

[0114] A second display module 720, configured to display an attribution result interface in response to an attribution trigger operation on the attribution trigger interface, where the attribution result interface displays the attribution results of multiple metric dimensions that cause the memory overflow problem, the data of the stack to be analyzed in the multiple metric dimensions is the stack data aggregated by type, and the attribution result includes the result obtained after analyzing the data of the stack to be analyzed.

[0115] The technical solution provided by the embodiment of the present disclosure solves the problem that it is often difficult to quickly locate the problem only by checking the relevant data of a certain problem. By responding to the attribution trigger operation and displaying the attribution results of multiple metric dimensions that cause the memory overflow problem in the attribution result interface, it realizes assisting in quickly locating the reason for the memory overflow problem.

[0116] In one embodiment, the second display module 720 is specifically configured to:

[0117] In response to an attribution trigger operation on the attribution trigger interface, obtain the attribution result of the attribution parameter corresponding to the attribution trigger operation from the cache;

[0118] When the attribution result is obtained, display an attribution result interface including the attribution result.

[0119] In one embodiment, the attribution result display device further includes a determination module, including:

[0120] A determination unit, configured to determine whether to determine the attribution results of multiple metric dimensions when the attribution result is not obtained;

[0121] A first acquisition unit, configured to, if so, obtain the data to be analyzed of the attribution parameter corresponding to the attribution trigger operation from the storage space; analyze the data to be analyzed to obtain the attribution results of multiple metric dimensions; display an attribution result interface including the attribution results; if not, query whether the determination of the attribution result is completed, and if it is completed, display an attribution result interface including the attribution result.

[0122] In one embodiment, the first acquisition unit is specifically configured to:

[0123] Analyze the data to be analyzed to obtain the attribution results of the thread count metric dimension, the memory leak metric dimension, and the object application metric dimension.

[0124] In one embodiment, the first acquisition unit is specifically configured to:

[0125] Call the interface for obtaining thread-related files in the data to be analyzed to obtain multiple thread-related files;

[0126] Determine the problem files in the thread-related files and the degradation information corresponding to the problem files;

[0127] Store the degradation information corresponding to the problem files in the cache according to the corresponding keys.

[0128] In one embodiment, the attribution result display device further includes an acquisition module, including:

[0129] A second acquisition unit, configured to obtain file data in the case of memory overflow before displaying the attribution trigger interface;

[0130] An analysis unit, configured to analyze the file data to obtain the analyzed data with problem types;

[0131] An aggregation unit for aggregating the stack data in the parsed data according to the problem type to obtain the stack data to be analyzed;

[0132] A storage unit for storing the stack data to be analyzed in a columnar storage distributed database management system.

[0133] In one embodiment, the parsing unit is specifically configured to:

[0134] Convert the file data into code based on the mapping relationship between the cached code and symbols;

[0135] Remove redundant information from the code;

[0136] Determine the parsed data including the corresponding problem type based on the code with redundant information removed.

[0137] The attribution result display device provided by the embodiments of the present disclosure can execute the attribution result display method provided by any embodiment of the present disclosure, and has corresponding functional modules and beneficial effects for executing the method.

[0138] It should be noted that the various units and modules included in the above device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of mutual distinction and do not limit the protection scope of the embodiments of the present disclosure.

[0139] Figure 8 It is a schematic structural diagram of an electronic device provided by the embodiments of the present disclosure. The following refers to Figure 8 , which shows a schematic structural diagram of an electronic device (such as Figure 8 the terminal device or server in

[0140] The electronic device 500 includes:

[0141] One or more processing devices 501;

[0142] A storage device 508 for storing one or more programs,

[0143] When the one or more programs are executed by the one or more processing devices 501, the one or more processing devices 501 implement the attribution result display method provided by the present disclosure.

[0144] The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablet Computers), PMPs (Portable Multimedia Players), in-vehicle terminals (such as in-vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 8 The electronic device shown is only an example and should not impose any limitation on the functions and usage scope of the embodiments of the present disclosure.

[0145] As Figure 8 shown, the electronic device 500 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 501, which may perform various appropriate actions and processes according to the programs stored in the read-only memory (ROM) 502 or the programs loaded from the storage device 508 into the random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic device 500 are also stored. The processing device 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504. The editing / output (I / O) interface 505 is also connected to the bus 504.

[0146] Generally, the following devices may be connected to the I / O interface 505: an input device 506 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 507 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 508 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 509. The communication device 509 may allow the electronic device 500 to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 8 the electronic device 500 with various devices is shown, it should be understood that it is not required to implement or include all the shown devices. Instead, more or fewer devices may be implemented or included.

[0147] Particularly, according to the embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, the embodiments of the present disclosure include a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes program codes for performing the methods shown in the flowcharts. In such an embodiment, the computer program may be downloaded and installed from the network through the communication device 509, or installed from the storage device 508, or installed from the ROM 502. When the computer program is executed by the processing device 501, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are executed.

[0148] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are for illustrative purposes only and are not used to limit the scope of these messages or information.

[0149] The electronic device provided in the embodiments of the present disclosure and the attribution result display method provided in the above embodiments belong to the same inventive concept. Technical details not described in detail in this embodiment can be referred to in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.

[0150] The embodiments of the present disclosure provide a computer storage medium, on which a computer program is stored. When the program is executed by a processor, it implements the attribution result display method provided in the above embodiments.

[0151] It should be noted that the computer-readable medium in the present disclosure may be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two above.

[0152] The computer storage medium may be a storage medium for computer-executable instructions. When the computer-executable instructions are executed by a computer processor, they are used to execute the method provided in the present disclosure.

[0153] The computer-readable storage medium may be, for example, but not limited to: an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, apparatus, or device. In the present disclosure, the computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which computer-readable program code is carried. Such a propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium may also be any computer-readable medium other than the computer-readable storage medium, and the computer-readable signal medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted by any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0154] In some embodiments, the client and the server can communicate using any currently known or future-developed network protocol such as HTTP (HyperText Transfer Protocol), and can be interconnected with digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include local area networks ("LAN"), wide area networks ("WAN"), the Internet (e.g., the Internet), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or future-developed networks.

[0155] The above computer-readable medium can be included in the above electronic device; or it can exist separately without being assembled into the electronic device.

[0156] The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by the electronic device, the electronic device is caused to:

[0157] The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by the electronic device, the electronic device is caused to: display an attribution trigger interface, where the attribution trigger interface is a page for triggering the degradation attribution of the memory overflow problem;

[0158] In response to an attribution trigger operation on the attribution trigger interface, display an attribution result interface, where the attribution result interface displays the attribution results of multiple metric dimensions that cause the memory overflow problem, and the data of the stack to be analyzed for the multiple metric dimensions is the stack data aggregated by type, and the attribution result includes the result obtained after analyzing the data of the stack to be analyzed.

[0159] Computer program code for performing the operations of the present disclosure can be written in one or more programming languages or combinations thereof. The above programming languages include, but are not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, executed as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., by using an Internet service provider to connect through the Internet).

[0160] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur in a different order than that noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0161] The modules or units described in the embodiments of the present disclosure can be implemented in software or in hardware. Among them, the name of the module or unit does not constitute a limitation on the unit itself in some cases. For example, the first display module can also be described as the "attribution trigger interface display module".

[0162] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that can be used include: Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), Systems on Chip (SOCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0163] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include electrical connections based on one or more wires, portable computer disks, hard disks, Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM or Flash Memory), optical fibers, portable compact disc read only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0164] According to one or more embodiments of the present disclosure,

Example 1

[0165] Display an attribution trigger interface, where the attribution trigger interface is a page for triggering the degradation attribution of the memory overflow problem;

[0166] In response to an attribution trigger operation on the attribution trigger interface, display an attribution result interface. The attribution result interface displays the attribution results of multiple metric dimensions that cause the memory overflow problem. The stack data to be analyzed for the multiple metric dimensions is the stack data aggregated by type, and the attribution results include the results obtained after analyzing the stack data to be analyzed.

[0167] According to one or more embodiments of the present disclosure, [Example 2] provides the method of Example 1. The displaying the attribution result interface in response to an attribution trigger operation on the attribution trigger interface includes:

[0168] In response to an attribution trigger operation on the attribution trigger interface, obtain the attribution result of the attribution parameter corresponding to the attribution trigger operation from the cache;

[0169] When the attribution result is obtained, display an attribution result interface including the attribution result.

[0170] According to one or more embodiments of the present disclosure, [Example 3] provides the method described in Example 2, further including:

[0171] When the attribution result is not obtained, determine whether to determine the attribution results of multiple metric dimensions;

[0172] If so, obtain the data to be analyzed of the attribution parameter corresponding to the attribution trigger operation from the storage space; analyze the data to be analyzed to obtain the attribution results of multiple metric dimensions; display an attribution result interface including the attribution results;

[0173] If not, query whether the determination of the attribution result is completed. If it is completed, display an attribution result interface including the attribution result.

[0174] According to one or more embodiments of the present disclosure, [Example 4] provides the method described in Example 3. The analyzing the data to be analyzed to obtain the attribution results of multiple metric dimensions includes:

[0175] Analyze the data to be analyzed to obtain the attribution results of the thread count metric dimension, the memory leak metric dimension, and the object application metric dimension.

[0176] According to one or more embodiments of the present disclosure, [Example 5] provides the method described in Example 4. Analyzing the data to be analyzed to obtain the attribution result of the thread count metric dimension includes:

[0177] Invoke the interface for obtaining thread-related files in the data to be analyzed, and obtain multiple thread-related files; determine the problem files in the thread-related files and the degradation information corresponding to the problem files;

[0178] Store the degradation information corresponding to the problem files in the cache according to the corresponding keys.

[0179] According to one or more embodiments of the present disclosure, [Example 6] provides the method described in Example 1. Before displaying the attribution trigger interface, it further includes:

[0180] Obtain file data in the case of memory overflow;

[0181] Parse the file data to obtain parsed data with problem types;

[0182] For the stack data in the parsed data, aggregate it according to the problem type to obtain the stack data to be analyzed;

[0183] Store the stack data to be analyzed in a columnar storage distributed database management system.

[0184] According to one or more embodiments of the present disclosure, [Example 7] provides the method described in Example 6. The step of parsing the file data to obtain parsed data with problem types includes:

[0185] Based on the mapping relationship between codes and symbols in the cache, convert the file data into codes;

[0186] Remove redundant information in the codes;

[0187] Based on the codes with redundant information removed, determine the parsed data including the corresponding problem types.

[0188] According to one or more embodiments of the present disclosure, [Example 8] provides an attribution result display device, including:

[0189] A first display module for displaying an attribution trigger interface, where the attribution trigger interface is a page for triggering the degradation attribution of memory overflow problems;

[0190] A second display module for displaying an attribution result interface in response to an attribution trigger operation on the attribution trigger interface. The attribution result interface displays the attribution results of multiple metric dimensions that cause the memory overflow problem. The stack data to be analyzed for the multiple metric dimensions is the stack data aggregated by type, and the attribution result includes the result obtained after analyzing the stack data to be analyzed.

[0191] According to one or more embodiments of the present disclosure, [Example 9] provides an electronic device, where the electronic device includes:

[0192] One or more processing devices;

[0193] A storage device for storing one or more programs,

[0194] When the one or more programs are executed by the one or more processing devices, the one or more processing devices implement the attribution result display method as described in any one of Examples 1-7.

[0195] According to one or more embodiments of the present disclosure, [Example 10] provides a storage medium containing computer-executable instructions that are used to execute the attribution result display method as described in any one of Examples 1-7 when executed by a computer processor.

[0196] The above description is only a preferred embodiment of the present disclosure and an explanation of the applied technical principles. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosure concept. For example, the technical solutions formed by mutually replacing the above features with the (but not limited to) technical features having similar functions disclosed in the present disclosure.

[0197] In addition, although the operations are depicted in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features described in the context of separate embodiments may also be implemented combinatorially in a single embodiment. Conversely, the various features described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments.

[0198] Although the subject matter has been described in language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. On the contrary, the specific features and acts described above are merely example forms for implementing the claims.

Claims

1. A method for displaying attribution results, characterized in that, Including: Display an attribution trigger interface, where the attribution trigger interface is a page for triggering a degradation attribution of a memory overflow problem; In response to an attribution trigger operation on the attribution trigger interface, display an attribution result interface, where the attribution result interface displays the attribution results of multiple metric dimensions that cause the memory overflow problem, and the to-be-analyzed stack data of the multiple metric dimensions is stack data aggregated by type, and the attribution result includes the result obtained after analyzing the to-be-analyzed stack data.

2. The method according to claim 1, characterized in that The step of, in response to an attribution trigger operation on the attribution trigger interface, displaying an attribution result interface includes: In response to an attribution trigger operation on the attribution trigger interface, obtain the attribution result of the attribution parameter corresponding to the attribution trigger operation from the cache; When the attribution result is obtained, display an attribution result interface including the attribution result.

3. The method according to claim 2, characterized in that It further includes: When the attribution result is not obtained, determine whether to determine the attribution results of multiple metric dimensions; If so, obtain the to-be-analyzed data of the attribution parameter corresponding to the attribution trigger operation from the storage space; Analyze the to-be-analyzed data to obtain the attribution results of multiple metric dimensions; display an attribution result interface including the attribution results; If not, query whether the determination of the attribution result is completed. If it is completed, display an attribution result interface including the attribution result.

4. The method according to claim 3, wherein The step of analyzing the to-be-analyzed data to obtain the attribution results of multiple metric dimensions includes: Analyze the to-be-analyzed data to obtain the attribution results of the thread count metric dimension, the memory leak metric dimension, and the object application metric dimension.

5. The method according to claim 4, characterized in that, The step of analyzing the to-be-analyzed data to obtain the attribution result of the thread count metric dimension includes: Call the interface for obtaining thread-related files in the to-be-analyzed data to obtain multiple thread-related files; Determine the problem files in the thread-related files and the degradation information corresponding to the problem files; Store the degradation information corresponding to the problem files in the cache according to the corresponding keys.

6. The method according to claim 1, characterized in that, Before displaying the attribution trigger interface, it further includes: Obtain file data in the case of a memory overflow; Parse the file data to obtain parsed data with problem types; For the stack data in the parsed data, aggregate it according to the problem type to obtain to-be-analyzed stack data; Store the to-be-analyzed stack data in a columnar storage distributed database management system.

7. The method according to claim 6, wherein The step of parsing the file data to obtain parsed data with problem types includes: Based on the mapping relationship between code and symbols in the cache, convert the file data into code; Remove redundant information in the code; Based on the code with redundant information removed, determine the parsed data including the corresponding problem types.

8. An attribution result display device, characterized in that, Including: A first display module for displaying an attribution trigger interface, where the attribution trigger interface is a page for triggering a degradation attribution of a memory overflow problem; A second display module, configured to display an attribution result interface in response to an attribution trigger operation on the attribution trigger interface, where the attribution result interface displays attribution results of multiple metric dimensions that cause the memory overflow problem, the data of the stacks to be analyzed of the multiple metric dimensions is the stack data aggregated by type, and the attribution result includes a result obtained by analyzing the data of the stacks to be analyzed.

9. An electronic device, characterized in that, The electronic device includes: One or more processing devices; A storage device for storing one or more programs, When the one or more programs are executed by the one or more processing devices, the one or more processing devices implement the attribution result display method according to any one of claims 1-7.

10. A storage medium containing computer-executable instructions, where the computer-executable instructions are used to execute the attribution result display method according to any one of claims 1-7 when executed by a computer processor.