Automatic performance monitoring method and device for vehicle-mounted multimedia application and storage medium

By collecting multi-dimensional performance parameters in real time and launching multiple data acquisition channels in parallel, and performing unified timestamp correlation analysis, the problem of the immediacy and synchronization of data acquisition in in-vehicle multimedia applications is solved, and the accurate, efficient location and automated diagnosis of performance problems are achieved.

CN121996501APending Publication Date: 2026-05-08BEIJING THUNDERSTONE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING THUNDERSTONE TECH CO LTD
Filing Date
2025-12-26
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing technologies struggle to achieve real-time, comprehensive data collection in performance monitoring of in-vehicle multimedia applications, leading to the loss of critical on-site information. Furthermore, the collected data lacks accurate time synchronization and effective correlation, resulting in inefficient problem localization and difficulty in root cause analysis.

Method used

By collecting multi-dimensional performance parameters in real time, the system automatically determines triggering conditions and starts multiple data acquisition channels in parallel to obtain multimodal data. It then performs correlation analysis with a unified timestamp to build a complete chain of evidence for performance events and automatically generates performance analysis reports.

Benefits of technology

It achieves complete capture of system status at moments of performance anomalies, provides a rich and comprehensive data foundation, accurately locates performance bottlenecks, improves analysis efficiency and diagnostic accuracy, and reduces reliance on human experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121996501A_ABST
    Figure CN121996501A_ABST
Patent Text Reader

Abstract

The invention relates to the field of software performance monitoring, and provides an automatic performance monitoring method and device for a vehicle-mounted multimedia application and a storage medium. The method comprises the following steps: collecting multi-dimensional performance parameters of a target application during operation in real time; based on the multi-dimensional performance parameters of the target application during operation, judging whether a preset triggering condition is met or not; when a preset triggering condition is met, automatically starting a plurality of data acquisition channels in parallel to obtain multi-modal data related to the performance event; performing association analysis based on a unified timestamp on the acquired multi-modal data and the multi-dimensional performance parameters to construct a complete data evidence chain of the performance event; and automatically generating a performance analysis report containing performance bottleneck positioning information and optimization suggestions based on the performance event cause and influence range determined by the correlation analysis. According to the technical scheme, accurate and efficient positioning and automatic diagnosis of the vehicle-mounted application performance problem are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of software performance monitoring, and in particular to an automated performance monitoring method, apparatus and storage medium for in-vehicle multimedia applications. Background Technology

[0002] With the rapid development of automotive intelligence and connectivity, in-vehicle intelligent cockpits have become important mobile interactive spaces. The integrated multimedia entertainment applications (such as streaming media, karaoke, games, etc.) are becoming increasingly complex, and the functional and performance requirements are constantly rising. These applications typically involve real-time audio and video processing, graphics rendering, multi-threaded scheduling, and deep interaction with the underlying system. Their stable and smooth operation is directly related to user experience and driving safety.

[0003] Currently, for performance monitoring of such complex applications, the industry typically employs traditional performance analysis tools and methods. These methods may include deploying independent performance counters to collect metrics such as CPU and memory usage, using logging systems to record runtime status, or having testers manually initiate screen recording and log capture for post-event analysis after a suspected problem occurs. These techniques can help locate some performance issues to a certain extent.

[0004] However, the applicant found that the aforementioned existing technical solutions have significant shortcomings when facing applications with high performance and high real-time requirements in the vehicle cockpit environment. First, existing solutions mostly rely on manual observation or simple threshold alarms, making it difficult to automatically and instantly trigger comprehensive on-site data collection the moment performance anomalies occur. This results in the easy loss of valuable first-hand information (e.g., the instantaneous state of a specific thread, the correspondence between user operations and interface responses). Second, the collected performance indicators, system logs, interface displays, and other data are often isolated and fragmented, lacking accurate time synchronization and effective correlation. This makes it difficult for analysts to quickly construct a complete chain of evidence reflecting the full picture of the problem from multi-dimensional data, leading to low efficiency in problem localization and difficulty in root cause analysis. Summary of the Invention

[0005] This application provides an automated performance monitoring method, device, and storage medium for in-vehicle multimedia applications. By automatically triggering multi-dimensional data collection and correlation analysis, it achieves accurate, efficient location and automated diagnosis of performance problems in in-vehicle applications.

[0006] On the one hand, this application provides an automated performance monitoring method for in-vehicle multimedia applications, the method comprising: Real-time collection of multi-dimensional performance parameters of the target application during runtime; Based on the aforementioned multi-dimensional performance parameters, determine whether the preset triggering conditions are met; When the triggering condition is met, multiple data acquisition channels are automatically started in parallel to obtain multimodal data related to performance events; A correlation analysis based on a unified timestamp is performed on the collected multimodal data and the multidimensional performance parameters to construct a complete data evidence chain for the performance event; Based on the causes and impact range of performance events determined by the correlation analysis, a performance analysis report containing performance bottleneck location information and optimization suggestions is automatically generated.

[0007] On the other hand, this application provides an automated performance monitoring device for in-vehicle multimedia applications, the device comprising: The acquisition module is used to collect multi-dimensional performance parameters of the target application in real time during runtime; The judgment module is used to determine whether the preset triggering conditions are met based on the multi-dimensional performance parameters. The acquisition module is used to automatically start multiple data acquisition channels in parallel when the triggering conditions are met, so as to acquire multimodal data related to performance events; The analysis module is used to perform correlation analysis on the collected multimodal data and the multidimensional performance parameters based on a unified timestamp, so as to construct a complete data evidence chain for the performance event; The generation module is used to automatically generate a performance analysis report containing performance bottleneck location information and optimization suggestions based on the causes and impact range of performance events determined by the correlation analysis.

[0008] Thirdly, this application provides an apparatus comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the technical solution of the automated performance monitoring method for the above-described in-vehicle multimedia application.

[0009] Fourthly, this application provides a storage medium storing a computer program, which, when executed by a processor, implements the steps of the above-described automated performance monitoring method for in-vehicle multimedia applications.

[0010] As can be seen from the technical solution provided in this application, on the one hand, by collecting multi-dimensional performance parameters in real time and automatically judging and triggering based on preset conditions, comprehensive data collection can be initiated immediately upon the occurrence of a performance event without manual intervention. This solves the problem of loss of key on-site data caused by response delay in traditional methods, ensuring that the system state at the moment of performance anomaly can be completely captured. On the other hand, by automatically starting multiple data acquisition channels in parallel when the triggering conditions are met, and simultaneously acquiring multi-modal data such as system performance snapshots, interface operation videos, detailed running logs, and thread state sequences, this parallel, multi-dimensional data acquisition mechanism overcomes the shortcomings of the limited perspective of a single data source, providing a rich and comprehensive data foundation for subsequent in-depth analysis. Thirdly, by analyzing the collected multi-modal data and performance parameters... Based on a unified timestamp-based correlation analysis, data from different sources and of different types are precisely aligned and correlated on a unified timeline, thereby constructing a clear and coherent chain of complete data evidence for performance events. This integrates fragmented information and intuitively reveals the causal and temporal relationships between user operations, system responses, resource consumption, and internal thread behavior, aiding in the accurate location of performance bottlenecks. Fourthly, based on the causes and impact scope determined by the correlation analysis, a report containing location information and optimization suggestions is automatically generated. This integrates data collection, correlation analysis, and result output into a complete automated process, reducing over-reliance on the personal experience of analysts and transforming the analysis process from manual, tedious troubleshooting to structured, clearly guided intelligent diagnosis, thereby improving the overall efficiency of performance monitoring and optimization. In summary, the technical solution of this application achieves accurate, efficient location, and automated diagnosis of performance problems in automotive applications by automatically triggering multi-dimensional data collection and correlation analysis. Attached Figure Description

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

[0012] Figure 1 This is a flowchart of an automated performance monitoring method for in-vehicle multimedia applications provided in an embodiment of this application; Figure 2 This is a schematic diagram of the structure of the automated performance monitoring device for in-vehicle multimedia applications provided in the embodiments of this application; Figure 3 This is a schematic diagram of the device provided in the embodiments of this application. Detailed Implementation

[0013] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0014] In this specification, adjectives such as "first" and "second" are used only to distinguish one element or action from another, without necessarily requiring or implying any actual such relationship or order. Where circumstances permit, reference to an element or component or step (etc.) should not be construed as being limited to only one of the elements, components, or steps, but may be one or more of the elements, components, or steps, etc.

[0015] For ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn to actual scale.

[0016] Currently, the industry typically employs traditional performance analysis tools and methods for performance monitoring of complex multimedia entertainment applications (such as streaming media, karaoke, and games) integrated into in-vehicle smart cockpits. These methods may include deploying independent performance counters to collect metrics such as CPU and memory usage, using log systems to record operational status, or having testers manually initiate screen recording and log capture for post-event analysis after a suspected problem occurs. These techniques can help locate some performance issues to a certain extent. However, the applicant has found that the aforementioned existing technical solutions have significant shortcomings when facing applications with high performance and high real-time requirements in the in-vehicle cockpit environment. First, existing solutions mostly rely on manual observation or simple threshold alarms, making it difficult to automatically and instantly trigger comprehensive on-site data collection the moment performance anomalies occur. This results in the easy loss of valuable first-hand information (such as the instantaneous state of a specific thread and the correspondence between user operations and interface responses). Second, the collected performance metrics, system logs, interface displays, and other data are often isolated and fragmented, lacking accurate time synchronization and effective correlation. This makes it difficult for analysts to quickly construct a complete chain of evidence reflecting the full picture of the problem from multi-dimensional data, leading to low efficiency in problem localization and difficulty in root cause analysis.

[0017] To address the aforementioned problems in the prior art, this application proposes an automated performance monitoring method for in-vehicle multimedia applications, the flowchart of which is attached. Figure 1 As shown, the main steps include S101 to S105, which are detailed below: Step S101: Collect multi-dimensional performance parameters of the target application in real time during runtime.

[0018] Existing monitoring methods suffer from limitations such as single data dimensions and narrow perspectives. For example, monitoring only single metrics like CPU or memory cannot comprehensively reflect the overall state of complex applications (e.g., in-vehicle karaoke involving audio processing, video rendering, and user interaction). Even with periodic polling or post-event data retrieval, significant shortcomings remain, including the inability to achieve true real-time performance, the potential to miss instantaneous performance spikes, insufficient data dimensions, and difficulty in forming a global view. To address these issues, this application employs a technique of real-time acquisition of multi-dimensional performance parameters of the target application during runtime. Specifically, this can be achieved through real-time acquisition of process-level CPU usage, memory consumption, UI rendering frame rate, and thread status lists of the target application via system interfaces. The target application could be a multimedia entertainment service such as an in-vehicle karaoke system. This technique forms the data foundation of the entire solution. Real-time acquisition ensures the timeliness of data capture, enabling subsequent immediate triggering, while the multi-dimensional nature of performance parameters ensures comprehensive monitoring, avoiding misjudgments or omissions due to monitoring blind spots.

[0019] Step S102: Based on the multi-dimensional performance parameters of the target application during runtime, determine whether the preset triggering conditions are met.

[0020] As mentioned earlier, relying solely on manual observation to discover performance issues suffers from inefficiency and response delays. For example, manually enabling monitoring based entirely on engineer experience, or using fixed, simple threshold alarms (e.g., sending an email only when CPU exceeds limits), results in slow response times, an inability to handle transient spikes, and high false alarm rates due to simple alarms, leading to alarm fatigue. To transform human experience (or judgment criteria) into preset, executable logical conditions, enabling the system to autonomously detect anomalies, it is possible to determine whether preset triggering conditions are met based on multi-dimensional performance parameters of the target application during runtime. Specifically, determining whether the preset triggering conditions are met can be: detecting whether the process-level CPU utilization of the target application exceeds a utilization threshold, memory usage exceeds a preset memory threshold, the UI rendering frame rate is lower than a preset frame rate threshold, and / or a specific thread state (e.g., frequent blocking) continuously exceeds a set duration threshold, etc. Among them, detecting whether the process-level CPU utilization of the target application exceeds the utilization threshold includes: detecting that the CPU utilization of the main process of the target application exceeds a first utilization threshold; and / or detecting that the CPU utilization of one or more service processes that have communication association with the target application exceeds the corresponding second utilization threshold; and / or detecting that the total CPU utilization of the target application and its associated processes exceeds a third utilization threshold. If any one or more of these multi-dimensional performance parameters (process-level CPU utilization of the target application, memory usage, UI rendering frame rate, and thread state list, etc.) exceed the corresponding threshold, then it is determined that the preset triggering conditions are met.

[0021] Step S103: When the preset triggering conditions are met, multiple data acquisition channels are automatically started in parallel to obtain multimodal data related to performance events.

[0022] Existing methods typically initiate various tools sequentially to collect data after an anomaly is detected, by which time volatile information such as thread states and cached content has already changed. For example, if collection tools are started sequentially after an anomaly is detected (e.g., screen recording first, then log capture, and finally thread checking), the asynchronous data collection leads to misalignment of timelines across data sources, and the system state has already changed during the collection process, compromising the "authenticity" of the situation. To capture a complete and authentic problem situation, this application adopts a solution that automatically initiates multiple data collection channels in parallel when preset trigger conditions are met to obtain multimodal data related to performance events. This parallel mechanism minimizes the total time from triggering to the start of collection, ensuring a high degree of temporal synchronization among various types of data. The multimodal attributes of the performance event-related data record the situation from multiple perspectives, including system performance (snapshot), user perspective (screen recording), code logic (logs), and internal scheduling (threads), providing comprehensive material for building a chain of evidence and ensuring the quality and usability of the collected data.

[0023] As one embodiment of this application, automatically activating multiple data acquisition channels in parallel to obtain multimodal data related to performance events can be achieved by: activating a first channel to record snapshot data of system-level performance metrics at a preset frequency; activating a second channel to record video of the target application's interface to generate an interface operation video stream; activating a third channel to capture and store log information from the target application and the underlying system to form a log file; and activating a fourth channel to continuously monitor and record the resource usage status change sequence of each thread within the target application. In the above embodiment, the snapshot data of system-level performance metrics, the interface operation video stream, the log file, and the resource usage status change sequence of each thread within the target application, etc., constitute multimodal data related to performance events. In the above embodiment, the resource usage status change sequence refers to a continuous data set of each thread's CPU time slice usage ratio, memory usage value, and thread state (e.g., running, ready, blocked, etc.) recorded in chronological order, used to accurately characterize the dynamics of thread-level resource consumption.

[0024] Given that existing monitoring solutions (e.g., monitoring only process-level CPU usage) are too coarse-grained, when high process CPU usage is detected, developers only know that "a workshop is consuming a lot of electricity," but cannot pinpoint "which machine (similar to a thread)" is consuming excessive power, or "why" (similar to thread state). This leads to inefficient problem localization and difficulty in root cause analysis. On the other hand, theoretically, fine-grained monitoring (monitoring all details of all threads) is feasible. However, in the highly demanding environment of an in-vehicle cabin with limited CPU, memory, and I / O resources, a monitoring tool that continuously and comprehensively collects all thread data becomes a significant performance bottleneck, severely interfering with the normal operation of the application under test and even creating performance problems. This leads to the paradox of monitoring behavior undermining the monitoring objective. Therefore, in order to achieve effective, fine-grained thread-level monitoring that can be used for precise problem localization without significantly impacting the performance of the in-vehicle system, Figure 1 The example method may also include: periodically sampling and acquiring the CPU time slice usage ratio, memory usage, and state transition information of each thread within the target application using a low-overhead sampling mode; wherein, the low-overhead sampling mode is implemented in the following way: acquiring thread state data by sampling, wherein, during the sampling process, an intelligent filtering strategy is applied to prioritize collecting data from threads that meet preset activity or resource consumption conditions; the acquired thread state data is first cached in memory, and when the amount of cached data reaches a batch threshold, a persistent storage operation is then performed. Threads that meet preset activity or resource consumption conditions, for example, refer to threads whose CPU usage rate is consistently higher than a set threshold, whose memory allocation is frequent or whose total memory exceeds the threshold, or whose thread state changes frequently (e.g., entering a blocked state multiple times), while inactive threads may be threads that have been in a dormant or waiting state for a long time.

[0025] The above-described embodiments deepen the monitoring granularity from the "process level" to the "thread level," achieving a qualitative leap in monitoring capabilities. This allows analysts to penetrate the black box of processes and gain insight into the detailed operation of each execution unit (thread) within them (CPU time slice, memory, state transitions), providing data possibilities for accurately locating micro-level issues such as thread contention, hot functions, and synchronization blocking. On the other hand, by using sampling (rather than polling), the continuous computational overhead of monitoring is transformed into intermittent overhead, significantly reducing CPU usage. Memory buffering and batch storage modes merge frequent small-scale I / O operations into a small number of large-scale operations, reducing disk I / O pressure and avoiding the impact of I / O blocking on system response speed. The application of intelligent filtering strategies demonstrates the intelligence of monitoring, focusing resources on key targets and avoiding wasting monitoring resources on a large number of dormant or low-activity threads, thereby minimizing overall system overhead while ensuring the capture of key information.

[0026] Step S104: Perform correlation analysis on the collected multimodal data and multidimensional performance parameters based on a unified timestamp to construct a complete data evidence chain for performance events.

[0027] To address the "data silo" problem—the isolation of multi-source data and the difficulty in reaching unified conclusions during analysis—even with abundant data collection, analysts still need to expend considerable effort on manual comparison and guesswork if the data is fragmented. For example, manually comparing logs and timestamps from different tools is extremely inefficient, highly subjective, prone to errors, and struggles to uncover deep, implicit correlations, such as how a minor fluctuation in a thread could ultimately cause interface lag. To resolve this, this application can perform correlation analysis based on a unified timestamp on collected multimodal data and multi-dimensional performance parameters to construct a complete data evidence chain for performance events. Since the correlation analysis in the above scheme is based on a unified timestamp, it can ensure that all data can be aligned on the same timeline. Correlation analysis is the process of extracting valuable information from massive amounts of data. It can automatically discover causal chains such as "user clicks button (screen recording event) -> causes a certain service process CPU spike (performance parameter) -> causes the main rendering thread to be blocked (thread state) -> records graphics library timeout error (log)", thereby constructing a data evidence chain, transforming scattered evidence into a convincing and complete storyline, and improving the accuracy and efficiency of diagnosis.

[0028] As an embodiment of this application, the correlation analysis of the collected multimodal data and multidimensional performance parameters based on a unified timestamp can be performed as follows: assign a unified high-precision timestamp to the multimodal data and multidimensional performance parameters; based on the unified high-precision timestamp, perform a horizontal correlation comparison of user operation events in the interface operation video stream, error records in the log file, abnormal peaks in the multidimensional performance parameters, abnormal data in the snapshot data of system-level performance indicators, and blocking events in the resource occupancy status change sequence, so as to reconstruct the complete timeline of the performance events. Based on a unified high-precision timestamp, this method involves horizontally correlating and comparing user operation events in the interface operation video stream, error records in log files, abnormal peaks in multi-dimensional performance parameters, abnormal data in snapshot data of system-level performance indicators, and blocking events in resource usage state change sequences to reconstruct a complete timeline of performance events. Specifically, this involves mapping events from all data sources (including user operation events in the interface operation video stream, error records in log files, abnormal peaks in performance parameters, and blocking events in thread state change sequences, etc.) to the same timeline based on the unified timestamp; identifying event clusters that are closely adjacent or overlap in time; analyzing the sequence, duration, and intensity of events within these event clusters to infer how user operations trigger a series of chain reactions within the system (e.g., error records, performance peaks, thread blocking), and ultimately reconstructing a complete and continuous timeline of performance events from trigger to end.

[0029] Furthermore, the correlation analysis also includes in-depth mining of performance patterns using the following methods: Based on historical sequence data of multi-dimensional performance parameters, identify abnormal resource usage patterns at the system level. These abnormal resource usage patterns include periodic high-load patterns, memory leak trends, or UI rendering stuttering patterns. For the identified abnormal resource usage patterns, correlate and analyze the sequence data of thread state changes within the same time period to locate the thread-level behavioral patterns that cause the abnormal resource usage patterns. These thread-level behavioral patterns include the execution trajectory of high-consumption threads, thread contention hotspots, or frequent thread creation / destruction operations, etc. Locating the thread-level behavioral patterns that cause abnormal resource usage patterns can be as follows: For UI rendering stuttering patterns, correlate the time point of stuttering with the peak CPU usage time point of a specific rendering thread and the time point of occurrence of graphics library error information recorded in the log file to locate the root thread or code module causing the stuttering; For memory leak trends, correlate the period of continuous memory growth with the memory allocation operation records of business threads that have not properly released resources to locate code paths suspected of memory leaks.

[0030] In the above embodiments, the periodic high-load mode refers to the regular peak and trough fluctuations in the utilization of system resources (e.g., CPU, memory). The memory leak trend refers to the continuous and abnormal linear or stepwise increase in the application's memory usage over time. Even without obvious memory allocation operations, the UI rendering stuttering mode can be a periodic or non-periodic significant drop in the UI rendering frame rate (e.g., below an acceptable threshold), resulting in visual pauses or unsmoothness. As for high-consumption threads, they refer to threads that continuously occupy a large amount of CPU time slices or memory resources within a specific time period. Their execution trajectory can be the function call sequence and execution time distribution of high-consumption threads at the call stack level. Thread contention hotspots refer to code areas where multiple threads frequently contend for the same shared resource (e.g., locks, memory regions), leading to performance degradation. To address UI rendering stuttering, the timing of the stutter is correlated with the peak CPU usage of a specific rendering thread and the timing of graphics library error messages recorded in the log file. This helps pinpoint the root cause thread or code module causing the stutter. Specifically, the exact timing T of the UI rendering stutter can be identified from performance parameters. Under a unified timestamp, CPU usage data for a specific rendering thread (e.g., the main user interface thread) is retrieved from the thread state sequence near timing T (e.g., within a time window of T ± Δt, where Δt is a small value). If an abnormal peak is found near timing T, this thread is initially suspected. Simultaneously, log files within the same time window are searched. If error records related to graphics library operations (e.g., rendering timeouts, texture loading failures) are found, the stutter event, the rendering thread's CPU peak, and the graphics library error are correlated. By combining the closeness of these three on the timeline, the root cause of the stutter is confirmed to be a specific code module of that rendering thread, such as a function performing complex graphics calculations. To address memory leak trends, the time periods of continuous memory growth are correlated with memory allocation operation records of business threads that fail to properly release resources. This allows for the identification of code paths suspected of memory leaks. Specifically, this can be achieved by: identifying a time period ΔT of continuous abnormal memory growth from historical performance parameters; analyzing thread state sequences within this ΔT period to identify business threads that frequently perform memory allocation operations with large total allocations but no corresponding release operations (or releases far less than allocations); correlating these threads' memory allocation operation records within the ΔT period (e.g., allocation call stack, allocation size) to pinpoint the most frequent or largest memory allocation points; and combining this with code analysis to locate specific code paths suspected of failing to properly release resources, such as continuously creating objects within a loop without destroying them.

[0031] Step S105: Based on the causes and impact range of performance events determined by correlation analysis, automatically generate a performance analysis report containing performance bottleneck location information and optimization suggestions.

[0032] After obtaining the analysis results of performance events, if analysts still manually compile reports based on these results, the reports will lack uniformity in format, vary in quality from person to person, and are time-consuming and labor-intensive, failing to provide rapid feedback. To address the issues of reliance on manual compilation, low standardization, and inability to directly guide optimization, this application can automatically generate performance analysis reports containing performance bottleneck location information and optimization suggestions based on the causes and impact scope of performance events determined by correlation analysis. This not only significantly improves work efficiency but, more importantly, standardizes the analysis process, makes the results reusable, and directly provides clear guidance for developers' optimization work. Specifically, based on the causes and impact scope of performance events determined by correlation analysis, automatically generating a performance analysis report containing performance bottleneck location information and optimization suggestions can be achieved by: extracting the core conclusions from the correlation analysis, including the root cause of the performance event (e.g., specific thread contention, memory leak code path) and the impact scope (e.g., the duration of interface lag, affected functional modules); mapping the root cause to specific performance bottleneck location information according to a preset report template, such as "the main rendering thread is blocked due to a timeout in the execution of graphics library function X", and matching the root cause type with a pre-stored optimization suggestion knowledge base to generate targeted optimization suggestions (e.g., "optimize the algorithm complexity of graphics library function X" or "add an asynchronous loading mechanism"); and automatically filling in the template to generate a structured performance analysis report.

[0033] The methods described in the above examples may also include automated intervention, i.e., when a performance bottleneck is identified based on correlation analysis and the performance metric continues to deteriorate beyond a critical threshold, predefined lightweight optimization operations are automatically performed, including automatically cleaning up the target application's temporary cache files or restricting at least one of its non-core background activities.

[0034] Furthermore, traditional performance monitoring mostly targets single, isolated processes. However, modern in-vehicle applications, such as in-car karaoke systems, commonly employ multi-process / microservice architectures. The main application process (e.g., the UI interface) heavily relies on multiple background service processes (e.g., audio decoding, lyrics synchronization, network requests). When users experience lag or delays, the root cause may not be the main process itself, but rather an anomaly in a particular service process (e.g., response latency, resource contention). Therefore, monitoring only the main process makes it difficult for analysts to quickly and accurately determine whether a performance degradation is caused by internal code issues or by external dependent processes. This creates significant monitoring blind spots and analytical obstacles, making it extremely difficult to pinpoint cross-process performance bottlenecks—like a doctor examining only the heart while neglecting the vascular system supplying it. To overcome the challenge of locating cross-process performance bottlenecks and achieve a qualitative leap from single-point observation to system-level insight, before automatically generating performance analysis reports based on the causes and impact scope of performance events determined by correlation analysis, Figure 1 The example method may also include: automatically identifying the main process of the target application and the service processes that have dependencies or communication relationships with it, and constructing a process relationship graph; based on the process relationship graph, performing collaborative monitoring and correlation analysis on the performance data of the main process and service processes, and using the analysis results to determine the causes and scope of impact of performance events. This approach, on the one hand, transforms the system from passive monitoring to proactive cognition, automatically identifying the process network in which the target application resides and clarifying who depends on whom, essentially creating a system dependency map, providing crucial contextual information for subsequent accurate analysis; on the other hand, it expands the monitoring scope from the main process to the entire cluster of related processes, ensuring the completeness of monitoring. When the main process exhibits abnormal performance indicators, the system can immediately use the graph to correlate and analyze the performance data of its dependent service processes during the same time period. For example, it can be clearly seen that the moment the main interface freezes is precisely when the CPU usage of the audio service process spikes due to the decoding queue being blocked. This correlation analysis can effectively distinguish between "internal problems" and "external entanglements." That is, if the service process is normal, the problem may lie within the main process; if the service process is abnormal, the root cause of the problem is likely in the service process or the communication link between processes, thus greatly narrowing the scope of investigation and improving diagnostic efficiency and accuracy.

[0035] From the above appendix Figure 1The example of an automated performance monitoring method for in-vehicle multimedia applications demonstrates that, on the one hand, by collecting multi-dimensional performance parameters in real time and automatically judging and triggering based on preset conditions, comprehensive data collection can be initiated the instant a performance event occurs without manual intervention. This solves the problem of key on-site data loss caused by response delays in traditional methods, ensuring that the system state at the moment of performance anomaly can be completely captured. On the other hand, by automatically activating multiple data acquisition channels in parallel when triggering conditions are met, simultaneously acquiring multi-modal data such as system performance snapshots, interface operation videos, detailed operation logs, and thread state sequences, this parallel, multi-dimensional data acquisition mechanism overcomes the limitations of a single data source perspective, providing a rich and comprehensive data foundation for subsequent in-depth analysis. Thirdly, by analyzing the collected multi-modal data and performance... The system performs correlation analysis based on unified timestamps, precisely aligning and correlating data from different sources and of different types on a unified timeline. This constructs a clear and coherent chain of complete data evidence for performance events, integrating fragmented information and intuitively revealing the causal and temporal relationships between user operations, system responses, resource consumption, and internal thread behavior, thus aiding in the accurate location of performance bottlenecks. Fourthly, based on the causes and impact scope determined by the correlation analysis, it automatically generates reports containing location information and optimization suggestions. This integrates data collection, correlation analysis, and result output into a complete automated process, reducing over-reliance on the personal experience of analysts and transforming the analysis process from manual, tedious troubleshooting to structured, clearly guided intelligent diagnosis, thereby improving the overall efficiency of performance monitoring and optimization. In summary, the technical solution of this application achieves accurate, efficient location, and automated diagnosis of performance problems in automotive applications by automatically triggering multi-dimensional data collection and correlation analysis.

[0036] Please see the appendix Figure 2 This application provides an automated performance monitoring device for an in-vehicle multimedia application. The device may include a data acquisition module 201, a judgment module 202, an acquisition module 203, an analysis module 204, and a generation module 205, as detailed below: The acquisition module 201 is used to collect multi-dimensional performance parameters of the target application in real time during runtime; The judgment module 202 is used to determine whether the preset triggering conditions are met based on the multi-dimensional performance parameters of the target application during runtime. The acquisition module 203 is used to automatically start multiple data acquisition channels in parallel when a preset trigger condition is met, so as to acquire multimodal data related to performance events. Analysis module 204 is used to perform correlation analysis on the collected multimodal data and multidimensional performance parameters based on a unified timestamp, so as to construct a complete data evidence chain for performance events; The generation module 205 is used to automatically generate a performance analysis report containing performance bottleneck location information and optimization suggestions based on the causes and impact range of performance events determined by correlation analysis.

[0037] From the above appendix Figure 2 As illustrated by the example of an automated performance monitoring device for in-vehicle multimedia applications, on the one hand, by collecting multi-dimensional performance parameters in real time and automatically judging and triggering based on preset conditions, comprehensive data collection can be initiated the instant a performance event occurs without manual intervention. This solves the problem of key on-site data loss caused by response delays in traditional methods, ensuring that the system state at the moment of performance anomaly can be completely captured. On the other hand, by automatically activating multiple data acquisition channels in parallel when triggering conditions are met, simultaneously acquiring multi-modal data such as system performance snapshots, interface operation videos, detailed operation logs, and thread state sequences, this parallel, multi-dimensional data acquisition mechanism overcomes the limitations of a single data source perspective, providing a rich and comprehensive data foundation for subsequent in-depth analysis. Thirdly, by analyzing the collected multi-modal data and performance... The system performs correlation analysis based on unified timestamps, precisely aligning and correlating data from different sources and of different types on a unified timeline. This constructs a clear and coherent chain of complete data evidence for performance events, integrating fragmented information and intuitively revealing the causal and temporal relationships between user operations, system responses, resource consumption, and internal thread behavior, thus aiding in the accurate location of performance bottlenecks. Fourthly, based on the causes and impact scope determined by the correlation analysis, it automatically generates reports containing location information and optimization suggestions. This integrates data collection, correlation analysis, and result output into a complete automated process, reducing over-reliance on the personal experience of analysts and transforming the analysis process from manual, tedious troubleshooting to structured, clearly guided intelligent diagnosis, thereby improving the overall efficiency of performance monitoring and optimization. In summary, the technical solution of this application achieves accurate, efficient location, and automated diagnosis of performance problems in automotive applications by automatically triggering multi-dimensional data collection and correlation analysis.

[0038] Figure 3 This is a schematic diagram of the structure of a device provided in one embodiment of this application. For example... Figure 3 As shown, the device 3 in this embodiment mainly includes: a processor 30, a memory 31, and a computer program 32 stored in the memory 31 and executable on the processor 30, such as a program for an automated performance monitoring method for an in-vehicle multimedia application. When the processor 30 executes the computer program 32, it implements the steps in the above-described embodiment of the automated performance monitoring method for an in-vehicle multimedia application, for example... Figure 1 The steps S101 to S105 are shown. Alternatively, when the processor 30 executes the computer program 32, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 2The functions of the acquisition module 201, judgment module 202, acquisition module 203, analysis module 204, and generation module 205 are shown.

[0039] For example, the computer program 32 of the automated performance monitoring method for in-vehicle multimedia applications mainly includes: real-time acquisition of multi-dimensional performance parameters of the target application during runtime; determining whether preset triggering conditions are met based on the multi-dimensional performance parameters of the target application during runtime; automatically starting multiple data acquisition channels in parallel when the preset triggering conditions are met to obtain multi-modal data related to performance events; performing correlation analysis based on a unified timestamp on the acquired multi-modal data and multi-dimensional performance parameters to construct a complete data evidence chain for performance events; and automatically generating a performance analysis report containing performance bottleneck location information and optimization suggestions based on the causes and impact range of performance events determined by the correlation analysis. The computer program 32 can be divided into one or more modules / units, which are stored in the memory 31 and executed by the processor 30 to complete this application. One or more modules / units can be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program 32 in the device 3. For example, computer program 32 can be divided into the functions of acquisition module 201, judgment module 202, acquisition module 203, analysis module 204, and generation module 205 (a module in the virtual device). The specific functions of each module are as follows: Acquisition module 201 is used to collect multi-dimensional performance parameters of the target application in real time during runtime; judgment module 202 is used to determine whether preset triggering conditions are met based on the multi-dimensional performance parameters of the target application during runtime; acquisition module 203 is used to automatically start multiple data acquisition channels in parallel when the preset triggering conditions are met to obtain multi-modal data related to performance events; analysis module 204 is used to perform correlation analysis on the collected multi-modal data and multi-dimensional performance parameters based on a unified timestamp to construct a complete data evidence chain for performance events; generation module 205 is used to automatically generate a performance analysis report containing performance bottleneck location information and optimization suggestions based on the causes and impact range of performance events determined by the correlation analysis.

[0040] Device 3 may include, but is not limited to, processor 30 and memory 31. Those skilled in the art will understand that... Figure 3 This is merely an example of device 3 and does not constitute a limitation on device 3. It may include more or fewer components than shown, or combine certain components, or different components. For example, the device may also include input / output devices, network access devices, buses, etc.

[0041] The processor 30 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0042] The memory 31 can be an internal storage unit of the device 3, such as a hard disk or RAM of the device 3. The memory 31 can also be an external storage device of the device 3, such as a plug-in hard disk, Smart MediaCard (SMC), Secure Digital (SD) card, or Flash Card equipped on the device 3. Furthermore, the memory 31 can include both internal and external storage units of the device 3. The memory 31 is used to store computer programs and other programs and data required by the device. The memory 31 can also be used to temporarily store data that has been output or will be output.

[0043] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed. That is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above-described device can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0044] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0045] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0046] In the embodiments provided in this application, it should be understood that the disclosed apparatus / device and method can be implemented in other ways. For example, the apparatus / device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0047] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0048] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0049] If integrated modules / units are implemented as software functional units and sold or used as independent products, they can be stored in a storage medium. Based on this understanding, all or part of the processes in the above-described embodiments of this application can also be implemented by a computer program instructing related hardware. The computer program for the automated performance monitoring method of in-vehicle multimedia applications can be stored in a storage medium. When executed by a processor, the computer program can implement the steps of the above-described method embodiments, namely, real-time acquisition of multi-dimensional performance parameters of the target application during runtime; determination of whether preset triggering conditions are met based on the multi-dimensional performance parameters of the target application during runtime; automatic parallel activation of multiple data acquisition channels when the preset triggering conditions are met to obtain multi-modal data related to performance events; correlation analysis based on a unified timestamp is performed on the acquired multi-modal data and multi-dimensional performance parameters to construct a complete data evidence chain for performance events; and automatic generation of a performance analysis report containing performance bottleneck location information and optimization suggestions based on the causes and impact range of performance events determined by the correlation analysis. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. Storage media can include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the contents of storage media can be appropriately added to or removed according to the requirements of legislation and patent practice in a jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, storage media may not include electrical carrier signals and telecommunication signals.

[0050] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. These modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application. The specific embodiments described above further illustrate the purpose, technical solutions, and beneficial effects of this application. It should be understood that the above descriptions are merely specific embodiments of this application and are not intended to limit the protection scope of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. An automated performance monitoring method for in-vehicle multimedia applications, characterized in that, The method includes: Real-time collection of multi-dimensional performance parameters of the target application during runtime; Based on the aforementioned multi-dimensional performance parameters, determine whether the preset triggering conditions are met; When the triggering condition is met, multiple data acquisition channels are automatically started in parallel to obtain multimodal data related to performance events; A correlation analysis based on a unified timestamp is performed on the collected multimodal data and the multidimensional performance parameters to construct a complete data evidence chain for the performance event; Based on the causes and impact range of performance events determined by the correlation analysis, a performance analysis report containing performance bottleneck location information and optimization suggestions is automatically generated.

2. The automated performance monitoring method for in-vehicle multimedia applications according to claim 1, characterized in that, The automatic parallel activation of multiple data acquisition channels to obtain multimodal data related to performance events includes: Start the first channel to record snapshot data of system-level performance indicators at a preset frequency; Start the second channel to record the operation interface of the target application and generate an interface operation video stream. The third channel is activated to capture and store the log information of the target application and the underlying system, forming a log file; The fourth channel is activated to continuously monitor and record the sequence of resource usage changes of each thread within the target application.

3. The automated performance monitoring method for in-vehicle multimedia applications according to claim 2, characterized in that, The correlation analysis of the collected multimodal data based on a unified timestamp includes: A unified high-precision timestamp is applied to the multimodal data and the multidimensional performance parameters; Based on the unified high-precision timestamp, user operation events in the interface operation video stream, error records in the log file, abnormal peaks in multi-dimensional performance parameters, abnormal data in the snapshot data of system-level performance indicators, and blocking events in the resource occupancy status change sequence are horizontally correlated and compared to reconstruct the complete timeline of performance events.

4. The automated performance monitoring method for in-vehicle multimedia applications according to claim 3, characterized in that, The correlation analysis also includes: Based on the historical sequence data of the multi-dimensional performance parameters, abnormal resource usage patterns at the system level are identified, including periodic high load patterns, memory leak trends, or interface rendering stuttering patterns. For the identified abnormal resource usage patterns, the thread state change sequence data within the same time period is correlated and analyzed to locate the thread-level behavior patterns that cause the abnormal resource usage patterns. The thread-level behavior patterns include the execution trajectory of high-consumption threads, thread contention hotspots, or frequent thread creation / destruction operations.

5. The automated performance monitoring method for in-vehicle multimedia applications according to claim 4, characterized in that, Locating thread-level behavioral patterns that cause abnormal resource usage includes: For UI rendering stuttering mode, the time point when the stuttering occurs is correlated with the peak CPU usage time point of a specific rendering thread and the time point when the graphics library error information recorded in the log file occurs, in order to locate the root thread or code module causing the stuttering. To address memory leak trends, the time periods of continuous memory growth are correlated with memory allocation operation records of business threads that fail to release resources properly, thereby locating code paths suspected of memory leaks.

6. The automated performance monitoring method for in-vehicle multimedia applications according to claim 1, characterized in that, The method further includes: periodically sampling and obtaining the CPU time slice usage ratio, memory usage and state transition information of each thread in the target application using a low-overhead sampling mode; The low-overhead sampling mode is as follows: Thread state data is obtained by sampling; during the sampling process, an intelligent filtering strategy is applied to prioritize the collection of data from threads that meet preset activity or resource consumption conditions. The acquired thread state data is first cached in memory. When the amount of cached data reaches the batch threshold, the persistent storage operation is then performed.

7. The automated performance monitoring method for in-vehicle multimedia applications according to claim 1, characterized in that, Before automatically generating a performance analysis report based on the causes and impact scope of performance events determined by correlation analysis, the method further includes: Automatically identify the main process of the target application and the service processes that have dependencies or communication relationships with it, and construct a process relationship graph; Based on the process relationship graph, the performance data of the main process and the service process are monitored and analyzed collaboratively, and the analysis results are used to determine the causes and scope of impact of performance events.

8. An automated performance monitoring device for in-vehicle multimedia applications, characterized in that, The device includes: The acquisition module is used to collect multi-dimensional performance parameters of the target application in real time during runtime; The judgment module is used to determine whether the preset triggering conditions are met based on the multi-dimensional performance parameters. The acquisition module is used to automatically and in parallel start multiple data acquisition channels when the triggering condition is met, so as to acquire multimodal data related to performance events; The analysis module is used to perform correlation analysis on the collected multimodal data and the multidimensional performance parameters based on a unified timestamp, so as to construct a complete data evidence chain for the performance event; The generation module is used to automatically generate a performance analysis report containing performance bottleneck location information and optimization suggestions based on the causes and impact range of performance events determined by the correlation analysis.

9. An apparatus comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method as described in any one of claims 1 to 7.

10. A storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method as described in any one of claims 1 to 7.