Application monitoring method and apparatus using application map
Patent Information
- Application Number
- KR1020230129648
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2026-09-29
- Estimated Expiration
- 2043-09-26
Smart Images

Figure 112023107220113-PAT00007_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to an application map, or a method and apparatus for monitoring an application using an application map. Background Technology
[0002] Recently, in order to process the tasks of each business conducted by numerous companies or institutions, many companies or institutions are building infrastructure including servers, network equipment, and / or applications.
[0003] In particular, a program (service or system) that performs application performance monitoring (APM) is used to monitor the performance and usability of applications included in the infrastructure. Application performance refers to how much of the application's functions requested by users can be processed relative to available resources, and metrics such as throughput and resource utilization can be used to indicate application performance. An APM program can identify problems within the application code and communicate these identified issues to the APM user.
[0004] The background description of the invention is provided to facilitate a better understanding of the present invention. The matters described in the background description should not be construed as an acknowledgment that they exist as prior art. The problem to be solved
[0005] Existing application performance monitoring services have a problem in that they display applications in a simplified manner, making it difficult to intuitively check the status or attributes of the application.
[0006] In addition, there is a problem in that the application-related information available to users when monitoring application performance is limited, requiring additional work to obtain detailed information.
[0007] Accordingly, a new method is required to more easily check the application's status, various attributes, and application-related information using an application map.
[0008] As a result, the inventors of the present invention sought to develop a method for efficiently monitoring application performance by intuitively displaying attribute information of applications on an application map and intuitively displaying relationship information between applications.
[0009] In particular, the inventors of the present invention have developed a method that utilizes an application map to intuitively identify relationships between applications, traffic and / or response times, relationships between projects, and resource status of multiple applications from a macroscopic perspective at the project level, and to discover and analyze problematic applications in a top-down manner.
[0010] The problems of the present invention are not limited to those mentioned above, and other unmentioned problems will be clearly understood by those skilled in the art from the description below. means of solving the problem
[0011] To solve the problem described above, a method for monitoring an application and an apparatus for monitoring an application are provided according to an embodiment of the present invention. The method comprises the steps of: displaying an application map including a first node, attribute information of the first node, a second node, and an edge representing connection relationship information between the first node and the second node; and providing the application map including the first node, the second node, and the edge in a real-time updated state based on the attribute information of the first node and the connection relationship information. The attribute information of the first node is displayed as a graphical user interface for the first node.
[0012] The connection relationship information between the first node and the second node may include TPS (Transactions Per Second), average response time, or the number of transactions between the first node and the second node, and the edge may include at least one shape, and at least one shape may move within the edge over time.
[0013] According to a feature of the present invention, the method may further include the steps of: providing a graphical user interface indicating that the higher the density of the shape of the edge, the higher the TPS value between the first node and the second node; and providing a graphical user interface indicating that the faster the movement speed of the shape, the faster the average response time between the first node and the second node. When error traffic between the first node and the second node is being processed, the method may further include the steps of: changing the color of the shape to a predetermined color; and providing an edge including the traffic error rate between the first node and the second node.
[0014] According to a feature of the present invention, the first node or the second node may each be one of an application node, an infrastructure node, a request node, or a group node.
[0015] According to a feature of the present invention, when the first node is an application node, the attribute information of the first node may include at least one of a representative metric of the first node, a name of the first node, and a number of instances included in the first node.
[0016] According to a feature of the present invention, the representative metric of the first node may be one of TPS (Transaction Per Second), CPU usage rate, memory usage rate, or error rate.
[0017] According to a feature of the present invention, in response to a selection of the first node by a user, the method further includes the step of providing a separate graphical user interface (UI) for the metric configuration information of the first node and the metric configuration information for each instance of the first node, wherein the metric configuration information may include at least one of TPS (Transaction Per Second), CPU usage rate, memory usage rate, and error rate.
[0018] According to another feature of the present invention, when the first node is an infrastructure node, the attribute information of the first node may include at least one of the name of the first node and the number of objects grouped to the first node.
[0019] According to another feature of the present invention, in response to a selection of the first node by a user, the method further includes the step of providing a separate graphical user interface (UI) for metric configuration information of the first node, instance-specific metric configuration information of the first node, and connection information of the first node, wherein the metric configuration information may include at least one of TPS (Transaction Per Second), error rate, and average response time.
[0020] According to another feature of the present invention, when the first node is a request node, the first node may be either a public request node or a private request node.
[0021] According to another feature of the present invention, when the first node is a group node, the first node includes two or more application nodes, and the attribute information of the first node may include at least one of a representative metric of the first node, a name of the first node, and a number of applications included in the first node.
[0022] According to another feature of the present invention, the method may further include the steps of: receiving information about a specific period from a user; determining at least one node to be counted during the specific period based on a first node, based on a node range and a project range set by the user; counting the number of transactions between the first node and at least one node during the specific period, the number of transactions of the first node, the number of transactions of at least one node, and the average response time between the first node and at least one node; displaying the number of transactions of the first node on the first node; and displaying the number of transactions between the first node and at least one node and the average response time between the first node and at least one node on the edge.
[0023] According to another feature of the present invention, the method further includes the step of displaying the boundary of a first project including the first node on the application map, and if the first project includes two or more nodes, the two or more nodes may have the same phase attribute. The boundary of the first project is displayed in the shape of a square, a circle, or a custom area based on user settings, and the background color within the boundary of the first project and the background color within the boundary of the second project may be different.
[0024] To solve the problem described above, an application monitoring method according to another embodiment of the present invention is provided. The method is configured to include the steps of: obtaining attribute information of a first node; obtaining connection relationship information between each node included in the first node and a node group; and generating an application map including the first node where the attribute information is displayed and the edge where the connection relationship information is displayed.
[0025] Specific details of other embodiments are included in the detailed description and drawings. Effects of the invention
[0026] The present invention can monitor relationships between applications, or relationships between applications and projects, or relationships between projects using an application map.
[0027] By using the application map of the present invention, traffic, response times, errors, and warnings between applications, applications and projects, or between projects can be easily checked.
[0028] In addition, by using the application map of the present invention, the resource status of multiple applications can be identified from a macroscopic perspective at the project level.
[0029] The effects according to the present invention are not limited to those exemplified above, and a wider variety of effects are included within the present invention. Brief explanation of the drawing
[0030] FIG. 1 shows a schematic diagram of a graphical user interface including an application map according to an embodiment of the present invention. FIG. 2 is a configuration diagram of an application monitoring system according to an embodiment of the present invention. FIG. 3 is a block diagram showing the configuration of an application monitoring device according to an embodiment of the present invention. FIG. 4 is a block diagram showing the configuration of an application map providing server according to an embodiment of the present invention. FIG. 5 is a flowchart of an application monitoring method according to an embodiment of the present invention. FIG. 6 shows a schematic diagram of a graphical user interface including an application node included in an application map according to an embodiment of the present invention. Figure 7 shows a schematic diagram of the popup graphic user interface of the application node of Figure 6. FIG. 8 shows a schematic diagram of an infrastructure node graphical user interface included in an application map according to an embodiment of the present invention. Figure 9 shows a schematic diagram of the popup graphical user interface of the infrastructure node of Figure 8. FIG. 10 shows a schematic diagram of a graphical user interface including a request node included in an application map according to an embodiment of the present invention. FIG. 11 shows a schematic diagram of a graphical user interface including group nodes included in an application map according to an embodiment of the present invention. FIG. 12 is a schematic diagram showing variations of a graphical user interface of a node according to an embodiment of the present invention. FIG. 13 shows a schematic diagram of a graphical user interface including edges included in an application map according to an embodiment of the present invention. FIG. 14 shows a schematic diagram of a graphical user interface including edges included in an application map according to another embodiment of the present invention. FIGS. 15a to 15c are schematic diagrams showing variations of a project boundary according to an embodiment of the present invention. FIG. 16 shows a schematic diagram of a graphical user interface for viewing past history in an application map according to an embodiment of the present invention. FIG. 17 is a flowchart of an application monitoring method according to an embodiment of the present invention. Specific details for implementing the invention
[0031] The advantages and features of the present invention and the methods for achieving them will become clear by referring to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below but may be implemented in various different forms. These embodiments are provided merely to ensure that the disclosure of the present invention is complete and to fully inform those skilled in the art of the scope of the invention, and the present invention is defined only by the scope of the claims. In connection with the description of the drawings, similar reference numerals may be used for similar components.
[0032] In this document, expressions such as "have," "can have," "include," or "can include" refer to the existence of the relevant feature (e.g., numerical values, functions, actions, or components, etc.) and do not exclude the existence of additional features.
[0033] In this document, expressions such as “A or B,” “at least one of A or / and B,” or “one or more of A or / and B” may include all possible combinations of items listed together. For example, “A or B,” “at least one of A and B,” or “at least one of A or B” may refer to cases including (1) at least one A, (2) at least one B, or (3) both at least one A and at least one B.
[0034] Expressions such as "first," "second," "first," or "second" used in this document may modify various components regardless of order and / or importance, and are used merely to distinguish one component from another without limiting such components. For example, the first user device and the second user device may represent different user devices regardless of order or importance. For example, without departing from the scope of rights set forth in this document, the first component may be named the second component, and similarly, the second component may be renamed the first component.
[0035] Where it is stated that a certain component (e.g., a first component) is "(operatively or communicatively) coupled with" or "connected to" another component (e.g., a second component), it should be understood that the said certain component may be directly connected to the said other component or connected through another component (e.g., a third component). On the other hand, where it is stated that a certain component (e.g., a first component) is "directly connected" or "directly connected" to another component (e.g., a second component), it may be understood that no other component (e.g., a third component) exists between the said certain component and the said other component.
[0036] As used in this document, the expression “configured to” may be replaced, depending on the context, with, for example, “suitable for,” “having the capacity to,” “designed to,” “adapted to,” “made to,” or “capable of.” The term “configured to” does not necessarily mean only that which is “specifically designed to” in hardware. Instead, in some situations, the expression “device configured to” may mean that the device is “capable of” in conjunction with other devices or components. For example, the phrase “processor configured to perform A, B, and C” may mean a dedicated processor for performing those operations (e.g., an embedded processor), or a generic-purpose processor (e.g., a CPU or application processor) capable of performing those operations by executing one or more software programs stored in a memory device.
[0037] The terms used in this document are used merely to describe specific embodiments and are not intended to limit the scope of other embodiments. Singular expressions may include plural expressions unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as generally understood by those skilled in the art described in this document. Terms used in this document that are defined in general dictionaries may be interpreted as having the same or similar meaning as they have in the context of the relevant technology, and are not to be interpreted in an ideal or overly formal sense unless explicitly defined in this document. In some cases, even terms defined in this document may not be interpreted to exclude the embodiments of this document.
[0038] The features of each of the various embodiments of the present invention may be combined or combined with one another, either partially or wholly, and as will be fully understood by those skilled in the art, various technical interlocking and operation are possible, and each embodiment may be implemented independently of one another or together in an interlocking relationship.
[0039] For clarity in the interpretation of this specification, the terms used in this specification are defined below.
[0040] An 'application' can be defined as a set of instance(s) that perform the same role.
[0041] A 'project' can be defined as a set of application(s) operated with a single purpose.
[0042] A 'node' can be defined as a unit representing a single application, multiple applications, user requests, or infrastructure in an application map. An 'edge' can be defined as a connection line between nodes.
[0043] A 'Phase' may be defined as an environment of the system. In this specification, a 'Phase' may be one of Production, Stage, CBT (Closed Beta Test), Sandbox, or Development phases. The 'Production Phase' refers to an operational environment for actual services, and the 'Stage Phase' refers to an environment implemented almost identically to the operational environment, i.e., the Production Phase, but used to verify various non-functional aspects (e.g., security, performance, failures, etc.) before migrating to the operational environment. The 'CBT Phase' refers to a test environment that shares the database with the actual service. The 'Sandbox Phase' refers to an environment for development. The 'Development Phase' refers to an environment where testing can be performed in a server environment.
[0045] FIG. 1 shows a schematic diagram of a graphical user interface including an application map according to an embodiment of the present invention.
[0046] Referring to FIG. 1, the application map (100) may include Project 1 (110), Project 2 (111), and Project 3 (112). Each project included in the application map (100) may include applications having the same phase attribute. Additionally, each project may be distinguished from other projects by a boundary having a specific color background in various embodiments. For example, applications belonging to Project 1 that are the same as the application (10) currently selected by the user and having the same phase attribute may be displayed on a project boundary having a first color background (e.g., blue). Applications (13, 14, 15) belonging to projects other than the application (10) currently selected by the user (e.g., Project 2, Project 3) may be displayed on a project boundary having a second color background (e.g., gray). Variations of the project boundary are described later in FIG. 15a through 15c.
[0047] According to the embodiments, nodes may be represented in various shapes, including hexagons, squares, circles, and other polygons. The color, shape, size, etc. of a node may be associated with the node's attributes and may have a proportional or inversely proportional relationship with the node's attributes. Alternatively, the color, shape, size, etc. of a node may be determined in relation to a threshold for the node's attributes. For example, the color, shape, or size of a node may be set to change as the Transactions Per Second (TPS) approaches a preset threshold, or it may be set to change to a different color, such as red, above a certain TPS. TPS may be defined as the number of transactions per second. In one embodiment of the present invention, the color, shape, size, etc. of a node functions as an intuitive indicator associated with the performance of the application. The presence of an indicator associated with the performance of the node and the application can reduce additional user input and dramatically improve the user experience in terms of the user interface by providing an intuitive overview of the application.
[0048] According to an embodiment, the application map (100) may include applications (10, 13, 14, 15) represented by hexagonal nodes of a specific color (e.g., yellow). Specific details regarding the application nodes will be described later in FIG. 6.
[0049] According to an embodiment, Project 1 of the application map (100) may include an infrastructure node (12) represented by a circular node of a different specific color (e.g., blue). An infrastructure node may be defined as a node that acts as a database or message queue used by the application. An infrastructure node may be a database such as a Relational Database (RDB) or MongoDB. Alternatively, an infrastructure node may be a message queue such as RabbitMQ or Kafka. Specific details regarding the infrastructure node will be described later in FIG. 8.
[0050] According to an embodiment, Project 1 of the application map (100) may include a request node (11) represented as a circular node of a specific color (e.g., purple). The request node (11) may be defined as a start node that sends a user's request to the application. Specific details regarding the request node (11) will be described later in FIG. 10.
[0051] According to an embodiment, the connection relationships between each node in the application map (100) can be indicated using edges. An edge can be represented by a connecting line having a constant thickness and at least one shape expressed at a constant interval on the connecting line. For example, an edge can be represented by a connecting line having a constant thickness and a plurality of circles. At least one shape can move within the edge over time.
[0052] The edge may display connection relationship information between different nodes at a specific time. For example, connection relationship information between the application node (10) and the request node (13) selected by the current user may include TPS (Transactions Per Second) and average response time at time t (where t is a constant). Referring to FIG. 1, 19 TPS and 10.8 ms may be displayed at the edge between the application node (10) and the request node (11) selected by the current user. That is, the throughput between the application node (10) and the request node (11) selected by the current user is 19 TPS and the average response time is 10.8 ms, which can be confirmed at the edge. Specific details regarding the edge will be described later in FIG. 13 and FIG. 14.
[0053] The application map (100) according to an embodiment of the present invention can provide a user with an interface that allows them to check the relationships between applications, the relationships between applications and projects, or the relationships between projects at a glance.
[0055] FIG. 2 is a configuration diagram of an application monitoring system according to an embodiment of the present invention.
[0056] Referring to FIG. 2, an application monitoring system according to an embodiment of the present invention may include a user device (200) and a graphic user interface providing server (202).
[0057] In the following, the user device may be referred to as an 'application monitoring device', and the graphical user interface providing server may be referred to as an 'application map providing server' or 'server'.
[0058] The application monitoring system can provide an application map (100) to the user. The application monitoring system can provide the application map (100) to the user through an application map providing server (202) and can provide various user interfaces for providing the application map (100) to the user.
[0059] The application map providing server (202) can obtain attribute information of at least one node included in the application map (100) and / or connection relationship information between each node. The application map providing server (202) can generate an application map (100) including at least one node with attribute information displayed and an edge with connection relationship information displayed, and the generated application map (100) can be updated in real time. The application map providing server (202) can provide the generated application map (100) to a user device (200).
[0060] The user device (200) can display the application map (100) in various ways according to the user's settings. Referring to FIG. 2, the application map (100) may have a minimap floating at the bottom left. The user can use the minimap to identify their current location on the application map (100) at a glance. The user device (200) may provide a graphical user interface that includes buttons to zoom in or out of the application map (100) at various scales. Additionally, the user device (200) may provide a graphical user interface that includes buttons to quickly move to the center of the application map (100).
[0062] FIG. 3 is a block diagram showing the configuration of an application monitoring device according to an embodiment of the present invention.
[0063] Referring to FIGS. 2 and 3, the application monitoring device (300) of FIG. 3 may correspond to the user device (200) of FIG. 2. Hereinafter, the application monitoring device (300) may be referred to as an 'electronic device'.
[0064] Referring to FIG. 3, the application monitoring device (300) may include a memory interface (310), processor(s) (320), and peripheral interface (330). Various components within the application monitoring device (300) may be connected by one or more communication buses or signal lines.
[0065] The memory interface (310) is connected to the memory (350) and can transmit various data to the processor(s) (320). Here, the memory (350) may include at least one type of storage medium among flash memory type, hard disk type, multimedia card micro type, card type memory (e.g., SD or XD memory, etc.), RAM, SRAM, ROM, EEPROM, PROM, network storage, cloud, and blockchain database.
[0066] In various embodiments, memory (350) may store at least one of an operating system (351), a communication module (352), a graphical user interface module (GUI) (353), a sensor processing module (354), a telephone module (355), and an application module (356). Specifically, the operating system (351) may include instructions for processing basic system services and instructions for performing hardware operations. The communication module (352) may communicate with at least one of one or more other devices, computers, and servers. The graphical user interface module (GUI) (353) may process a graphical user interface. The sensor processing module (354) may process sensor-related functions (e.g., processing voice input received using one or more microphones (392)). The telephone module (355) may process telephone-related functions. The application module (356) may perform various functions of a user application, such as electronic messaging, web browsing, media processing, navigation, imaging, and other processing functions. In addition, the application monitoring device (300) can store one or more software applications (356-1, 356-2) (e.g., WEB applications) associated with any one type of service (e.g., mobile app crash collection or analysis service) in memory (350).
[0067] In various embodiments, the memory (350) can store a digital assistant client module (357) (hereinafter, DA client module) and, accordingly, can store commands and various user data (358) for performing the client-side functions of the digital assistant.
[0068] Meanwhile, the DA client module (357) can obtain voice input, text input, touch input and / or gesture input from the user through various user interfaces (e.g., I / O subsystem (340)) provided in the user device (300).
[0069] Additionally, the DA client module (357) can output data in the form of audiovisual and tactile elements. For example, the DA client module (357) can output data consisting of a combination of at least two of voice, sound, notifications, text messages, menus, graphics, videos, animations, and vibrations. Furthermore, the DA client module (357) can communicate with a digital assistant server (not shown) using a communication subsystem (380).
[0070] In various embodiments, the DA client module (357) may collect additional information about the surrounding environment of the application monitoring device (300) from various sensors, subsystems, and peripheral devices to construct the context associated with the user input. For example, the DA client module (357) may provide context information along with the user input to a digital assistant server to infer the user's intent. Here, the context information that may accompany the user input may include sensor information, e.g., lighting, ambient noise, ambient temperature, images, videos, etc. of the surrounding environment. As another example, the context information may include the physical state of the application monitoring device (300) (e.g., device orientation, device location, device temperature, power level, speed, acceleration, motion pattern, cellular signal strength, etc.). As yet another example, the context information may include information related to the software state of the application monitoring device (300) (e.g., processes running on the application monitoring device (300), installed programs, past and present network activity, background services, error logs, resource usage, etc.).
[0071] In various embodiments, the memory (350) may include additional or deleted instructions, and furthermore, the application monitoring device (300) may include additional configurations in addition to the configuration shown in FIG. 3, or exclude some configurations.
[0072] The processor(s) (320) can control the overall operation of the application monitoring device (300) and can execute various commands to implement the application map (100) by running an application or program stored in memory (350).
[0073] The processor(s) (320) may correspond to a computing device such as a CPU (Central Processing Unit) or an AP (Application Processor). Additionally, the processor(s) (320) may be implemented in the form of an integrated chip (IC), such as a System on Chip (SoC) that integrates various computing devices such as a Neural Processing Unit (NPU).
[0074] The processor(s) (320) can control various operations for providing an application map. In various embodiments, the processor(s) (320) can display a first node on the application map. The processor(s) (320) can provide a graphical user interface to the first node regarding attribute information of the first node. The processor(s) (320) can provide an edge including connection relationship information between the first node and the second node. Based on the attribute information and connection relationship information of the first node, the processor(s) (320) can provide an application map including the first node, the second node, and the edge in a real-time updated state.
[0075] The peripheral interface (330) is connected to various sensors, subsystems, and peripheral devices and can provide data to enable the application monitoring device (300) to perform various functions. Here, it can be understood that the application monitoring device (300) performs a function that is performed by the processor(s) (320).
[0076] The peripheral interface (330) may receive data from a motion sensor (360), a light sensor (light sensor) (361), and a proximity sensor (362), thereby enabling the application monitoring device (300) to perform orientation, light, and proximity detection functions, etc. As another example, the peripheral interface (330) may receive data from other sensors (363) (positioning system—GPS receiver, temperature sensor, biometric sensor), thereby enabling the application monitoring device (300) to perform functions related to the other sensors (363).
[0077] In various embodiments, the application monitoring device (300) may include a camera subsystem (370) connected to a peripheral interface (330) and an optical sensor (371) connected thereto, thereby enabling the application monitoring device (300) to perform various shooting functions such as taking photos and recording video clips.
[0078] In various embodiments, the application monitoring device (300) may include a communication subsystem (380) connected to a peripheral interface (330). The communication subsystem (380) is composed of one or more wired / wireless networks and may include various communication ports, radio frequency transceivers, and optical transceivers.
[0079] In various embodiments, the application monitoring device (300) includes an audio subsystem (390) connected to a peripheral interface (330), and the audio subsystem (390) includes one or more speakers (391) and one or more microphones (392), so that the application monitoring device (300) can perform voice-operable functions, such as voice recognition, voice replication, digital recording, and telephone functions.
[0080] In various embodiments, the application monitoring device (300) may include an I / O subsystem (340) connected to a peripheral interface (330). For example, the I / O subsystem (340) may control a touch screen (343) included in the application monitoring device (300) through a touch screen controller (341). As an example, the touch screen controller (341) may detect user contact and movement or interruption of contact and movement using any one of a plurality of touch detection technologies, such as capacitive, resistive, infrared, surface acoustic wave technology, proximity sensor array, etc. As another example, the I / O subsystem (340) may control other input / control devices (344) included in the application monitoring device (300) through other input controller(s) (342). As an example, other input controller(s) (342) can control one or more pointer devices such as buttons, rocker switches, thumb wheels, infrared ports, USB ports, and styluses.
[0082] FIG. 4 is a block diagram showing the configuration of an application map providing server according to an embodiment of the present invention.
[0083] Referring to FIG. 4, the application map providing server (400) may include a communication interface (410), memory (420), I / O interface (430), and a processor (440), and each component may communicate with one or more communication buses or signal lines.
[0084] Referring to FIGS. 3 and 4, the communication interface (410) can be connected to the application monitoring device (300) via a wired / wireless communication network to exchange data. For example, the communication interface (410) can transmit and receive attribute information of an application corresponding to an application node displayed on an application map, or information on the connection relationships between nodes.
[0085] Meanwhile, a communication interface (410) that enables the transmission and reception of such data includes a wired communication port (411) and a wireless circuit (412), wherein the wired communication port (411) may include one or more wired interfaces, for example, Ethernet, Universal Serial Bus (USB), FireWire, etc. Additionally, the wireless circuit (412) may transmit and receive data with an external device via an RF signal or an optical signal. Furthermore, wireless communication may use at least one of a plurality of communication standards, protocols, and technologies, such as GSM, EDGE, CDMA, TDMA, Bluetooth, Wi-Fi, VoIP, Wi-MAX, or any other suitable communication protocol.
[0086] The memory (420) can store various data used in the application map providing server (400). For example, the memory (420) can store configuration data of a graphical user interface of an application node that provides attribute information of the application, an edge interface that provides connection relationship information between nodes, and application map data from a specific point in the past to the present.
[0087] In various embodiments, the memory (420) may include a volatile or non-volatile recording medium capable of storing various data, commands, and information. For example, the memory (420) may include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), RAM, SRAM, ROM, EEPROM, PROM, network storage, cloud, and blockchain database.
[0088] In various embodiments, the memory (420) may store at least one configuration of an operating system (421), a communication module (422), a user interface module (423), and one or more applications (424).
[0089] An operating system (421) (e.g., embedded operating systems such as LINUX, UNIX, MAC OS, WINDOWS, VxWorks, etc.) may include various software components and drivers for controlling and managing general system operations (e.g., memory management, storage device control, power management, etc.) and may support communication between various hardware, firmware, and software components.
[0090] The communication module (422) can support communication with another device through the communication interface (410). The communication module (422) may include various software components for processing data received by the wired communication port (411) or wireless circuit (412) of the communication interface (410).
[0091] The user interface module (423) can receive user requests or input from a keyboard, touch screen, microphone, etc., through the I / O interface (430) and provide a user interface on the display.
[0092] The application (424) of the server may include a program or module configured to be executed by one or more processors (440). Here, the application for providing the application map may be implemented on a server farm.
[0093] The I / O interface (430) can connect at least one of an input / output device (not shown) of the application map providing server (400), such as a display, keyboard, touch screen, and microphone, to the user interface module (423). The I / O interface (430) can receive user input (e.g., voice input, keyboard input, touch input, etc.) together with the user interface module (423) and process commands based on the received input.
[0094] According to an embodiment, the processor (440) can perform various operations to provide an application map to an application monitoring device (300, FIG. 3).
[0095] For example, the processor (440) can obtain attribute information of a specific node and obtain connection relationship information between each node included in the specific node and the node group. The processor (440) can generate an application map including the first node where the attribute information is displayed and the edge where the connection relationship information is displayed. The processor (440) can provide the generated application map to the application monitoring device (300, FIG. 3).
[0096] Here, a node group may include at least one node directly connected to a specific node, or all nodes of a project to which at least one node directly connected to a specific node belongs. If the first node is an application node, the attribute information may include at least one of a representative metric or the number of instances included in the application node, and the connection relationship information may include at least one of TPS (Transactions Per Second) or average response time. An edge may include at least one shape representing the connection relationship information. The connection relationship information may be intuitively displayed using at least one of the color, density, or movement speed of at least one shape.
[0098] FIG. 5 is a flowchart of an application monitoring method according to an embodiment of the present invention.
[0099] According to an application monitoring method according to an embodiment of the present invention, an electronic device displays an application map including an edge representing a first node, attribute information of the first node, a second node, and connection relationship information between the first node and the second node (S502).
[0100] The first node may be one of an application node, an infrastructure node, a request node, or a group node. For example, the first node may be an application node in the current user context.
[0101] The second node may be an application node, an infrastructure node, a request node, or a group node. For example, the second node may be an infrastructure node directly connected to the first node.
[0102] The connection relationship information between the first node and the second node may include TPS (Transactions Per Second), average response time, or the number of transactions between the first node and the second node.
[0103] The attribute information of the first node is displayed via a graphical user interface for the first node. An application monitoring method according to an exemplary embodiment of the present invention can display various attribute information for the first node using a graphical user interface. When nodes and attribute information are absent from an application map, for example, when only nodes are displayed in the form of icons and connections between nodes are displayed, it is possible to know only the existence of nodes and whether there are connections between them, but the actual status of the nodes or the connection status cannot be intuitively known. That is, information regarding the nodes had to be accessed to obtain information about each node through a separate window or the like. However, the application monitoring method according to an exemplary embodiment of the invention displays TPS, average response time, etc., for multiple nodes through a graphical user interface for the node, thereby enabling the user to recognize the status of each of multiple applications and the connection status between them at a glance. The graphical user interface for the node will be described in detail below.
[0104] If the first node is an application node, the attribute information of the first node may include at least one of the representative metric of the first node, the name of the first node, and the number of instances included in the first node. If the first node is an application node, the representative metric may be TPS (Transactions Per Second), CPU utilization, memory utilization, or error rate.
[0105] If the first node is an application node, the graphical user interface may be implemented by providing an icon that allows navigation to a dashboard where detailed information of the application can be viewed in real time. In this case, the electronic device may provide a separate graphical user interface for the metric configuration information of the first node and the metric configuration information for each instance of the first node in response to the selection of the first node by the user.
[0106] An edge includes at least one shape, and at least one shape can move within the edge over time. The electronic device may provide a graphical user interface indicating that the higher the density of the shapes in the edge, the higher the TPS value between the first node and the second node. The electronic device may provide a graphical user interface indicating that the faster the movement speed of the shapes, the faster the average response time between the first node and the second node.
[0107] According to an embodiment, when error traffic between a first node and a second node is being processed, the electronic device can change the color of the shape to a predetermined color. The electronic device can provide an edge including the traffic error rate between the first node and the second node as a graphical user interface.
[0108] The electronic device can provide an application map including a first node, a second node, and an edge in a real-time updated state based on attribute information of the first node and connection relationship information between the first node and the second node (S504).
[0109] According to an embodiment, the electronic device can update the application map once every 5 seconds. On the screen of the electronic device where the application map is displayed, the flow of the edges can be represented without interruption. That is, one or more shapes included in the edges can be displayed as moving continuously. As the application map is provided with node attribute information and connection relationship information in a real-time updated state, it is possible for the user to quickly recognize how the state changes at which node.
[0110] FIG. 6 shows a schematic diagram of a graphical user interface including an application node included in an application map according to an embodiment of the present invention.
[0111] According to an application monitoring method according to an embodiment of the present invention, a graphical user interface may be provided to the application node (600) to display attribute information of the application node (600) at a specific point in time. The attribute information of the application node (600) may include a representative metric of the application, the name of the application, and the number of instances included in the application. For example, when a user clicks the application node (600), a pop-up screen described below in FIG. 7 may appear.
[0112] Referring to FIG. 6, an application node (600) may display an icon (61) indicating that it is an application selected by the current user, that is, an application in the current user context. An application in the current user context may be represented as a hexagonal node of a specific color (e.g., yellow) with a thick border compared to other applications.
[0113] An application node (600) may display an icon (62) indicating that the node is an application node. The icon (62) indicating that the node is an application node shown in FIG. 6 is merely one embodiment and may be set to a different icon by the user's choice.
[0114] The application node (600) may display representative metrics of the application. The application metrics may be TPS (Transactions Per Second), CPU usage, memory usage, and / or error rate. The application metrics may be one of TPS (Transactions Per Second), CPU usage, memory usage, or error rate.
[0115] Referring to FIG. 6, the application node (600) may display a TPS value (63), which is a representative metric of the application. For example, at a specific point in time, the TPS value of the application is 21 TPS, and the application node (600) may display the TPS value (63), which is a representative metric, as '21 TPS'. The TPS value (63) of the application shown in FIG. 6 is merely one example, and a metric other than TPS may be set as a representative metric by the user's choice, and a metric other than TPS may be displayed as a representative metric on the application node (600).
[0116] The application node (600) may display the name (64) of the application. For example, the application corresponding to the application node (600) is 'api-gatewayy', and the application node (600) may display the name of the application, 'api-gatewayy'.
[0117] The application node (600) may display the number of instances (65) included in the application. For example, the number of instances belonging to the application 'api-gatewayy' is 5, and the application node (600) may be displayed as '5 INS' indicating the number of instances (65) included in the application.
[0118] The application node (600) may include an icon (66) that allows the user to move to a dashboard where they can view detailed information about the application in real time when the user selects the application node. Hereinafter, the icon (66) that allows the user to move to a dashboard (e.g., real-time performance dashboard) where they can view detailed information about the application in real time when the user selects the application node may be referred to as a 'popup icon'.
[0120] Figure 7 shows a schematic diagram of the popup graphic user interface of the application node of Figure 6.
[0121] According to an application monitoring method according to an embodiment of the present invention, in response to a selection of an application node (600, FIG. 6) by a user at a specific point in time, a separate graphical user interface may be provided for metric configuration information of the application node (600, FIG. 6) and / or instance-specific metric configuration information.
[0122] Referring to FIGS. 6 and 7, when a user selects the application node (600) of FIG. 6 at a specific time (e.g., 2023-04-24 16:23:54), for example, when a user clicks the popup icon (66) of FIG. 6 at a specific time, a popup screen (700) that allows real-time viewing of application information may appear. The application information that can be viewed through the popup screen (700) may include application metric configuration information and / or instance-specific metric configuration information.
[0123] Referring to FIG. 7, the popup screen (700) can be divided into an upper section (710) and a lower section (720). The upper section (710) of the popup screen (700) may display metric configuration information of the application. The lower section (720) of the popup screen (700) may display instance-specific metric configuration information included in the application.
[0124] According to an embodiment, the number of instances (70), TPS value (71), error rate (72), CPU usage (73), and memory usage (74) may be displayed at the top (710) of the popup screen (700). For example, at the top (710) of the popup screen (700), the application metrics may be displayed as 5 instances included in the application, the application TPS is 21, the error rate is 0.0%, the CPU usage is 0%, and the memory usage is 5-7%.
[0125] According to an embodiment, the bottom (720) of the popup screen (700) may display metric configuration information for each instance included in the application. The metric configuration information for each instance may include TPS, error rate, CPU usage, and / or memory usage.
[0126] The five instances included in the application according to an embodiment of the present invention may each be 'api-gatewayy-6cd7c7c84-s962g / A42' (hereinafter referred to as the first instance), 'api-gatewayy-6cd7c7c84-m4tv9 / R70' (hereinafter referred to as the second instance), 'api-gatewayy-6cd7c7c84-gsmw5 / K8D' (hereinafter referred to as the third instance), 'api-gatewayy-6cd7c7c84-f8bgn / N2B' (hereinafter referred to as the fourth instance), and 'api-gatewayy-6cd7c7c84-9gllh / VF6' (hereinafter referred to as the fifth instance).
[0127] For the first instance, the metrics for the first instance may be displayed as 4 TPS, an error rate of 0.0%, a CPU usage of 0.4%, and a memory usage of 6.8%, respectively. For the second instance, the metrics for the second instance may be displayed as 4 TPS, an error rate of 0.0%, a CPU usage of 0.2%, and a memory usage of 7.4%, respectively. For the third instance, the metrics for the third instance may be displayed as 4 TPS, an error rate of 0.0%, a CPU usage of 0.2%, and a memory usage of 5.8%, respectively. For the fourth instance, the metrics for the fourth instance may be displayed as 4 TPS, an error rate of 0.0%, a CPU usage of 0.3%, and a memory usage of 5.3%, respectively. For the fifth instance, the metrics for the fifth instance may be displayed as 4 TPS, an error rate of 0.0%, a CPU usage of 0.2%, and a memory usage of 5.3%, respectively.
[0128] According to the application monitoring method according to an embodiment of the present invention, when a user clicks an application node (600, FIG. 6), the user can check the metric configuration information of the application and / or the metric configuration information per instance at a glance through a pop-up screen.
[0130] FIG. 8 shows a schematic diagram of an infrastructure node graphical user interface included in an application map according to an embodiment of the present invention.
[0131] According to an application monitoring method according to an embodiment of the present invention, a graphical user interface that displays attribute information of an infrastructure node (800) can be provided to an infrastructure node (800). The attribute information of the infrastructure node (800) may include an alias of the infrastructure, a name of the infrastructure, and the number of objects grouped to the infrastructure.
[0132] Referring to FIG. 8, the infrastructure node (800) may be displayed with an alias (81) and / or a name (83) of the infrastructure node. For example, the name of the infrastructure node (800) may be 'Relational Database' and the alias of the Relational Database may be 'RDB'. In this case, the infrastructure node (800) may be displayed with the alias 'RDB' (81) and / or the name 'Relational Database' (83) of the infrastructure node (800).
[0133] An infrastructure node (800) may display an icon (82) indicating the type of the infrastructure node (800). The infrastructure node (800) may be of the type Relational Database, MongoDB, Apache Kafka, RabbitMQ, Private Network, Redis (Remote Dictionary Server), ElasticSearch, or HBase. The examples of the types of the infrastructure node (800) described above are merely examples, and the infrastructure node (800) may be a database or message queue of a different type than the examples described above.
[0134] For example, if the infrastructure node (800) is a Relational Database, an icon (82) that intuitively identifies it as a database may be displayed. The icon (82) indicating the type of the infrastructure node (800) shown in FIG. 8 is merely one example and can be set to a different icon by the user's choice.
[0135] The number of objects (84) grouped in the infrastructure node (800) may be displayed. For example, the infrastructure node (800) may consist of one Relational Database node, and the number of objects (84) grouped in the infrastructure node (800) may be displayed as '1 ITEMS'. As another example, if the type of the infrastructure node is Redis and it is configured as a Redis cluster to store data distributed among four Redis nodes, the number of objects (84) grouped in the infrastructure node is four, and the number of objects (84) grouped in the infrastructure node (800) may be displayed as '4 ITEMS'.
[0136] When a user selects an infrastructure node (800), they can move to a popup screen where they can view details of the infrastructure in real time. For example, when a user clicks an infrastructure node (800), a popup screen described later in FIG. 9 may appear.
[0138] Figure 9 shows a schematic diagram of the popup graphical user interface of the infrastructure node of Figure 8.
[0139] According to an application monitoring method according to an embodiment of the present invention, in response to a selection of an infrastructure node (800, FIG. 8) by a user at a specific point in time, a separate graphical user interface may be provided for metric configuration information of the infrastructure node (800, FIG. 8), instance-specific metric configuration information of the infrastructure node (800, FIG. 8), and / or connection information of the infrastructure node (800). According to an embodiment of the present invention, the infrastructure node (800) may be a Relational Database (RDB). The infrastructure node (800) may be included in a project named 'petclinic', and accordingly, the infrastructure node (800) may be displayed as 'petclinic-db' in an application map according to an embodiment of the present invention.
[0140] Referring to FIGS. 8 and 9, when a user selects an infrastructure node (800) at a specific time (e.g., 2023-04-24 16:23:54), for example, when the user clicks on the infrastructure node (800), a pop-up screen (900) may appear that allows real-time viewing of information from a database or message queue. The infrastructure information that can be viewed through the pop-up screen (900) may include metric configuration information of the infrastructure node (800), instance-specific metric configuration information of the infrastructure node (800), and / or connection information of the infrastructure node (800).
[0141] Referring to FIG. 9, the popup screen (900) may be divided into an upper section (910) and a lower section (920). The upper section (910) of the popup screen (900) may display metric configuration information of the infrastructure. The lower section (920) of the popup screen (900) may include metric configuration information per instance included in the infrastructure and / or connection information of the infrastructure nodes (800).
[0142] According to an embodiment, the number of objects (90), TPS value (91), error rate (92), and average response time (93) may be displayed at the top (910) of the popup screen (900). For example, at the top (910) of the popup screen (900), the metrics of the infrastructure may be displayed as 1 object included in the infrastructure node, the infrastructure TPS as 103, the error rate as 0.0%, and the average response time as 0.5ms.
[0143] According to the embodiment, the bottom (920) of the popup screen (900) may display metric configuration information for each instance included in the infrastructure. Details regarding the metric configuration information for each instance that overlap with FIG. 6 are omitted below.
[0144] According to an embodiment, infrastructure connection information may be displayed at the bottom (920) of the pop-up screen (900). Infrastructure connection information refers to information about applications directly connected to the infrastructure node (800). Infrastructure connection information may include the name of the application(s) connected to the infrastructure, the TPS between the connected applications, the error rate, the average response time, and the collection time.
[0145] For example, an infrastructure node (800) corresponding to an RDB and a rabbitmq-consumer can be connected. Data (or messages) can be transferred from the rabbitmq-consumer to the RDB. In this case, the rabbitmq-consumer can be referred to as the 'source' and the 'petclinic-db' corresponding to the RDB as the 'destination'. Rabbitmq can be defined as a data store for use as a message broker and as a message broker capable of storing and transferring units called messages. The rabbitmq-consumer can be defined as an application that receives messages from a queue.
[0146] According to the embodiment, when data (or messages) are transmitted from Rabbitmq-consumer to RDB, connection information between Rabbitmq-consumer and infrastructure may be collected at 16:23:50 on April 24, 2023. At this time, the collected connection information, namely 18 TPS, an error rate of 0.0%, an average response time of 0.5ms, and the time when the infrastructure connection information was collected, 2023-04-24-16:23:50, may be displayed at the bottom (920) of a specific popup screen (900).
[0147] As another example, an infrastructure node (800) corresponding to an RDB can be connected to visits-service, kafka-consumer, and vets-service, respectively. At the bottom (920) of the popup screen (900), connection information of the infrastructure for visits-service, kafka-consumer, or vets-service can be displayed, similar to the rabbitmq-consumer described above, including the name of the application(s), TPS between connected applications, error rate, average response time, and collection time.
[0149] FIG. 10 shows a schematic diagram of a graphical user interface including a request node included in an application map according to an embodiment of the present invention.
[0150] Referring to FIG. 10, a Public request node (101) and a Private request node (102) are shown.
[0151] According to an embodiment of the present invention, the request node may be a public request node or a private request node. The request node refers to a starting node that sends a request to an application.
[0152] A Public request node (101) can be defined as a request node that receives requests from a Public IP. A Public IP is an IP assigned by an ISP (Internet Service Provider) and made public to the outside, which can be used to communicate with an external network. Referring to FIG. 10, the border of the Public request node (101) may be indicated by a dotted line.
[0153] A private request node (102) can be defined as a request node receiving from a private IP. A private IP is assigned by an individual or company and can be used only within the same network. Referring to FIG. 10, the private request node (102) may be indicated by a solid border.
[0155] FIG. 11 shows a schematic diagram of a graphical user interface including group nodes included in an application map according to an embodiment of the present invention.
[0156] According to an application monitoring method according to an embodiment of the present invention, a graphical user interface can be provided to display attribute information of the group node (1100) at a specific point in time to the group node (1100). The attribute information of the group node (1100) may include a representative metric of the group, the name of the group, and the number of instances included in the group. The group node (1100) may be used to represent multiple application nodes as a single node.
[0157] Referring to FIG. 11, a group node (1100) may display an icon (113) indicating that the node is a group node. The icon (113) indicating that the node is a group node may be the first letter of the group name (e.g., G). The icon (113) indicating that the node is an application node shown in FIG. 11 is merely one embodiment and may be set to a different icon by the user's choice.
[0158] The group node (1100) may display a TPS value as a representative metric of the group. The representative metric of the group may be the sum or average of the TPS values of the applications belonging to the group. For example, the representative metric of the group may be the sum or average of the CPU usage of the applications belonging to the group. As another example, the representative metric of the group may be the sum or average of the memory usage of the applications belonging to the group. As yet another example, it may be the sum or average of the error rates of the applications belonging to the group.
[0159] Referring to FIG. 11, the group node (1100) may display a TPS value (114), which is a representative metric of the group. For example, at a specific time, the average TPS value of the applications included in the group node (1100) is 30 TPS, and the group node (1100) may display the TPS value (114), which is a representative metric, as '30 TPS'. The group TPS value (114) shown in FIG. 11 is merely one example, and a metric other than TPS may be set as a representative metric by the user's choice, and a metric other than TPS may be displayed as a representative metric in the group node (1100).
[0160] The group node (1100) may display the name of the group (115). For example, the group node (1100) may display the name of the group, 'GROUP 0'.
[0161] The group node (1100) may display the number of applications (116) included in the group. For example, the number of applications in the group is 3, and the group node (1100) may display '3 APPS' indicating the number of applications (116) included in the group.
[0162] According to an embodiment of the present invention, multiple applications selected by a user can be represented as a single group node (1100) on an application map, and representative metrics of multiple applications selected by the user can be viewed at a glance through the graphical user interface of the group node (1100).
[0164] FIG. 12 is a schematic diagram showing variations of a graphical user interface of a node according to an embodiment of the present invention.
[0165] According to the application monitoring method according to an embodiment of the present invention, the user can modify and use the graphical user interface of each node in the layout editing mode of the application map.
[0166] Referring to FIG. 12(a), an application monitoring method according to an embodiment of the present invention may provide a graphical user interface that displays an x button when entering a layout editing mode. In the layout editing mode of the application map, the user may click the x button of a node that is not to be displayed on the application map and delete the corresponding node from the application map.
[0167] Referring to FIG. 12(b), an application monitoring method according to an embodiment of the present invention may provide a deleted node management pop-up screen in which deleted node(s) appear when a separate button (not shown) is clicked. An application monitoring method according to an embodiment of the present invention may provide a graphical user interface that allows a deleted node to be restored when a 'Cancel Deletion' button (or a restore button) is clicked on the deleted node management pop-up screen. The user may click the restore button for a deleted node on the deleted node management pop-up screen of the application map and restore the corresponding node to the application map.
[0168] In various embodiments, the user may include application nodes to be included in the group node (1100) by dragging and dropping application nodes to overlap them in the layout editing mode of the application map.
[0169] Deleting the node described above may mean not displaying it in the application. Accordingly, users can view attribute information and connection relationship information for the desired node within the application.
[0171] FIG. 13 shows a schematic diagram of a graphical user interface including edges included in an application map according to an embodiment of the present invention.
[0172] According to FIG. 13, the application map (1300) may include an application node (130) and an infrastructure node (131). The application node (130) and the infrastructure node (131) may be directly connected. The connection relationship between the application node (130) and the infrastructure node (131) may be represented by an edge (132), which is a connection line between the nodes. For example, when a user hovers a mouse cursor over an application node (130) or an infrastructure node (131), the node(s) directly connected to the application node (130) or the infrastructure node (131) may be highlighted. Accordingly, the user can focus on checking or monitoring the node selected by the user and the node(s) connected to the selected node in the application map (1300).
[0173] According to the application monitoring method according to an embodiment of the present invention, the presence or absence of a connection between two nodes can be checked using an edge (132).
[0174] The edge (132) may include at least one figure expressed at regular intervals on a connecting line having a constant thickness. For example, the edge (132) may be expressed by a connecting line having a constant thickness and at least one circle (134). At least one circle (134) may move within the edge (132) over time.
[0175] The higher the density of at least one circle (134) within the edge, the higher the TPS value between the application node (130) and the infrastructure node (131), meaning that the throughput is high. The faster the movement speed of at least one circle (134) within the edge, the faster the response time between the application node (130) and the infrastructure node (131).
[0176] According to an application monitoring method according to an embodiment of the present invention, a graphical user interface can be provided that expresses connection relationship information between an application node (130) and an infrastructure node (131) using the density and movement speed of at least one circle (134) within the edge.
[0177] The edge (132) may display connection relationship information (133) between the application node (130) and the infrastructure node (131) at a specific point in time. Referring to FIG. 13, a throughput of 17 TPS and an average response time of 0.7 ms between the application node (130) and the infrastructure node (131) may be displayed.
[0179] FIG. 14 shows a schematic diagram of a graphical user interface including edges included in an application map according to another embodiment of the present invention.
[0180] According to FIG. 14, the application map (1400) may include an application node (140) and an infrastructure node (141). The application node (140) and the infrastructure node (141) may be directly connected. The connection relationship between the application node (140) and the infrastructure node (141) may be represented by an edge (142), which is a connection line between the nodes. For example, when a user hovers a mouse cursor over an application node (140) or an infrastructure node (141), the node(s) directly connected to the application node (140) or the infrastructure node (141) may be highlighted. Accordingly, the user can focus on checking or monitoring the node selected by the user and the node(s) connected to the selected node in the application map (1400).
[0181] According to the application monitoring method according to an embodiment of the present invention, when error traffic between an application node (140) and an infrastructure node (141) is being processed, the edges (142) can be changed to a predetermined color. For example, when error traffic is being processed, the edges (142) can be represented by a low-saturation red connecting line having a certain thickness and at least one circle (144) of high-saturation red. The at least one circle (144) can move within the edge (142) over time.
[0182] Additionally, according to the application monitoring method according to an embodiment of the present invention, the edge (142) may display connection relationship information (143) between the application node (140) and the infrastructure node (141) at a specific point in time. When error traffic between the application node (140) and the infrastructure node (141) is being processed, the connection relationship information (143) of the edge (142) may additionally include the error rate between the application node (140) and the infrastructure node (141) at a specific point in time. Referring to FIG. 14, throughput of 15 TPS, average response time of 7 ms, and error rate of 2.63% between the application node (140) and the infrastructure node (141) may be displayed.
[0184] FIGS. 15a to 15c are schematic diagrams showing variations of a project boundary according to an embodiment of the present invention.
[0185] Referring to FIGS. 15a through 15c, the boundaries of a specific project can be displayed in various shapes based on the user's settings.
[0186] Referring to Fig. 15a, the boundaries of each project in the application map can be indicated as squares. Referring to Fig. 15b, the boundaries of each project in the application map can be indicated as circles. Referring to Fig. 15c, the boundaries of each project in the application map can be indicated as custom areas.
[0187] According to the application monitoring method of an embodiment of the present invention, a user can set and display not only multiple nodes included in an application map but also project boundaries in a desired format. For example, the user can save various layouts with different node positions, project boundary shapes, etc., in a layout editing mode, and can change and use the layout depending on the situation.
[0189] FIG. 16 shows a schematic diagram of a graphical user interface for viewing past history in an application map according to an embodiment of the present invention.
[0190] FIG. 16(a) shows the application map screen at 17:36:28 on April 24, 2023, in an application map configured to update in real-time when the application in the current user context in the project called 'PETCLINIC-1' is 'api-gatewayy'.
[0191] Referring to FIG. 16(a), 14 nodes may be displayed in the application map (160_1). When the application map (160_1) is configured to be updated in real-time, graphical user interfaces may be provided to check attribute information of each node at a specific time. When the application map is configured to be updated in real-time, connection relationship information between nodes can be checked at a specific time using the edges between nodes. An application monitoring device according to an embodiment of the present invention can update the application map (160_1) in real-time using the collected attribute information of each node and connection relationship information between nodes.
[0192] FIG. 16(b) shows an application map screen that retrieves the application map history from a desired past point in time (10 minutes before the present) to the present when the application in the current user context is 'api-gatewayy' in the project called 'PETCLINIC-1'.
[0193] According to an embodiment, the user can set a specific period of time that they wish to view in the application map (160_2). The user can change the time zone to 'SEARCH' and set a desired past point in time. For example, by setting it to 'now-10m - now', the user can view and verify the history of the application map (160_2) from a past point in time 10 minutes before the current time (17:35:46 on April 24, 2023) to the present time.
[0194] Referring to FIG. 16(b), the 13.1K TX COUNT, the number of transactions accumulated over 10 minutes for the application 'api-gatewayy' in the current user context, can be displayed on the corresponding application node. In addition, the number of transactions accumulated over 10 minutes for all application nodes included in the application map (160_2) can be displayed on each application node.
[0195] The number of transactions and average response time over 10 minutes for each node(s) connected to the application 'api-gatewayy' can be displayed at the edge, respectively.
[0196] Referring to Fig. 16(b), the user can set the range of nodes to be queried when viewing the history of past application maps.
[0197] According to the embodiment, if the user selects 'RELATED' in node navigation (161), only the application(s) that have a direct connection to the application 'api-gatewayy' in the current user context appear in the application map (160_2). If the user selects 'ALL' in node navigation (161), all node(s) of the project to which the application(s) connected to the application 'api-gatewayy' in the current user context belong appear in the application map (160_2).
[0198] Referring to Fig. 16(b), the user can set the project scope to be viewed when viewing the history of past application maps.
[0199] According to an embodiment, if the user selects '0' at the navigation level (162), only the project containing the application 'api-gatewayy' in the current user context appears on the application map screen. If the user selects '2' at the navigation level (162), the project containing the application 'api-gatewayy' in the current user context, and the project connected to the project at level 2, also appear on the application map screen. For example, assuming that 'PETCLINIC-1' is connected to Project A and 'PETCLINIC-1' is connected to Project B (B PETCLINIC-1 A), when the navigation level (162) is set to '2', Project X connected to Project B and Project Y connected to Project A appear on the application map screen (X B PETCLINIC-1 A Y).
[0200] Referring to FIG. 16(b), the user can play back the traffic flow for a set period using the playback bar (163) at the top right of the application map.
[0201] According to an embodiment, the left side of the playback bar (163) may include basic buttons for setting playback, stop, etc. The center of the playback bar (163) may include playback speed buttons for adjusting the playback speed to 1x (x1), 2x (x2), 4x (x4), and 8x (x8). The right side of the playback bar (163) may include a seek bar (164). The red line of the seek bar (164) indicates a point where error traffic exists, and selecting the red exclamation mark button allows jumping to a point where error traffic exists.
[0202] Viewing past application maps and representing them via a graphical user interface can offer various advantages. In particular, it can be very difficult to reconstruct past situations using only application logs. For example, logs for a single application alone cannot reveal the relationship with other connected applications, so tracing back errors or situations may require a significant amount of time. However, according to one embodiment of the present invention described above, the causes and patterns of problem occurrence in various situations can be immediately identified.
[0203] In addition, since querying past application maps can be implemented in the same way as monitoring real-time application maps, users can quickly grasp and recognize them.
[0205] FIG. 17 is a flowchart of an application monitoring method according to an embodiment of the present invention.
[0206] According to the application monitoring method according to an embodiment of the present invention, the server can obtain attribute information of the first node (S1702).
[0207] If the first node is an application node, the attribute information may include at least one of a representative metric or the number of instances included in the application node. Additionally, if the first node is an application node, the connection relationship information may include at least one of TPS (Transactions Per Second) or average response time.
[0208] The server can obtain information on the connection relationships between each node included in the first node and the node group (S1704).
[0209] For example, a node group may include at least one node directly connected to the first node, or all nodes of a project to which at least one node directly connected to the first node belongs.
[0210] The server can generate an application map including a first node with attribute information and an edge with connection relationship information (S1706).
[0211] According to the application monitoring method according to an embodiment of the present invention, a node group can be determined based on a node range set by a user, and information on the connection relationship between the application in the current user context and the node group can be displayed on the application map.
[0212] An edge may include at least one shape representing connection relationship information between each node included in the first node and the node group, and the connection relationship information may be intuitively displayed using the color, density, and movement speed of at least one shape.
[0213] The server can update an application map in real time, including a first node displaying attribute information and an edge displaying connection relationship information. The server can provide the generated application map to a user device.
[0215] Although embodiments of the present invention have been described in more detail with reference to the attached drawings, the present invention is not necessarily limited to these embodiments and may be modified in various ways within the scope of the technical spirit of the present invention. Accordingly, the embodiments disclosed in the present invention are intended to explain, not limit, the technical spirit of the present invention, and the scope of the technical spirit of the present invention is not limited by these embodiments. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. The scope of protection of the present invention shall be interpreted by the claims below, and all technical spirits within an equivalent scope shall be interpreted as being included within the scope of rights of the present invention. Explanation of the symbols
[0217] 300: Application monitoring device 310: Memory interface 320: Processor 330: Peripheral Interface 340: I / O Subsystem 341: Touchscreen controller 342: Other input controllers 343: Touch screen 344: Other Input Control Devices 350: Memory 351: Operating System 352: Communication Module 353: GUI Module 354: Sensor processing module 355: Phone module 356: Applications 356-1, 356-2: Application 357: Digital Assistant Client Module 358: User data 360: Motion sensor 361: Light sensor 362: Proximity sensor 363: Other sensors 370: Camera subsystem 371: Optical sensor 380: Communications Subsystem 390: Audio Subsystem 391: Speaker 392: Microphone 400: Application Map Provider Server 410: Communication Interface 411: Wired communication port 412: Wireless circuit 420: Memory 421: Operating System 422: Communication Module 423: User Interface Module 424: Application 430: I / O interface 440: Processor
Claims
Claim 1 An application monitoring method implemented by an electronic device, comprising: receiving a first selection input corresponding to one of a plurality of search levels based on a plurality of projects; displaying an application map including an edge representing connection relationship information between a first node and a second node belonging to at least some of the plurality of projects and the first node and the second node, based on the search level according to the first selection input; receiving a second selection input corresponding to one of a plurality of node search conditions based on the connection relationship information; displaying at least some of the nodes belonging to the at least some of the projects based on the node search conditions according to the second selection input; and providing the application map including the first node, the second node, and the edge in a real-time updated state based on attribute information of the first node and the connection relationship information; wherein the attribute information of the first node is displayed as a graphical user interface for the first node, and at least some of the plurality of projects include a group node corresponding to a plurality of application nodes, and the group node includes statistical information of metrics corresponding to the plurality of application nodes. Claim 2 An application monitoring method implemented by an electronic device, wherein the first node or the second node is each one of an application node, an infrastructure node, a request node, or a group node, in the first paragraph. Claim 3 In paragraph 2, when the first node is an application node, the attribute information of the first node includes at least one of a representative metric of the first node, a name of the first node, and a number of instances included in the first node, an application monitoring method implemented by an electronic device. Claim 4 In paragraph 3, the representative metric of the first node is one of TPS (Transaction Per Second), CPU usage, memory usage, or error rate, an application monitoring method implemented by an electronic device. Claim 5 An application monitoring method implemented by an electronic device according to claim 4, further comprising the step of providing a separate graphical user interface (UI) for metric configuration information of the first node and metric configuration information per instance of the first node in response to the selection of the first node by a user, wherein the metric configuration information includes at least one of TPS (Transaction Per Second), CPU usage rate, memory usage rate, or error rate. Claim 6 In paragraph 2, when the first node is an infrastructure node, the attribute information of the first node includes at least one of the name of the first node and the number of objects grouped to the first node, an application monitoring method implemented by an electronic device. Claim 7 In claim 6, the method further comprises the step of providing a separate graphical user interface (UI) for at least one of the metric configuration information of the first node, instance-specific metric configuration information of the first node, or connection information of the first node in response to the selection of the first node by a user; wherein the metric configuration information includes at least one of TPS (Transaction Per Second), error rate, and average response time, an application monitoring method implemented by an electronic device. Claim 8 In paragraph 2, an application monitoring method implemented by an electronic device, wherein the first node is a request node, and the first node is one of a public request node or a private request node. Claim 9 An application monitoring method implemented by an electronic device, wherein, in paragraph 2, the group node comprises two or more application nodes, and the attribute information of the group node comprises at least one of a representative metric of the group node, the name of the group node, and the number of applications included in the group node. Claim 10 An application monitoring method implemented by an electronic device, wherein, in claim 1, the connection relationship information between the first node and the second node includes at least one of TPS (Transaction Per Second), average response time, or the number of transactions between the first node and the second node. Claim 11 An application monitoring method implemented by an electronic device, wherein, in claim 1, the edge comprises at least one shape, and at least one shape moves within the edge over time. Claim 12 An application monitoring method implemented by an electronic device, further comprising at least one of the steps of: providing a graphical user interface indicating that the higher the density of at least one of the shapes of the edge, the higher the TPS value between the first node and the second node; and providing a graphical user interface indicating that the faster the movement speed of at least one of the shapes, the faster the response time between the first node and the second node. Claim 13 An application monitoring method implemented by an electronic device, further comprising: a step of changing the color of the edge and at least one of the shapes to a predetermined color when error traffic between the first node and the second node is being processed in claim 12; and a step of providing an edge including a traffic error rate between the first node and the second node. Claim 14 In claim 13, the method further comprises: receiving information regarding a specific period from a user; determining at least one node to be counted during the specific period based on a first node, based on a node range and a project range set by the user; counting the number of transactions between the first node and at least one node, the number of transactions of the first node, and the average response time between the first node and at least one node during the specific period; displaying the number of transactions of the first node on the first node; and displaying the number of transactions between the first node and at least one node and the average response time between the first node and at least one node on the edge; an application monitoring method implemented by an electronic device. Claim 15 An application monitoring method implemented by an electronic device, wherein, in claim 14, the boundary of a first project including the first node is displayed on the application map; and if the first project includes two or more nodes, the two or more nodes have the same phase attribute. Claim 16 In claim 15, the boundary of the first project is displayed in the shape of a square, circle, or custom area based on user settings, and the background color within the boundary of the first project and the background color within the boundary of the second project are different, an application monitoring method implemented by an electronic device. Claim 17 An application monitoring method implemented by a server, comprising: a step of acquiring a plurality of projects, each including at least one node; a step of acquiring search level information corresponding to the plurality of projects based on the plurality of projects; a step of acquiring attribute information of a first node among the at least one node of the corresponding project; a step of acquiring connection relationship information between the first node and each node included in the node group; and a step of generating an application map including the first node where the attribute information is displayed on at least some of the plurality of projects based on the search level information, and the nodes and edges of the node group where the connection relationship information is displayed according to a node search condition based on the connection relationship information; wherein the attribute information of the first node is displayed as a graphical user interface for the first node, and at least some of the plurality of projects include a group node corresponding to a plurality of application nodes, and the group node includes statistical information of metrics corresponding to the plurality of application nodes. Claim 18 In claim 17, the node group comprises at least one node directly connected to the first node, or all nodes of the project to which the at least one node directly connected to the first node belongs, an application monitoring method implemented by a server. Claim 19 In claim 17, an application monitoring method implemented by a server, wherein, if the first node is an application node, the attribute information includes at least one of a representative metric or the number of instances included in the application node. Claim 20 An application monitoring method implemented by a server, wherein, in claim 17, the edge comprises at least one shape representing the connection relationship information, and the connection relationship information is intuitively displayed using at least one of the color, density, or movement speed of at least one of the shape. Claim 21 In claim 20, if the first node is an application node, the connection relationship information includes at least one of TPS (Transaction Per Second) or average response time, an application monitoring method implemented by a server. Claim 22 As an electronic device for monitoring an application, memory; transceiver; An electronic device for monitoring an application, comprising: at least one processor connected to the memory and the transceiver; wherein the at least one processor receives a first selection input corresponding to any one of a plurality of search levels based on a plurality of projects; displays an application map including an edge representing connection relationship information between a first node and a second node belonging to at least some of the plurality of projects and the first node and the second node based on the search level according to the first selection input; receives a second selection input corresponding to any one of a plurality of node search conditions based on the connection relationship information; displays at least some of the nodes belonging to the at least some of the projects based on the node search conditions according to the second selection input; and is configured to provide the application map including the first node, the second node and the edge in a real-time updated state based on attribute information of the first node and the connection relationship information; the attribute information of the first node is displayed as a graphical user interface for the first node; at least some of the plurality of projects include a group node corresponding to a plurality of application nodes; and the group node includes statistical information of metrics corresponding to the plurality of application nodes. Claim 23 A server providing an application map, comprising: memory; a communication interface; and at least one processor connected to the memory and the communication interface; wherein the at least one processor is configured to acquire a plurality of projects, each comprising at least one node, and based on the plurality of projects, acquire search level information corresponding to the plurality of projects, acquire attribute information of a first node among the at least one node of the corresponding project, acquire connection relationship information between the first node and each node included in the node group, and based on the search level information, generate an application map including the first node in which the attribute information is displayed on at least some of the plurality of projects, and the nodes and edges of the node group in which the connection relationship information is displayed according to a node search condition based on the connection relationship information, wherein the attribute information of the first node is displayed as a graphical user interface for the first node, and at least some of the plurality of projects include a group node corresponding to a plurality of application nodes, and the group node includes statistical information of metrics corresponding to the plurality of application nodes.
Citation Information
Patent Citations
Network performance indicator visualization method and apparatus, and system
KR1020190088343A
Displaying a complex service topology for monitoring
US20180121032A1