Method of detecting infinite loop in real-time log from persistent integration environment

The output log of the continuous integration system is monitored through the log analysis system, and the adaptive window length and text feature extraction technology is used to solve the problem of detecting infinite loop operations, realize early recognition and resource savings, and improve equipment utilization.

CN119292910APending Publication Date: 2025-01-10DELL PROD LP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310838745.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-07
Publication Date
2025-01-10

Smart Images

  • Figure CN119292910A_ABST
    Figure CN119292910A_ABST
Patent Text Reader

Abstract

Embodiments in the present disclosure relate to a method of detecting an infinite loop in a real-time log from a persistent integration environment. Methods, systems, and non-transitory processor-readable storage media for a log analysis system are provided herein. An example method includes monitoring, by a log analysis system, execution of a persistent integration system on an information system. The log analysis system analyzes an output log of the persistent integration system to determine a trend associated with execution of the persistent integration system, and identifies jobs executed within the persistent integration system that are executed in an infinite loop based on the determined trend.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The field generally relates to real-time log collection, and more particularly to detecting infinite loops in real-time log collection in information processing systems. Background Art

[0002] Continuous integration is a process that greatly improves efficiency in the development and release of software products. Continuous integration supports the automated building and testing of applications. Summary of the invention

[0003] The illustrative embodiments provide techniques for implementing a log analysis system in a storage system. For example, the illustrative embodiments monitor the execution of a continuous integration system on an information system through a log analysis system. The log analysis system analyzes the output log of the continuous integration system to determine trends associated with the execution of the continuous integration system, and identifies jobs executed within the continuous integration system that are executed in an infinite loop based on the determined trends. Other types of processing devices may be used in other embodiments. These and other illustrative embodiments include, but are not limited to, apparatus, systems, methods, and processor-readable storage media. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] Figure 1 An information processing system including a log analysis system in an illustrative embodiment is shown.

[0005] Figure 2 A flow chart showing a process of a log analysis system in an illustrative embodiment is shown.

[0006] Figure 3 The results of the extracted text features and abnormal job logs in the illustrative embodiment are shown.

[0007] Figure 4 The extracted text features and results of a normal job log in an illustrative embodiment are shown.

[0008] Figure 5 The extracted text feature trends for abnormal and normal jobs are shown.

[0009] Figure 6 and Figure 7 An example of a processing platform that may be used to implement at least a portion of an embodiment of a log analysis system is shown. DETAILED DESCRIPTION

[0010] Illustrative embodiments will be described herein with reference to an exemplary computer network and associated computers, servers, network devices, or other types of processing devices. However, it should be understood that these and other embodiments are not limited to use with the specific illustrative network and device configurations shown. Therefore, the term "computer network" as used herein is intended to be interpreted broadly to include, for example, any system including multiple networked processing devices.

[0011] Described below is a technique for implementing a log analysis system, which can be used, among other things, to provide detection of jobs that are executed in an infinite loop by monitoring execution of a continuous integration system on an information system through the log analysis system. The log analysis system analyzes an output log of the continuous integration system to determine trends associated with the execution of the continuous integration system, and identifies jobs that are executed in an infinite loop that are executed within the continuous integration system based on the determined trends.

[0012] In research and development, there may be thousands of jobs running every day in a continuous integration system. Conventional techniques for monitoring jobs executed within a continuous integration system do not provide a mechanism for detecting when a job is executed in an infinite loop. Traditional techniques for continuous integration systems provide a job status that indicates that the job is still running even when the job has essentially failed due to being executed within an infinite loop. Jobs executed in infinite loops unnecessarily utilize valuable time, development, and testing resources. Traditional techniques for detecting job failures simply check for status updates (i.e., running or suspended), but jobs executed in an infinite loop will continue to provide status updates, so infinite loops will not be detected using traditional techniques. Traditional techniques for setting timeout limits for detecting infinite loops are inflexible because they can still allow jobs to execute in infinite loops for too long because the job is still executing and is therefore not a suspended job.

[0013] In contrast, in at least some implementations of the present technology described herein, an infinite execution loop is detected by monitoring the execution of a continuous integration system on an information system by a log analysis system. The log analysis system analyzes an output log of the continuous integration system to determine trends associated with the execution of the continuous integration system, and identifies jobs executed within the continuous integration system that are executing in an infinite loop based on the determined trends.

[0014] Therefore, an object of the present technology is to provide a method and system for a log analysis system for identifying jobs executed in an infinite loop. Another object is to save time and resources within a continuous integration system by detecting infinite loops shortly after the infinite loop occurs. Another object is to improve equipment utilization and save labor. Another object is to provide a flexible system that detects infinite loops without relying on timeout settings or relying on checking regular status updates (i.e., running or suspended), both of which are generally unable to detect infinite loops or are unable to detect infinite loops in a timely manner. Yet another object is to provide a system that can detect the difference between a suspended job and a job executed within an infinite loop.

[0015] In at least some implementations of the present technology described herein, use of a log analysis system can provide one or more of the following advantages: providing a log analysis system that identifies jobs that are executing in an infinite loop, saving time and resources within a continuous integration system by detecting infinite loops shortly after they occur, improving equipment utilization and saving labor costs, providing a flexible system that detects infinite loops without relying on timeout settings or relying on checking for regular status updates (i.e., running or suspended), both of which are typically unable to detect infinite loops or detect infinite loops in a timely manner, and providing a system that is able to detect the difference between a suspended job and a job executing within an infinite loop.

[0016] Compared to conventional techniques, in at least some implementations of the current techniques described herein, infinite loops are detected by monitoring the execution of a continuous integration system on an information system by a log analysis system. The log analysis system analyzes output logs of the continuous integration system to determine trends associated with the execution of the continuous integration system, and identifies jobs executed within the continuous integration system that are executed in an infinite loop based on the determined trends.

[0017] In an exemplary embodiment of the current technology, a log analysis system initiates a request for an output log of a continuous integration system. The log analysis system obtains a timestamp from the output log, wherein the timestamp is associated with a most recent output log entry in the output log, and compares the timestamp with a current timestamp to determine whether the output log has been updated within a given time period. When the log analysis system determines that the output log has been updated within the given time period, it initiates analysis of the output log.

[0018] In an example embodiment of the present technology, a log analysis system determines an adaptive window length for output logs.

[0019] In an example embodiment of the present technology, the log analysis system increases an adaptive window length for the output log until a pattern in the output log is detected.

[0020] In an example embodiment of the present technology, the log analysis system increases an adaptive window length for the output log until the adaptive window length captures the execution of the continuous integration system over a given period of time.

[0021] In an exemplary embodiment of the current technology, the log analysis system segments an output log into a plurality of output log segments according to an adaptive window length, and removes irrelevant text from each of the plurality of output log segments.

[0022] In an example embodiment of the present technology, a log analysis system obtains a subset of a plurality of output log segments, wherein the subset includes a most recently generated entry of the output log.

[0023] In an exemplary embodiment of the present technology, a log analysis system identifies patterns in a plurality of output log segments and marks the patterns in the plurality of output log segments.

[0024] In an example embodiment of the present technology, a log analysis system identifies trends associated with the execution of a continuous integration system based on marked patterns.

[0025] In an exemplary embodiment of the present technology, a log analysis system predicts subsequent marked patterns based on marked patterns and trends.

[0026] In an example embodiment of the present technology, a log analysis system identifies a last marked pattern associated with a most recently generated entry in a plurality of output log segments.

[0027] In an exemplary embodiment of the current technology, the log analysis system uses a linear regression model to predict patterns for subsequent tags.

[0028] In an example embodiment of the present technology, a log analysis system extracts text features in output log segments.

[0029] In an exemplary embodiment of the present technology, a log analysis system obtains trigrams of text in an output log segment, sorts the trigrams by frequency, and converts the trigrams into substrings to obtain extracted text features.

[0030] In an exemplary embodiment of the present technology, the log analysis system sorts the trigrams by frequency individually for each output log segment.

[0031] In an exemplary embodiment of the current technology, the log analysis system removes duplicate substrings and connects the substrings into a string to identify text features of the output log segment.

[0032] In an exemplary embodiment of the current technology, a log analysis system compares a pattern of predicted subsequent tags with a pattern of last tags associated with an output log of a continuous integration system. The log analysis system determines that the pattern of last tags matches the pattern of predicted subsequent tags. The log analysis system determines that a job associated with the output log of the continuous integration system is executing in an infinite loop.

[0033] In an exemplary embodiment of the present technology, a log analysis system determines that a job associated with an output log of a continuous integration system is executing in an infinite loop before the job is scheduled to complete.

[0034] Figure 1 A computer network (also referred to herein as an information processing system) 100 configured in accordance with an illustrative embodiment is shown. Computer network 100 includes continuous integration system 101, log analysis system 105, and information system 102-N. Continuous integration system 101, log analysis system 105, and information system 102-N are coupled to network 104, where in this embodiment it is assumed that network 104 represents a subnetwork or other related portion of a larger computer network 100. Therefore, elements 100 and 104 are both referred to herein as examples of "networks", but in Figure 1 In the context of the embodiments, it is assumed that the latter is a component of the former. Also coupled to the network 104 is a log analysis system 105 that may reside on a storage system. Such a storage system may include any of a variety of different types of storage, including network attached storage (NAS), storage area network (SAN), direct attached storage (DAS), and distributed DAS, as well as combinations of these and other storage types, including software defined storage.

[0035] Each of the information systems 102-N may include, for example, a server and / or portions of one or more server systems, as well as devices such as mobile phones, laptop computers, tablet computers, desktop computers, or other types of computing devices. Such devices are examples of what are more generally referred to herein as "processing devices." Some of these processing devices are also often referred to herein as "computers."

[0036] In some embodiments, information systems 102-N include respective computers associated with a particular company, organization, or other enterprise. In addition, at least a portion of computer network 100 may also be collectively referred to herein as comprising an "enterprise network." As will be appreciated by those skilled in the art, many other operational scenarios involving various different types and arrangements of processing devices and networks are possible.

[0037] Furthermore, it should be understood that the term "user" in this context and elsewhere herein is intended to be broadly interpreted to include, for example, a person, a hardware, software or firmware entity, and various combinations of these entities.

[0038] It is assumed that network 104 comprises a portion of a global computer network such as the Internet, although other types of networks may be part of computer network 100, including a wide area network (WAN), a local area network (LAN), a satellite network, a telephone or wired network, a cellular network, a wireless network such as a Wi-Fi or WiMAX network, or various portions or combinations of these and other types of networks. Thus, in some embodiments, computer network 100 comprises a combination of multiple different types of networks, each network including processing devices configured to communicate using the Internet Protocol (IP) or other related communication protocols.

[0039] One or more input-output devices are also associated with the log analysis system 105, which illustratively include a keyboard, a display, or any combination of other types of input-output devices. Such input-output devices can be used, for example, to support one or more user interfaces to the log analysis system 105, and to support communication between the log analysis system 105 and other related systems and devices that are not explicitly shown. For example, a dashboard can be provided for users to view the execution progress of the log analysis system 105. One or more input-output devices can also be associated with any of the information systems 102-N.

[0040] Furthermore, it is assumed that at least one processing device is used to implement Figure 1 The log analysis system 105 in the embodiment. Each such processing device generally includes at least one processor and associated memory, and implements one or more functional modules for controlling certain features of the log analysis system 105.

[0041] More specifically, the log analysis system 105 in this embodiment may include a processor coupled to a memory and a network interface.

[0042] The processor illustratively includes a microprocessor, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other type of processing circuit, as well as portions or combinations of these circuit elements.

[0043] The memory illustratively includes any combination of random access memory (RAM), read-only memory (ROM) or other types of memory. The memory and other memories disclosed herein can be regarded as examples of what is more generally referred to as "processor-readable storage media" storing executable computer program code or other types of software programs.

[0044] One or more embodiments include articles of manufacture, such as computer-readable storage media. Examples of articles of manufacture include, but are not limited to, storage devices such as storage disks, storage arrays, or integrated circuits containing memory, and various other types of computer program products. The term "article of manufacture" as used herein should be understood to exclude transient propagating signals. These and other references to "disc" herein are intended to refer generally to storage devices, including solid-state drives (SSDs), and therefore should not be considered to be limited in any way to rotating magnetic media.

[0045] The network interface allows log analysis system 105 to communicate with continuous integration system 101 and information systems 102 -N over network 104 , and illustratively includes one or more conventional transceivers.

[0046] The log analysis system 105 may be implemented at least in part in the form of software stored in a memory and executed by a processor, and may reside in any processing device. The log analysis system 105 may be a stand-alone plug-in that may be included within a processing device.

[0047] It should be understood that Figure 1 The specific set of elements for the log analysis system 105 (including the continuous integration system 101) and the information system 102-N of the computer network 100 shown in the figure are presented only by way of illustrative examples, and in other embodiments, additional or alternative elements may be used. Therefore, another embodiment includes additional or alternative systems, devices and other network entities, and different arrangements of modules and other components. For example, in at least one embodiment, one or more of the log analysis systems 105 can be on the same processing platform and / or on a portion of the same processing platform.

[0048] References such as Figure 2 The flowchart of FIG. 1 describes an exemplary process of the log analysis system 105 in the computer network 100 in more detail.

[0049] Figure 2 is a flow chart of a process for executing the log analysis system 105 in an illustrative embodiment. It should be understood that this particular process is only one example, and that additional or alternative processes may be performed in other embodiments.

[0050] At 200, the log analysis system 105 monitors the execution of the continuous integration system 101 on the information system. Examples of the continuous integration system 101 may include, but are not limited to, Jenkins, Circlec, Gitlab, and the like.

[0051] At 202, the log analysis system 105 analyzes the output log of the continuous integration system to determine trends associated with the execution of the continuous integration system. In an example embodiment, the log analysis system 105 initiates a request for the output log of the continuous integration system 101. For example, a job executed on the continuous integration system 101 may have been executed for n hours. The log analysis system 105 determines whether the job has been updated within x hours, where 1≤x≤n. In an exemplary embodiment, the log analysis system 105 uses, for example, a Python request module to initiate a request to obtain the latest console text log. The log analysis system 105 then analyzes the console text log to determine the status of the job execution. In an example embodiment, the log analysis system 105 obtains a timestamp from the output log (i.e., the latest console text log), wherein the timestamp is associated with the most recent output log entry in the output log. The log analysis system 105 then compares the timestamp with the current timestamp to determine whether the output log has been updated within a given time period. In an example embodiment, the log analysis system 105 obtains the last timestamp from the console log and compares it with the current time. As described above, if the job has been executed for n hours, the log analysis system 105 determines whether the job has been updated in x hours. Therefore, if the difference between the last timestamp of the console log and the current time exceeds x hours, it means that the console log has not been updated in more than x hours and may have been suspended. However, if the job execution has been updated within a given time period (i.e., less than x hours), the job is not suspended. In this example scenario, the log analysis system 105 initiates analysis of the output log when it is determined that the output log has been updated within a given time period (where x hours is the given time period).

[0052] In an example embodiment, the log analysis system 105 determines an adaptive window length for the output log. For example, the adaptive window length may be y hours, where 0≤y≤x. In an example embodiment, the log analysis system 105 increases the adaptive window length for the output log until a pattern in the output log is detected. In an example embodiment, the log analysis system 105 increases the adaptive window length for the output log until the adaptive window length captures the execution of the continuous integration system over a given time period. In other words, the log analysis system 105 increases the adaptive window length until a repeating pattern is found, or y=x.

[0053] In an example embodiment, the log analysis system 105 segments the output log into multiple output log segments according to the adaptive window length, and removes irrelevant text from each of the multiple output log segments. For example, the log analysis system 105 divides the output log into n windows and clears the text of each window. For example, the timestamps in the output log change over time and can be filtered out, as can unnecessary punctuation. These need to be filtered out because they may affect the extraction of text features required to determine whether the job is executed in an infinite loop.

[0054] In an example embodiment, the log analysis system 105 obtains a subset of the plurality of output log segments, wherein the subset includes the most recently generated entries of the output log. In other words, the log analysis system 105 identifies the latest m windows in the set of n windows in order to obtain the latest status of the execution job.

[0055] In an example embodiment, the log analysis system 105 identifies patterns in the plurality of output log segments and marks the patterns in the plurality of output log segments. For example, the log analysis system 105 identifies patterns in the last m windows of the set of n windows.

[0056] In an example embodiment, the log analysis system 105 identifies a pattern by extracting text features in the output log segment. In an example embodiment, the log analysis system 105 obtains trigrams of the text in the output log segment. For example, the log analysis system 105 uses an n-gram algorithm to obtain trigrams of each text line in each of the m windows. In an example embodiment, the log analysis system 105 sorts the trigrams by frequency. In another example embodiment, the log analysis system 105 sorts the trigrams by frequency for each output log segment (i.e., every m windows). In an exemplary embodiment, the log analysis system 105 converts the trigrams into substrings to obtain the extracted text features. In an exemplary embodiment, the log analysis system 105 removes duplicates from the substrings and connects the substrings into strings to identify the text features of the output log segment.

[0057] In an example embodiment, the log analysis system 105 identifies trends associated with the execution of the continuous integration system based on the marked patterns. In an example embodiment, the log analysis system 105 identifies trends for the identified text features. For example, the log analysis system 105 identifies the text features of each of the m windows. If the text features of the m windows are different from each other, the log analysis system 105 marks each of the m windows differently. If some or all of the text features in the m windows are the same, the log analysis system 105 marks those windows (having the same identified text features) with the same tag.

[0058] In an example embodiment, the log analysis system 105 predicts a pattern of subsequent markings based on the marked patterns and trends. In other words, the log analysis system 105 predicts the label for the theoretical next window in a set of m windows. The log analysis system 105 does this by first identifying the last marked pattern associated with the most recently generated entry in multiple output log segments. In other words, the log analysis system 105 identifies the most recently generated m windows and identifies the marking pattern associated with the most recently generated m windows. In an example embodiment, the log analysis system 105 predicts the pattern of markings for the theoretical next window in a set of m windows by predicting the subsequent marking pattern using a linear regression model. In an example embodiment, the log analysis system 105 uses the identified trend to use linear regression to predict the label associated with the text feature in the theoretical next window.

[0059] At 204, a job executed within the continuous integration system that is being executed in an infinite loop is identified by the log analysis system based on the determined trend. In an example embodiment, a job may fail due to production issues, test script issues, test environment issues, network issues, etc., and may be executed in an infinite loop. In an example embodiment, the log analysis system 105 compares the pattern of predicted subsequent tags with the pattern of the last tags associated with the output log of the continuous integration system. In other words, the log analysis system 105 compares the tag pattern of the theoretical next window in the set of m windows with the pattern of tags associated with the most recently generated m windows. If the log analysis system 105 determines that the pattern of the last tag matches the pattern of the predicted subsequent tags, the log analysis system 105 determines that the job associated with the output log of the continuous integration system is being executed in an infinite loop, as shown in FIG. Figure 3 In an example embodiment, the log analysis system 105 determines that a job associated with an output log of the continuous integration system is executing in an infinite loop before the job is scheduled to complete.

[0060] Therefore, combined with Figure 2 The specific processing operations and other functions described in the flowcharts are presented only by illustrative examples and should not be interpreted as limiting the scope of the present disclosure in any way. For example, the order of the processing steps can be changed in other embodiments, or certain steps can be performed simultaneously with each other rather than in series.

[0061] Figure 3 The results of the extracted text features and abnormal job log in the illustrative embodiment are shown. In this exemplary embodiment, the extracted text features for each window are the same, so the marked patterns are the same. The predicted markings for the next window using linear regression are also the same (in this example, the marked pattern is "6"), so the job is executed in an infinite loop. Figure 5a shows the trend of text features extracted within 3 hours for a job executed in an infinite loop.

[0062] Figure 4 The extracted text features and results of a normal job log in an illustrative embodiment are shown. In this exemplary embodiment, the extracted text features of each window are different from each other, and therefore, the marked patterns are also different. The predicted label of the next window using linear regression is different from the most recent window (in this example, the predicted next marked pattern is "0"), so the job is "updated" and therefore executed correctly. Figure 5 b shows the trend of text features extracted within 3 hours for a job that is executed normally.

[0063] The above illustrative embodiments provide significant advantages over traditional methods. For example, some embodiments are configured to identify jobs executed in infinite loops within a continuous integration system. Relative to traditional methods, these and other embodiments can effectively improve the detection of jobs executed in infinite loops on information systems. For example, embodiments disclosed herein provide a log analysis system for identifying jobs executed in infinite loops. Embodiments disclosed herein save time and resources within a continuous integration system by detecting infinite loops shortly after the infinite loops occur. Embodiments disclosed herein improve equipment utilization and save labor costs. Embodiments disclosed herein provide a flexible system that detects infinite loops without relying on timeout settings or without relying on checking regular status updates (i.e., running or hanging), both of which are generally unable to detect infinite loops or detect infinite loops in a timely manner. Embodiments disclosed herein provide a system that can detect the difference between a suspended job and a job executed within an infinite loop.

[0064] It should be understood that the specific advantages described above and elsewhere herein are associated with specific illustrative embodiments and are not necessarily present in other embodiments. In addition, the specific types of information processing system features and functions shown in the drawings and described above are only exemplary, and many other arrangements can be used in other embodiments.

[0065] As previously described, at least part of the information handling system 100 may be implemented using one or more processing platforms. A given such processing platform includes at least one processing device including a processor coupled to a memory. In some embodiments, the processor and memory include corresponding processor and memory elements of a virtual machine or container provided using one or more underlying physical machines. The term "processing device" used herein is intended to be broadly interpreted as including various different arrangements of physical processors, memory and other device components and virtual instances of these components. For example, in some embodiments, a "processing device" may include or execute across one or more virtual processors. Therefore, a processing device may be physical or virtual and may execute on one or more physical or virtual processors. It should also be noted that a given virtual device may be mapped to a portion of a physical device.

[0066] Some illustrative embodiments of a processing platform for implementing at least a portion of an information handling system include a cloud infrastructure that includes virtual machines implemented using a hypervisor running on a physical infrastructure. The cloud infrastructure also includes a set of applications running on each virtual machine under the control of the hypervisor. Multiple hypervisors may also be used, each hypervisor providing a set of virtual machines using at least one underlying physical machine. Different sets of virtual machines provided by one or more hypervisors may be used to configure multiple instances of various components of the system.

[0067] These and other types of cloud infrastructures can be used to provide what is also referred to herein as a multi-tenant environment. One or more system components, or portions thereof, are illustratively implemented for use by tenants of such a multi-tenant environment.

[0068] As mentioned above, the cloud infrastructure disclosed herein may include cloud-based systems. Virtual machines provided in these systems may be used to implement at least a portion of the computer system in the illustrative embodiments.

[0069] In some embodiments, the cloud infrastructure additionally or optionally includes multiple containers implemented using a container host device. For example, as described in detail herein, a given container of the cloud infrastructure illustratively includes a Docker container or other type of Linux container (LXC). The container runs on a virtual machine in a multi-tenant environment, although other arrangements are possible. Containers are used to implement various different types of functions within the information processing system 100. For example, containers can be used to implement corresponding processing devices that provide computing and / or storage services for a cloud-based system. Similarly, containers can be used in conjunction with other virtualization infrastructures such as virtual machines implemented using a hypervisor.

[0070] Now refer to Figure 6 and Figure 7Illustrative embodiments of the processing platform are described in more detail. Although described in the context of information handling system 100, in other embodiments, these platforms may also be used to implement at least a portion of other information handling systems.

[0071] Figure 6 An example processing platform is shown that includes a cloud infrastructure 600. The cloud infrastructure 600 includes a combination of physical and virtual processing resources for implementing at least a portion of the information processing system 100. The cloud infrastructure 600 includes a plurality of virtual machines (VMs) and / or container sets 602-1, 602-2, ..., 602-L implemented using a virtualization infrastructure 604. The virtualization infrastructure 604 runs on a physical infrastructure 605 and illustratively includes one or more hypervisors and / or operating system-level virtualization infrastructure. The operating system-level virtualization infrastructure illustratively includes a kernel control group of a Linux operating system or other type of operating system.

[0072] The cloud infrastructure 600 also includes application sets 610-1, 610-2, ..., 610-L running on corresponding VM / container sets in the VM / container sets 602-1, 602-2, ..., 602-L under the control of the virtualization infrastructure 604. The VM / container set 602 includes a corresponding VM, a corresponding set of one or more containers, or a corresponding set of one or more containers running in a VM. Figure 6 In some implementations of the embodiments, the VM / container set 602 includes respective VMs implemented using a virtualization infrastructure 604 including at least one hypervisor.

[0073] A hypervisor platform may be used to implement a hypervisor within the virtualized infrastructure 604, wherein the hypervisor platform has an associated virtual infrastructure management system. The underlying physical machines include one or more distributed processing platforms, which include one or more storage systems.

[0074] exist Figure 6 In other implementations of the embodiment, VM / container set 602 includes corresponding containers implemented using virtualization infrastructure 604, which provides operating system level virtualization functions, such as support for Docker containers running on a metal host or Docker containers running on a VM. The containers are illustratively implemented using various kernel control groups of the operating system.

[0075] As is apparent from the above, one or more processing modules or other components of information handling system 100 may each run on a computer, server, storage device or other processing platform element. Such a given element is considered an example of what is more generally referred to herein as a "processing device". Figure 6The cloud infrastructure 600 shown may represent at least a portion of a processing platform. Another example of such a processing platform is Figure 7 Processing platform 700 is shown.

[0076] The processing platform 700 in this embodiment comprises a part of the information processing system 100 and includes a plurality of processing devices 702 - 1 , 702 - 2 , 702 - 3 , . . . , 702 -K which communicate with each other via a network 704 .

[0077] Network 704 includes any type of network including, for example, a global computer network such as the Internet, a WAN, a LAN, a satellite network, a telephone or wired network, a cellular network, a wireless network such as a Wi-Fi or WiMAX network, or various portions or combinations of these and other types of networks.

[0078] The processing device 702 - 1 in the processing platform 700 includes a processor 710 coupled to a memory 712 .

[0079] Processor 710 includes a microprocessor, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other type of processing circuit, as well as portions or combinations of such circuit elements.

[0080] The memory 712 includes any combination of random access memory (RAM), read-only memory (ROM), or other types of memory. The memory 712 and other memories disclosed herein should be viewed as illustrative examples of what is more generally referred to as a "processor-readable storage medium" that stores executable program code for one or more software programs.

[0081] Articles comprising such processor-readable storage media are considered to be illustrative embodiments. Such articles given include, for example, a storage array, a storage disk, or an integrated circuit containing RAM, ROM or other electronic memory, or any of a variety of other types of computer program products. The term "article" as used herein should be understood to exclude transient propagation signals. Many other types of computer program products comprising processor-readable storage media may be used.

[0082] Also included in the processing device 702-1 is a network interface circuit 714 for interfacing the processing device with the network 704 and other system components, and may include a conventional transceiver.

[0083] It is assumed that the other processing devices 702 of the processing platform 700 are configured in a similar manner to the processing device 702 - 1 shown in the figure.

[0084] Furthermore, the specific processing platform 700 shown in the figure is presented only as an example, and information processing system 100 may include additional or alternative processing platforms, as well as multiple different processing platforms in any combination, each such platform including one or more computers, servers, storage devices or other processing devices.

[0085] For example, other processing platforms for implementing the illustrative embodiments may include different types of virtualization infrastructures instead of or in addition to virtualization infrastructures including virtual machines. Such virtualization infrastructures illustratively include container-based virtualization infrastructures configured to provide Docker containers or other types of LXC.

[0086] As another example, in some embodiments, portions of a given processing platform may include converged infrastructure.

[0087] It should therefore be understood that in other embodiments, different arrangements of additional or alternative elements may be used.At least a subset of these elements may be implemented together on a common processing platform, or each such element may be implemented on a separate processing platform.

[0088] Additionally, many other arrangements of computers, servers, storage products or devices, or other components are possible in information handling system 100. These components may communicate with other elements of information handling system 100 via any type of network or other communication medium.

[0089] For example, specific types of storage products that can be used to implement a given storage system of the distributed processing system in the illustrative embodiments include all-flash and hybrid flash storage arrays, scaled-down all-flash storage arrays, scaled-down NAS clusters, or other types of storage arrays. Combinations of multiples of these and other storage products can also be used to implement a given storage system in the illustrative embodiments.

[0090] It should be emphasized again that the above embodiments are for illustrative purposes only. Many variations and other optional embodiments may be used. In addition, in other embodiments, the specific configurations of the systems and device elements schematically shown in the drawings and the associated processing operations may be changed. Thus, for example, the specific types of processing devices, modules, systems and resources deployed in a given embodiment and their respective configurations may be changed. In addition, the various assumptions made in the process of describing the exemplary embodiments above should also be regarded as exemplary rather than requirements or limitations of the present disclosure. Many other optional embodiments within the scope of the appended claims will be clear to those skilled in the art.

Claims

1. A method comprising: The execution of the continuous integration system on the information system is monitored by the log analysis system; analyzing, by the log analysis system, an output log of the continuous integration system to determine trends associated with the execution of the continuous integration system; as well as A job executed within the continuous integration system that is executing in an infinite loop is identified by the log analysis system based on the determined trend, wherein the method is performed by at least one processing device including a processor coupled to a memory.

2. The method according to claim 1, wherein analyzing the output log of the continuous integration system by the log analysis system comprises: Initiating a request for the output log of the continuous integration system; obtaining a timestamp from the output log, wherein the timestamp is associated with a most recent output log entry in the output log; comparing the timestamp with a current timestamp to determine whether the output log has been updated within a given time period; as well as When it is determined that the output log has been updated within the given time period, analysis of the output log is initiated.

3. The method according to claim 1, wherein analyzing the output log of the continuous integration system by the log analysis system comprises: An adaptive window length is determined for the output log.

4. The method according to claim 3, further comprising: The adaptive window length for the output log is increased until a pattern in the output log is detected.

5. The method according to claim 3, further comprising: The adaptive window length for the output log is increased until the adaptive window length captures the execution of the continuous integration system over a given period of time.

6. The method according to claim 3, further comprising: Dividing the output log into a plurality of output log segments according to the adaptive window length; as well as Extraneous text is removed from each output log segment of the plurality of output log segments.

7. The method according to claim 6, wherein dividing the output log into the plurality of output log segments according to the adaptive window length comprises: A subset of the plurality of output log segments is obtained, wherein the subset includes a most recently generated entry of the output log.

8. The method of claim 1 , wherein determining the trend associated with the execution of the continuous integration system comprises: Identify patterns in multiple output log segments; as well as The pattern in the plurality of output log segments is marked.

9. The method according to claim 8, further comprising: Based on the marked patterns, the trends associated with the execution of the continuous integration system are identified.

10. The method according to claim 9, further comprising: Based on the marked patterns and the trends, subsequent marked patterns are predicted.

11. The method of claim 10, wherein predicting the pattern of the subsequent tokens comprises: A last marked pattern associated with a most recently generated entry in the plurality of output log segments is identified.

12. The method of claim 10, wherein predicting the pattern of the subsequent tokens comprises: A linear regression model was used to predict the pattern of the subsequent markers.

13. The method of claim 8, wherein identifying patterns in the plurality of output log segments comprises: Extract text features from the output log segment.

14. The method of claim 13, wherein extracting the text features in the output log segment comprises: Obtaining trigrams of text in the output log segment; sorting the trigrams by frequency; as well as The trigrams are converted into substrings to obtain the extracted text features.

15. The method of claim 14, wherein sorting the trigrams by frequency comprises: The trigrams are individually sorted by frequency for each of the output log segments.

16. The method of claim 14, wherein converting the trigram into the substring to obtain the extracted text feature comprises: De-duplication of the substring; as well as The substrings are concatenated into a string to identify the text feature of the output log segment.

17. The method according to claim 1, wherein identifying, by the log analysis system, the job executed in the continuous integration system and being executed in the infinite loop comprises: comparing a predicted pattern of subsequent markings to a last marking pattern associated with the output log of the continuous integration system; determining that the pattern of the last token matches the pattern of the predicted subsequent token; as well as It is determined that the job associated with the output log of the continuous integration system is executing in the infinite loop.

18. The method of claim 17, wherein determining that the job associated with the output log of the continuous integration system is executing in the infinite loop comprises: Before the job associated with the output log of the continuous integration system is scheduled to complete, it is determined that the job is executing in the infinite loop.

19. A system comprising: at least one processing device including a processor coupled to a memory; The at least one processing device is configured to: The execution of the continuous integration system on the information system is monitored by the log analysis system; analyzing, by the log analysis system, an output log of the continuous integration system to determine trends associated with the execution of the continuous integration system; as well as The log analysis system identifies, based on the determined trend, a job executed in the continuous integration system that is being executed in an infinite loop.

20. A computer program product comprising a non-transitory processor-readable storage medium having program code of one or more software programs stored therein, wherein the program code, when executed by at least one processing device, causes the at least one processing device to: The execution of the continuous integration system on the information system is monitored by the log analysis system; analyzing, by the log analysis system, an output log of the continuous integration system to determine trends associated with the execution of the continuous integration system; as well as The log analysis system identifies, based on the determined trend, a job executed in the continuous integration system that is being executed in an infinite loop.