Information processing device, information processing method, and information processing program
The information processing device enhances software analysis efficiency by identifying and visualizing log information with time intervals, addressing the challenges of process identification and instantaneous event detection in existing methods.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- PANASONIC AUTOMOTIVE SYST CO LTD
- Filing Date
- 2024-11-29
- Publication Date
- 2026-06-10
AI Technical Summary
Existing software analysis methods struggle with identifying the process of log information, lack of dynamic display timing, and difficulty in pinpointing instantaneous events, leading to inefficient defect analysis.
An information processing device that includes an acquisition unit, identification unit, generation unit, assignment unit, and display control unit to identify software processing information, generate visualized log information, assign time intervals, and output to a display device for easy analysis.
Facilitates easy understanding of software state and improves analysis efficiency by visualizing log information with time intervals, enabling quicker identification of software defects.
Smart Images

Figure 2026094915000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an information processing apparatus, an information processing method, and an information processing program.
Background Art
[0002] Conventionally, there has been a technique for interpreting a log character string generated by software execution, determining a visualization pattern based on the content of the interpreted character string, and displaying the visualized log information. For example, a software developer can grasp the state of software from the visualized log information.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the prior art, since a method for visualizing the state for each software process is not specified, it is necessary to identify and determine which process the log belongs to internally. In addition, there is no mention of making the display time of the state or an event that occurs instantaneously variable, and it is difficult to grasp the timing of an event that occurs instantaneously. Therefore, when a software developer performs defect analysis based on log information, it may take time to identify the cause only by analyzing log information in the form of character information such as text format.
[0005] For example, when a software developer identifies the cause from log information, it takes time to identify the cause if the software developer performs the above procedures directly from the output log information, such as sorting the time-series logs, identifying the logs around the time when the defect event occurred, and grasping and analyzing the internal processes before and after.
[0006] One of the problems this disclosure aims to solve is to provide an information processing device, an information processing method, and an information processing program that can easily grasp the state of software and improve the efficiency of analysis work. [Means for solving the problem]
[0007] The information processing device relating to this disclosure comprises an acquisition unit, an identification unit, a generation unit, an assignment unit, and a display control unit. The identification unit identifies the software processing information indicated by each log file from log information relating to multiple log files. The generation unit generates visualized log information that visualizes the log information based on the processing information identified by the identification unit. The assignment unit assigns time interval information to the visualized log information, indicating the time interval to be visualized for each predetermined piece of processing information. The display control unit outputs the visualized log information to a display device based on the time interval information. [Effects of the Invention]
[0008] According to this disclosure, the state of the software can be easily understood, and the efficiency of analysis work can be improved. [Brief explanation of the drawing]
[0009] [Figure 1] Figure 1 shows an example of the functional configuration of an information processing system according to an embodiment. [Figure 2] Figure 2 is a schematic diagram showing an example of log information according to the embodiment. [Figure 3] Figure 3 is a reference table for identifying processing information and processing unit information of the software according to the embodiment. [Figure 4] Figure 4 is a timing chart illustrating the relationship between visualized log information and time interval information according to the embodiment. [Figure 5] Figure 5 is a schematic diagram illustrating the visualization log information output to the display device according to the embodiment. [Figure 6] Figure 6 is a schematic diagram illustrating the visualization log information output to the display device according to the embodiment. [Figure 7]Figure 7 is a flowchart showing an example of the processing flow performed by the log output device according to this embodiment. [Figure 8] Figure 8 is a flowchart showing an example of the processing flow performed by the visualization device according to the embodiment. [Figure 9] Figure 9 is a flowchart showing an example of the processing flow performed by the visualization device according to the embodiment. [Figure 10] Figure 10 is a flowchart showing an example of the processing flow performed by the visualization device according to the embodiment. [Figure 11] Figure 11 is a schematic diagram illustrating the visualization log information output to the display device according to the first modified example. [Figure 12] Figure 12 is a schematic diagram showing an example of log information related to the second modified example. [Figure 13] Figure 13 is a schematic diagram showing an example of visualized log information related to the second modified example. [Figure 14] Figure 14 is a reference table for identifying the processing unit information of the software related to the third modified example. [Figure 15] Figure 15 is a schematic diagram showing an example of visualized log information related to the third modified example. [Figure 16] Figure 16 shows an example of the hardware configuration of an information processing system according to an embodiment and a modified example. [Modes for carrying out the invention]
[0010] Hereinafter, embodiments of an information processing apparatus according to the present disclosure will be described with reference to the drawings. In the description of the present disclosure, components having the same or substantially the same functions as those described above with respect to the previously presented figures may be denoted by the same reference numerals, and the description may be omitted as appropriate. Also, even when representing the same or substantially the same part, there are cases where the dimensions and ratios of each are represented differently in the drawings. Further, for example, from the viewpoint of ensuring the visibility of the drawings, only the main components are given reference numerals in the description of each drawing, and there are cases where components having the same or substantially the same functions as those described above in the previously presented figures are not given reference numerals.
[0011] In the description of the present disclosure, components having the same or substantially the same functions may sometimes be described separately by adding alphanumeric characters to the end of the reference numerals for distinction. Alternatively, when not distinguishing a plurality of components having the same or substantially the same functions, they may sometimes be described integrally by omitting the alphanumeric characters attached to the end of the reference numerals.
[0012] (Embodiment) FIG. 1 is a diagram showing an example of the functional configuration of an information processing system 100 according to an embodiment. As shown in FIG. 1, the information processing system 100 includes a log output device 1, a visualization device 2, and a display device 3. In the information processing system 100, the log output device 1, the visualization device 2, and the display device 3 are connected via a network (telecommunication line) such as the Internet, for example. Note that the communication between the log output device 1, the visualization device 2, and the display device 3 may be performed via a dedicated communication line (telecommunication line).
[0013] The log output device 1 is, for example, an in-vehicle information device mounted on a vehicle. The log output device 1 executes, for example, software to be analyzed and generates log information corresponding to the execution result.
[0014] The visualization device 2 is, for example, at least one server device constructed on a network such as the Internet. The visualization device 2 is an example of an information processing device. The visualization device 2 may further include other devices such as a network storage (storage device). The visualization device 2 acquires the log information generated by the log output device 1 and generates visualization information to be output to the display device 3.
[0015] The display device 3 is, for example, a liquid crystal display. The display device 3 visually outputs the visualization information generated by the visualization device 2.
[0016] Next, each function of the log output device 1, the visualization device 2, and the display device 3 will be described. The log output device 1 includes an execution unit 11, a generation unit 12, and a transmission unit 13.
[0017] The execution unit 11 executes the software to be analyzed. The software to be analyzed is, for example, a software program for performing audio playback or vehicle control inside a vehicle.
[0018] The generation unit 12 generates a log file corresponding to the processing result of the software to be analyzed. Specifically, the generation unit 12 generates a log file corresponding to the processing result of the software to be analyzed executed by the execution unit 11. The log file includes an event ID, a time stamp, a processing target, processing content, a processing result, and the like. The generation unit 12 stores the generated log file in the storage unit. The storage unit is, for example, a memory.
[0019] The event ID is the ID of the event when the software is processed. The time stamp is time information including the time when the software is processed. The format of the time stamp is, for example, hours minutes seconds milliseconds (hh:mm:ss.sss). The processing target is, for example, the name of the resource on which the software processing is performed. The processing content is, for example, the content of the software processing. The processing result is, for example, the result of the software processing (as an example, success or failure, etc.).
[0020] The transmission unit 13 transmits log information relating to multiple log files to the visualization device 2. Specifically, the transmission unit 13 transmits log information relating to multiple log files generated by the generation unit 12 to the visualization device 2.
[0021] Visualization device 2 comprises a control unit 21 and a storage unit 22. Visualization device 2 is an example of an information processing device. The control unit 21 is configured, for example, as a CPU (Central Processing Unit) and comprehensively controls the operation of each part of the visualization device 2. Visualization device 2 according to this embodiment has a ROM (Read Only Memory) and RAM (Random Access Memory), which are not shown. The ROM stores various programs. The RAM is a work area when the CPU executes a program. Visualization device 2 comprises, for example, a processor and memory, and the processor executes a program stored in memory to realize the functions of the control unit 21 and each functional block of the control unit 21. The CPU is an example of a processor. The storage unit 22 is an example of memory.
[0022] The CPU uses RAM as a working area and executes a program stored in ROM to realize the acquisition unit 211, the identification unit 212, the generation unit 213, the assignment unit 214, and the display control unit 215. This can also be rephrased as the visualization device 2 comprising the acquisition unit 211, the identification unit 212, the generation unit 213, the assignment unit 214, and the display control unit 215. The acquisition unit 211, the identification unit 212, the generation unit 213, the assignment unit 214, and the display control unit 215 may be realized by different hardware.
[0023] The storage unit 22 stores log information 221 output by the log output device 1 and visualization log information 222 generated by the visualization device 2. A description of log information 221 and visualization log information 222 will be provided later. Note that the information stored in the storage unit 22 is not limited to this.
[0024] The acquisition unit 211 acquires log information 221. Specifically, the acquisition unit 211 acquires log information 221 related to multiple log files transmitted by the log output device 1. The acquisition unit 211 also sorts the acquired log information 221 in chronological order. The acquisition unit 211 then stores the chronologically sorted log information 221 in the storage unit 22. Here, the log information 221 will be explained using Figure 2.
[0025] Figure 2 is a schematic diagram showing an example of log information 221 according to the embodiment. The log information 221 shown in Figure 2 has the strings of the log file arranged in chronological order. The format of the log information 221 shown in Figure 2 consists of, for example, an event ID indicating an identifier for tracing a series of events, a timestamp regarding the time when the event occurred, and processing information regarding the processing of the software. However, the format of the log file (output format of the log file) of the log information 221 is not limited to this. Furthermore, the term "string" as used herein also includes, when the log is output as binary data, a string that has been converted from that binary data so that it can be interpreted by a human such as a software developer. A string is also called text or text data.
[0026] Returning to Figure 1, let's continue the explanation. The identification unit 212 identifies software processing information from the information in multiple log files. Specifically, the identification unit 212 identifies software processing information and processing unit information from the log information 221 related to the multiple log files acquired by the acquisition unit 211. Software processing information includes, for example, various system states and user controls. Software processing unit information includes, for example, the name of the process executed by the CPU and information including the processing unit, which is the unit for each process executed by the CPU. For example, the identification unit 212 identifies processing information and processing unit information from the log information 221 based on reference information that includes a reference string related to the processing of the software to be visualized. Here, the content of the process by which the identification unit 212 identifies software processing information from the log information 221 will be explained using Figure 3.
[0027] Figure 3 is a reference table for identifying processing information and processing unit information of the software according to the embodiment. The reference table is an example of reference information that includes reference strings related to the processing of the software to be visualized, and the granularity of the processing information may also be subdivided, such as "state of xxx" and "state of yyy". The reference table T1 shown in Figure 3 is, for example, information that associates reference strings related to the processing of the software, items indicating whether each piece of processing information is first information indicating an instantaneous event, processing information related to the processing of the software, and processing unit information related to the processing units of the software. In this embodiment, the reference strings related to the processing of the software shown in Figure 3 correspond to the processing information and processing unit information of the software to be visualized, which will be described later.
[0028] The first type of information includes, for example, data writing, memory allocation, network connection, and user input notification in software processing. However, the first type of information is not limited to these. For example, if the string in the log file is "STATEChange{}", then whether it is the first type of information is "No", the processing information is "Status[data]", and the processing unit information is "AudioVisual". Also, for example, if the string in the log file is "Writedata(B)[ ]", then whether it is the first type of information is "YES", the processing information is "Write[data]", and the processing unit information is "AudioPath".
[0029] Furthermore, for example, if the log file string is "UserEvent()", then whether it is the first piece of information is "YES", the processing information is "User Input [data]", and the processing unit information is "Frontend". Note that the reference table T1 is not limited to this, and the processing unit information does not have to be identified from the reference string. For example, the processing unit information could be identified from the log file name.
[0030] Returning to Figure 1, let's continue the explanation. The generation unit 213 generates visualized log information 222 that visualizes the log information 221 based on the reference table T1 in Figure 3. Specifically, the generation unit 213 generates visualized log information 222 that visualizes the log information 221 based on the software processing information identified by the identification unit 212.
[0031] For example, the generation unit 213 generates visualized log information 222 from the log information 221 arranged chronologically by the acquisition unit 211, and the identification unit 212 generates visualized log information 222 based on the reference table T1 in Figure 3. The generation unit 213 also adds the software processing information identified by the identification unit 212 to the visualized log information 222. The generation unit 213 then stores the visualized log information 222, which includes the software processing information added and generated, in the storage unit 22.
[0032] The assignment unit 214 assigns time interval information to the visualized log information 222, indicating the time interval to be visualized for each predetermined processing information. Specifically, the assignment unit 214 assigns time interval information to the visualized log information 222 generated by the generation unit 213, indicating the time interval to be visualized for each software processing information included in the predetermined processing information of the software.
[0033] First, the assignment unit 214 determines whether each piece of software processing information in the visualization log information 222 contains first information indicating an instantaneous event. For example, the assignment unit 214 refers to the item in the reference table T1 in Figure 3 that indicates whether each piece of software processing information contains first information indicating an instantaneous event, and identifies the log information in the visualization log information 222 as first information if the log information in the visualization log information 222 contains first information.
[0034] Furthermore, for example, the assignment unit 214 refers to an item in the software processing information shown in the reference table T1 of Figure 3 that indicates whether or not it is first information indicating an instantaneously occurring event, and identifies the log information of the visualized log information 222 as second information if the log information of the visualized log information 222 does not include first information. The second information includes, for example, the operating status of an application, such as the audio playback status, application startup, execution, termination, etc., and the connection status of a device, such as device connection, disconnection, disconnection, etc. However, the second information is not limited to these. The first information and the second information are collectively referred to as the software status.
[0035] The assignment unit 214 then refers to the reference table T1 shown in Figure 3 and assigns time interval information to the visualized log information 222. If the log information of the visualized log information 222 includes first information indicating an instantaneously occurring event in each of the software processing information entries, the assignment unit 214 assigns time interval information indicating a time interval longer than the time the first information occurred. Here, if the time the first information occurred is T [seconds], then the time interval longer than the time the first information occurred is T + t [seconds]. For example, t [seconds] is 2 [seconds]. Note that the time interval longer than the time the first information occurred can be set as appropriate by the software processing information or the user.
[0036] Furthermore, the assignment unit 214, if the visualization log information 222 does not contain the first information, and the reference table T1 shown in Figure 3 refers to the log information of the visualization log information 222, and each of the software processing information contains second information indicating a continuously occurring event, then assigns time interval information indicating the time interval in which the second information occurred.
[0037] The reason why the assignment unit 214 assigns different time interval information to the first and second information is that, for example, when a user performs analysis of a software log file, in order to identify the first information, which is an instantaneous event, for each piece of software processing information, it is necessary to identify the instantaneous time of that event. However, it can be difficult for a user to identify the instantaneous time when a large amount of text is output from the log file, or when only text information is available.
[0038] Therefore, in this embodiment, if the software processing information includes first information indicating an instantaneous event, time interval information indicating a time interval longer than the time when the first information occurred is added.
[0039] Furthermore, the assignment unit 214 stores the assigned time interval information in the storage unit 22, associating it with the visualized log information 222. The assignment unit 214 then performs the above-described processing on the log information of the visualized log information 222. The relationship between the visualized log information 222 and the time interval information will be explained using Figure 4.
[0040] Figure 4 is a timing chart illustrating the relationship between the visualized log information 222 and time interval information according to the embodiment. The timing chart T2 shown in Figure 4 is a schematic diagram relating time [mm:ss.s], processing unit information, and processing information.
[0041] For example, the processing information "State" of the processing unit information "AudioVisual" indicates the processing time 41 corresponding to [Play] and the processing time 42 corresponding to [Pause] for each of the continuously occurring events (states) [Play] and [Pause] identified from the string (STATEChange) in log information 221. Also, for example, the processing information "Write" of the processing unit information "AudioPath" indicates the processing time 43 corresponding to [α] and the processing time 44 corresponding to [β] for each of the instantaneously occurring events (writes) [α] and [β] identified from the string (Writedata) in log information 221.
[0042] Furthermore, for example, regarding the processing information "User Input" of the processing unit information "Frontend", the processing time 45 corresponding to [trackUP] of the instantaneous event (User Input) identified from the string (UserEvent) in log information 221 is shown. As a result, the visualization device 2 can generate visualization log information 222 that allows users to easily grasp the state of the software when performing analysis work by adding time interval information to the visualization log information 222 according to the processing information of the software.
[0043] Returning to Figure 1, let's continue the explanation. Based on the time interval information, the display control unit 215 outputs the log information of the visualization log information 222 to the display device 3 for each piece of software processing information. Specifically, the display control unit 215 outputs the log information of the visualization log information 222 to the display device 3 based on the time interval information assigned to the visualization log information 222 by the assignment unit 214. The display control unit 215 also outputs the visualization log information 222 to the display device 3 along with the processing information. Furthermore, the visualization log information 222 includes the software status and a text log.
[0044] For example, the display control unit 215 reads the time and string of the visualized log information 222, which are included in the time interval information assigned to the visualized log information 222 by the assignment unit 214. Then, the display control unit 215 outputs the time and string of the visualized log information 222 to the display device 3 for each piece of software processing information. In the initial state, specifically when the user has not entered a time, the display control unit 215 outputs the time at the beginning of the log information 221 or the visualized log information 222 to the display device 3.
[0045] Furthermore, the display control unit 215 reads the time and string of the log information 221 acquired by the acquisition unit 211 and outputs the read time and string of the log information 221 to the display device 3. In addition, the display control unit 215 outputs a time manipulation unit to the display device 3 that allows the user to manipulate the time of the log information 221 based on the time of the log information 221. The visualized log information 222 that the display control unit 215 outputs to the display device 3 will now be explained using Figures 5 and 6.
[0046] Figure 5 is a schematic diagram illustrating the visualized log information 222 output to the display device 3 according to the embodiment. The display device 3 shown in Figure 5 outputs a time display area 51 that displays the time entered by the user, a time operation unit 52 that allows the user to operate the time in the time display area 51, and a first display area 53, a second display area 54, a third display area 55, and a fourth display area 56 that indicate display areas for displaying log information 221 corresponding to the time in the time display area 51. The time display area 51 is output above the first display area 53, the second display area 54, and the third display area 55. Note that the time in this paper represents a timestamp on the log, so it may be replaced with, for example, the system time since the log output device 1 was started.
[0047] The first display area 53, the second display area 54, and the third display area 55 shown in Figure 5 display visualized log information 222 corresponding to the time in the time display area 51 for each piece of software processing information. For example, in the first display area 53, information regarding the continuously occurring event (state) [Play] is output to the first log 531.
[0048] The second display area 54 outputs information about instantaneous events (writing) to the second log 541. The third display area 55 outputs information about instantaneous events (user input) (pressed next button) to the third log 551.
[0049] The fourth display area 56 shown in Figure 5 displays the log file of log information 221. For example, the fourth display area 56 shows the output of the fourth log 561 of log information 221, which includes the first log 531, second log 541, and third log 551 of visualized log information 222.
[0050] Figure 6 is a schematic diagram illustrating the visualization log information 222 output to the display device 3 according to the embodiment. As shown in Figure 6, the display control unit 215 outputs the string of visualization log information 222 corresponding to the input time for each piece of software processing information, according to the input time when the user operates the time operation unit 52 shown in Figure 6 along the arrow 57, to the display device 3. For example, the display control unit 215 acquires position information regarding the position of the time operation unit 52 operated by the user. The display control unit 215 also identifies the input time corresponding to the position information of the time operation unit 52. Then, the display control unit 215 outputs the visualization log information 222 corresponding to the identified input time to the display device 3.
[0051] For example, the user checks the visualized log information 222 output in the first display area 53, the second display area 54, and the third display area 55, and operates the time manipulation unit 52 along the arrow 57 to change the input time from "2024 / 4 / 1 12:54.500" (see time display area 51 in Figure 5) to "2024 / 4 / 1 13:02.000" (see time display area 51 in Figure 6). In other words, the first display area 53, the second display area 54, and the third display area 55 output the visualized log information 222 in synchronization with the input time entered by the user.
[0052] Then, as a result of the user operating the time manipulation unit 52, the fourth display area 56 shown in Figure 6 becomes the fourth log 562 of the log information 221. In addition, the first log 532 of the first display area 53, the second log 542 of the second display area 54, and the third log 552 of the third display area 55, which are output by the display control unit 215, contain information indicating changes in the state of the software processing, so the display control is performed to display them until the next change in the state of the software processing occurs.
[0053] For example, the time "2024 / 4 / 1 13:02.000" (see time display area 51 in Figure 6), corresponding to the fourth log 562, shows no change in the software processing state from the time "2024 / 4 / 1 12:54.500" (see time display area 51 in Figure 5). Therefore, the first display area 53 shown in Figure 6 becomes the first log 532 of the visualized log information 222. Similarly, the second display area 54 becomes the second log 542 and second log 543 of the visualized log information 222.
[0054] Similarly, the third display area 55 contains the third logs 552 and 553 of the visualized log information 222. The first log 532, the second log 542, and the third log 552 represent continuously occurring processing information (state), while the second log 543 and the third log 553 represent instantaneously occurring processing information. In other words, the visualized log information 222 includes the software state and text logs.
[0055] As a result, the visualization device 2 can output visualization log information 222 to the display device 3 for each piece of software processing information. Therefore, users such as software developers can easily understand the state of the software by checking the output log file and improve the efficiency of analysis work.
[0056] Next, the processing flow executed by the information processing system 100 will be explained using Figures 7, 8, 9, and 10.
[0057] Figure 7 is a flowchart showing an example of the processing flow performed by the log output device 1 according to the embodiment. The execution unit 11 executes the software to be analyzed (step S71). Next, the generation unit 12 generates log files corresponding to the processing results of the software to be analyzed executed by the execution unit 11 (step S72). Next, the generation unit 12 saves the generated log files to the storage unit (step S73). Next, the transmission unit 13 transmits log information 221 related to the multiple log files generated by the generation unit 12 to the visualization device 2 (step S74). When the processing in step S74 is completed, this process performed by the log output device 1 is completed.
[0058] Figures 8, 9, and 10 are flowcharts illustrating an example of the processing flow performed by the visualization device 2 according to this embodiment. The flowchart shown in Figure 8 is assumed to start after the processing of step S74 shown in Figure 7 has been completed.
[0059] The acquisition unit 211 acquires log information 221 relating to multiple log files transmitted by the log output device 1 (step S81). Next, the acquisition unit 211 sorts the acquired log information 221 in chronological order (step S82). The acquisition unit 211 stores the chronologically sorted log information 221 in the storage unit 22 (step S83). Subsequently, the identification unit 212 identifies the software processing information from the log information 221 relating to multiple log files acquired by the acquisition unit 211 based on the reference table T1 (step S84).
[0060] Next, the generation unit 213 generates visualized log information 222 that visualizes the log information 221 based on the software processing information identified by the identification unit 212 (step S85). Subsequently, the assignment unit 214 identifies whether each piece of software processing information included in the visualized log information 222 contains first information indicating instantaneously occurring events (step S86). Here, if the assignment unit 214 identifies that the visualized log information 222 does not contain the first information (step S86: No), the process proceeds to step S88. On the other hand, if the assignment unit 214 identifies that the visualized log information 222 does contain the first information (step S86: Yes), the process proceeds to step S87.
[0061] In step S87, if the visualization log information 222 contains first information indicating an instantaneously occurring event in the software processing information, the assignment unit 214 assigns time interval information to the visualization log information 222 that indicates a time interval longer than the time when the first information occurred (step S87). In step S88, if the visualization log information 222 does not contain the first information, the assignment unit 214 assigns time interval information indicating a time interval in which the second information occurred (step S88). In this specification, the absence of the first information and the presence of the second information are considered synonymous.
[0062] In step S89, the assignment unit 214 associates the assigned time interval information with the visualization log information 222 and stores it in the storage unit 22 (step S89). When the processing in step S89 is completed, this process performed by the visualization device 2 is completed.
[0063] The flowchart shown in Figure 9 is assumed to start after the processing of step S89 shown in Figure 8 is completed. The display control unit 215 reads the time and string of the visualized log information 222, which are included in the time interval information assigned to the visualized log information 222 by the assignment unit 214 (step S101). Subsequently, the display control unit 215 outputs the time at the beginning of the log information 221 or the visualized log information 222 to the display device 3 (step S102).
[0064] Next, the display control unit 215 outputs the string of the visualized log information 222 to the display device 3 for each piece of software processing information (step S103). Next, the display control unit 215 reads the time and string of the log information 221 acquired by the acquisition unit 211 (step S104). Next, the display control unit 215 outputs the time and string of the read log information 221 to the display device 3 (step S105).
[0065] Next, the display control unit 215 outputs a time manipulation unit 52 to the display device 3 that allows the user to manipulate the time of the log information 221 based on the time of the log information 221 (step S106). Once the processing in step S106 is completed, this process performed by the visualization device 2 is finished.
[0066] The flowchart shown in Figure 10 is assumed to start after the processing in step S106 shown in Figure 9 is completed. The display control unit 215 acquires position information regarding the position of the time operation unit 52 operated by the user (step S111). Next, the display control unit 215 identifies the input time corresponding to the position information of the time operation unit 52 (step S112). Next, the display control unit 215 outputs visualization log information 222 corresponding to the identified input time to the display device 3 (step S113). When the processing in step S113 is completed, the process proceeds to step S111, and this process continues while the visualization device 2 is running.
[0067] As described above, the visualization device 2 according to one aspect of this disclosure identifies the software processing information indicated by each log file from log information 221 relating to a plurality of log files, and generates visualization log information 222 that visualizes the log information 221 based on the identified processing information. The visualization device 2 then adds time interval information indicating the time interval to be visualized for each predetermined processing information to the visualization log information 222, and outputs the visualization log information 222 to the display device 3 based on the time interval information.
[0068] For example, the visualization device 2 outputs visualization log information 222 to the display device 3 for each piece of software processing information. This allows users such as software developers to easily understand the state of the software by checking the output log file, thereby improving the efficiency of analysis work.
[0069] Furthermore, if each piece of software processing information in the visualization log information 222 contains first information indicating an instantaneous event, the visualization device 2 adds time interval information indicating a time interval longer than the time when the first information occurred. In addition, if each piece of software processing information in the visualization log information 222 contains second information indicating a continuously occurring event, the visualization device 2 adds time interval information indicating the time interval in which the second information occurred.
[0070] As a result, even when a large amount of text is output from the log file, or when it is difficult to pinpoint the instantaneous time of software processing based solely on text format, the visualization device 2 outputs a time interval set to be long from the instantaneous time of software processing, allowing users to easily understand the state of the software.
[0071] Furthermore, the visualization device 2 outputs visualization log information 222 corresponding to the input time entered by the user to the display device 3 for each piece of processing information. By checking the output log file according to the input time entered, the user can easily understand the state of the software and improve the efficiency of the analysis work.
[0072] The embodiments described above can also be modified and implemented as appropriate by changing some of the configurations or functions of each of the devices described above. Therefore, several modifications of the embodiments described above will be described below as other embodiments. In the following, we will mainly describe the differences from the embodiments described above, and will omit detailed explanations of points that are common with what has already been described.
[0073] (First variation) For example, the display control unit 215 may output to the display device 3 a plurality of time manipulation units that allow the user to manipulate the time of the log information 221.
[0074] Figure 11 is a schematic diagram illustrating the visualized log information 222 output to the display device 3 according to the first modified example. The display device 3 shown in Figure 11 is the output of the text scroll operation unit 58, which the user scrolls the log information 221 over in relation to Figure 6. The text scroll operation unit 58 is output superimposed on the fourth display area 56.
[0075] For example, the user checks the log file of log information 221 output in the fourth display area 56 and operates the text scroll operation unit 58 along the arrow 59 to change the input time from "2024 / 4 / 1 12:54.500" (see time display area 51 in Figure 5) to "2024 / 4 / 1 13:02.000" (see time display area 51 in Figure 11). Then, the display control unit 215 simultaneously updates the software status and text log included in the visualized log information 222 in accordance with the input time. The text scroll operation unit 58 is also called the time operation unit.
[0076] This allows users, such as software developers, to check the status of the software's processing by reviewing the log file containing log information 221. Therefore, by reviewing the output log file, users can easily understand the software's status and improve the efficiency of their analysis work.
[0077] (Second variation) For example, the visualization device 2 may identify software processing information from log information 221 based on the output format of the log file. By implementing code in which the log output device 1 incorporates labels into the log file, the visualization device 2 can identify software processing information from log information 221 based on the output format of the log file.
[0078] Figure 12 is a schematic diagram showing an example of log information relating to the second modified example. The log information 121 shown in Figure 12 consists of multiple log files arranged in a row. The format of the log files in the log information 121 shown in Figure 12 includes, for example, reference string information 122 indicating the reference string to be visualized, an item 123 indicating whether or not it is first information indicating an instantaneously occurring event in the software processing information, software processing information 124, and processing unit information 125 relating to the software processing unit.
[0079] For example, the identification unit 212 identifies that the software processing information is to be visualized if the log file of the log information 121 contains the reference string information 122 [label]. Then, the generation unit 213 generates the visualized log information in Figure 13 based on that processing unit.
[0080] Figure 13 is a schematic diagram showing an example of visualization log information related to the second modified example. The visualization log information 131 shown in Figure 13 consists of an event ID indicating an identifier for tracing a series of events, a timestamp regarding the time the event occurred, reference string information 122 indicating a reference string to be visualized, an item 123 indicating whether or not it is first information indicating an instantaneous event in the software processing information, software processing information 124, and processing unit information 125 regarding the software processing unit.
[0081] Furthermore, for example, the assignment unit 214, with respect to the visualized log information 131 including the [label] (see Figure 12) of the identified reference string information 122, identifies each piece of software processing information as second information indicating a continuously occurring event if the item 123 regarding whether or not it is first information indicating an instantaneous event is [State], and assigns time interval information indicating the time interval in which the second information occurred. Also, with respect to the visualized log information 131 including the [label] (see Figure 12) of the identified reference string information 122, the assignment unit 214, with respect to each piece of software processing information as first information indicating an instantaneous event if the item 123 regarding whether or not it is first information indicating an instantaneous event is [Writedata] or [UserEvent], identifies it as first information indicating an instantaneous event, and assigns time interval information indicating a time interval longer than the time in which the first information occurred.
[0082] As a result, the visualization device 2 can generate visualization log information 131 based on the output format of the log file output by the log output device 1.
[0083] (Third variation) For example, the visualization device 2 may identify software processing information from log information 221 based on a predetermined string contained in the log file. The log output device 1 uses DLT (Diagnostic Log and Trace), as specified in AUTOSAR, to embed an Application ID or Context ID in the extended header of the log file to identify software, applications, or groups thereof. The visualization device 2 then identifies the software processing information by combining one or both of these IDs.
[0084] Figure 14 is a reference table for identifying the processing unit information of the software related to the third modification. The reference table T3 shown in Figure 14 is information that associates the Application ID, Context ID, and processing unit information.
[0085] For example, if the Application ID in reference table T3 contains only the arbitrary string "xxxx", the processing unit information will be "AudioVisual". If the Application ID contains the arbitrary string "AAAA" and the Context ID contains the arbitrary string "BBBB", the processing unit information will be "AudioPath". Furthermore, if the Context ID contains only the arbitrary string "yyyy", the processing unit information will be "Frontend". Note that reference table T1 is not limited to these examples and will be set appropriately according to the software's processing unit.
[0086] For example, the identification unit 212 identifies the processing unit information to be visualized if the log file of log information 121 contains a combination of Application ID and Context ID as shown in Figure 14. Then, the generation unit 213 generates the visualized log information shown in Figure 15 based on that processing unit information.
[0087] Figure 15 is a schematic diagram showing an example of visualized log information related to the third modified example. The visualized log information 151 shown in Figure 15 consists of multiple log files arranged in a row. The log file format of the visualized log information 151 shown in Figure 15 includes an event ID indicating an identifier for tracing a series of events, a timestamp indicating the time the event occurred, an AppID indicating the Application ID, a CtxID indicating the Context ID, and a reference string for the log file.
[0088] For example, the assignment unit 214 identifies the processing unit information using the Application ID and Context ID of the log file of the visualization log information 151. This allows the visualization device 2 to generate visualization log information 151 based on a predetermined string included in the log file output by the log output device 1.
[0089] (Fourth variation) For example, the visualization device 2 may include the functional configuration of the log output device 1. The visualization device 2 may also include a display device 3.
[0090] (Hardware configuration) Figure 16 shows an example of the hardware configuration of the information processing system 100 according to the embodiment and modified example.
[0091] In the information processing system 100 of the above embodiment and modified examples, the log output device 1, visualization device 2, and display device 3 are interconnected by a bus or the like, and the processor 61, main memory 62, auxiliary memory 63, and device I / F 64 are connected to each other, resulting in a hardware configuration using a normal computer.
[0092] The processor 61 is, for example, a CPU, and is an arithmetic unit that controls the log output device 1, visualization device 2, and display device 3 of the above embodiment and modified examples. The main memory 62 is, for example, RAM, and stores data necessary for various processes performed by the processor 61. The auxiliary memory 63 is, for example, ROM, and stores programs and the like that realize information processing by the processor 61.
[0093] The device I / F64 is an interface for various inputs, outputs, and / or communications of the log output device 1, the visualization device 2, and the display device 3. For example, the device I / F64 may include an output interface configured to allow connection of an external output device that outputs audio, images, or video, or to function as such an output device. Various displays (display components) such as liquid crystal displays (LCDs), organic EL (Electro-Luminescence) displays, projectors, and speakers can be used as output devices as appropriate.
[0094] For example, the device I / F64 may include an input interface configured to allow connection of an external input device for acquiring user operations, or configured to function as such an input device. Suitable input devices include keyboards, mice, touch panels, microphones, etc. For example, the device I / F64 may include a communication interface configured to allow connection of an external communication device for communicating with the log output device 1, visualization device 2, and display device 3, or configured to function as such a communication device.
[0095] As for the communication interface, wired communication circuits such as USB (Universal Serial Bus®) and Ethernet®, or wireless communication circuits compatible with various standards such as 3G, LTE, 4G, 5G, 6G, Wi-Fi®, and Bluetooth® can be used as appropriate. Furthermore, if the log output device 1 and the visualization device 2 each have independent USB interfaces, the log output device 1 can store log files on an external storage medium such as a USB memory stick, and this external storage medium can be connected to the visualization device 2 to allow the visualization device 2 to read the log files.
[0096] In the above embodiment and modified log output device 1, visualization device 2, and display device 3, the processor 61 reads a program from the auxiliary storage device 63 onto the main storage device 62 and executes it, thereby realizing each of the above-mentioned functional units on the computer.
[0097] Furthermore, the programs for executing the above-mentioned processes performed by the log output device 1, visualization device 2, and display device 3 of the above embodiment and modified examples may be stored in an HDD (hard disk drive). Alternatively, the programs for executing the above-mentioned processes performed by the log output device 1, visualization device 2, and display device 3 of the above embodiment and modified examples may be pre-installed and provided in an auxiliary storage device 63.
[0098] Furthermore, the program for executing the above-mentioned processing performed by the log output device 1, visualization device 2, and display device 3 of the above-described embodiment and modified version may be provided as a computer program product by being stored in an installable or executable file format on a computer-readable storage medium such as a CD-ROM, CD-R, memory card, DVD (Digital Versatile Disk), or flexible disk (FD). Alternatively, the program for executing the above-mentioned information processing performed by the log output device 1, visualization device 2, and display device 3 of the above-described embodiment and modified version may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Furthermore, the program for executing the above-mentioned information processing performed by the log output device 1, visualization device 2, and display device 3 of the above-described embodiment and modified version may be provided or distributed via a network such as the Internet.
[0099] According to at least one embodiment described above, the state of the software can be easily understood, and the efficiency of the analysis work can be improved.
[0100] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents. [Explanation of symbols]
[0101] 1. Log output device 2 Visualization device 3 Display device 11 Execution Unit 12 Generation part 13 Transmitter 21 Control Unit 22 Memory section 100 Information Processing Systems 211 Acquisition Department 212 Specific section 213 Generation part 214 Assignment section 215 Display Control Unit
Claims
1. An identification unit that identifies the software processing information indicated by each log file from log information related to multiple log files, A generation unit generates visualization log information that visualizes the log information based on the processing information identified by the identification unit, An assignment unit that assigns time interval information indicating a time interval to be visualized for each predetermined processing information to the visualization log information, A display control unit that outputs the visualized log information to a display device based on the time interval information, An information processing device equipped with the following features.
2. The aforementioned attachment unit is, If each of the processing pieces of the visualization log information includes first information indicating an instantaneous event, then time interval information indicating a time interval longer than the time when the first information occurred is added. If each of the processing information includes second information indicating a continuously occurring event, then time interval information indicating the time interval in which the second information occurred is added to the visualization log information. The information processing apparatus according to claim 1.
3. The identification unit identifies the processing information from the log information based on at least one of the following: reference information including a reference string relating to the processing of the software to be visualized, the output format of the log file, the file name of the log file, and a predetermined string to be included in the log file. The information processing apparatus according to claim 1.
4. The generation unit adds the processing information identified by the identification unit to the visualization log information. The display control unit outputs the visualization log information to the display device along with the processing information. The information processing apparatus according to claim 3.
5. The visualization log information includes the software status and text logs. The information processing apparatus according to claim 4.
6. The display control unit outputs the visualization log information corresponding to the input time to the display device for each piece of processing information, according to the input time entered by the user. The information processing apparatus according to claim 1.
7. The display control unit simultaneously updates the software status and text log included in the visualization log information in accordance with the input time. The information processing apparatus according to claim 6.
8. An information processing method to be executed by an information processing device, A specific step involves identifying the software processing information indicated by each log file from the log information of multiple log files, and A generation step that generates visualized log information to visualize the log information based on the identified processing information, The addition step involves adding time interval information indicating the time interval to be visualized for each predetermined processing information to the visualization log information, A display control step that outputs the visualized log information to a display device based on the aforementioned time interval information, Information processing methods including
9. On the computer, A specific step involves identifying the software processing information indicated by each log file from the log information of multiple log files, and A generation step that generates visualized log information to visualize the log information based on the identified processing information, The addition step involves adding time interval information indicating the time interval to be visualized for each predetermined processing information to the visualization log information, A display control step that outputs the visualized log information to a display device based on the aforementioned time interval information, An information processing program that executes [something].