CN113448796A - Service monitoring method, device, computer system and medium - Google Patents

Service monitoring method, device, computer system and medium Download PDF

Info

Publication number
CN113448796A
CN113448796A CN202010226218.4A CN202010226218A CN113448796A CN 113448796 A CN113448796 A CN 113448796A CN 202010226218 A CN202010226218 A CN 202010226218A CN 113448796 A CN113448796 A CN 113448796A
Authority
CN
China
Prior art keywords
service
request
monitoring
time
dependent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010226218.4A
Other languages
Chinese (zh)
Inventor
张恒强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202010226218.4A priority Critical patent/CN113448796A/en
Publication of CN113448796A publication Critical patent/CN113448796A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display

Abstract

The present disclosure provides a service monitoring method, the service being configured to process a request and to invoke at least one dependent service in the process of processing the request. The method comprises the following steps: and the monitoring service responds to the service receiving request, obtains monitoring data, and processes the monitoring data to obtain service execution time and dependent service calling time of the service relative to the request, wherein the monitoring data comprises time data of the service starting processing request, time data of the service processing completion request, time data of the service starting calling the dependent service and time data of the dependent service returning result.

Description

Service monitoring method, device, computer system and medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a service monitoring method, apparatus, computer system, and medium.
Background
With the rapid development of the internet industry, the application of the micro-service architecture is more and more extensive. The micro-service architecture is split into a plurality of services which can be independently developed, designed, operated and maintained, each service can be independently deployed and isolated from each other, and the services can be called through an Application Programming Interface (API for short). The micro-service architecture can provide services for users by relying on the calling among the services, and meets the requirements of the users.
In order to ensure the normal operation and maintenance of the micro-service architecture, in the related art, the performance of each service is usually monitored by a single-point monitoring method.
However, in the course of implementing the inventive concept, the inventors found that there are at least the following problems in the prior art: the single-point monitoring method can only monitor the performance of one service, and when a certain service has a problem of poor performance, the dependent services of the service still need to be checked one by manpower, which is long in time consumption and low in efficiency.
Disclosure of Invention
In view of the foregoing, the present disclosure provides a service monitoring method, apparatus, computer system, and medium.
One aspect of the present disclosure provides a method of service monitoring, the service being configured to process a request and to invoke at least one dependent service in the process of processing the request, the method comprising: monitoring the service, responding to the request received by the service, obtaining monitoring data, and processing the monitoring data to obtain the service execution time and the dependent service calling time of the request of the service.
According to an embodiment of the present disclosure, the method further comprises: and generating a visual interface based on the service execution time and the dependent service calling time of the service relative to the request, wherein the visual interface comprises chart content.
According to an embodiment of the present disclosure, the method further comprises: acquiring related information of the monitoring data, wherein the related information comprises at least one of identification information of the request and server information for executing the service, and storing the monitoring data and the related information in a correlation manner.
According to an embodiment of the present disclosure, the associating and storing the monitoring data and the related information includes: and taking the identification information of the request as a key, taking the monitoring data and the server information as values, and storing the monitoring data and the related information in an associated manner.
According to an embodiment of the present disclosure, the associating and storing the monitoring data and the related information includes: storing the monitoring data and the related information in a first memory in an associated manner; in response to a first condition being met, transferring the monitoring data and the related information to a second memory, wherein the second memory has a lower read-write speed than the first memory, the first condition comprising at least one of: the accumulated storage time of the monitoring data and the related information in the first storage reaches a first threshold value; the remaining storage space of the first memory is less than a second threshold.
According to an embodiment of the present disclosure, the monitoring the service includes: and setting a monitoring point at a specified position of the service through a setting program annotation, wherein the specified position comprises an entrance position of the service, an exit position of the service, an entrance position calling the dependent service and an exit position of the dependent service.
According to an embodiment of the present disclosure, the method further comprises: and determining whether the service is abnormal or not based on the service execution time, and checking the performance of the dependent service based on the dependent service calling time under the condition that the service is abnormal.
Another aspect of the present disclosure provides a service monitoring apparatus configured to process a request and invoke at least one dependent service in the process of processing the request, the apparatus comprising a monitoring module, an obtaining module, and a processing module. Wherein the monitoring module is used for monitoring the service. The obtaining module is configured to obtain monitoring data in response to the service receiving the request, where the monitoring data includes time data of the service starting to process the request, time data of the service finishing the request, time data of the service starting to invoke a dependent service, and time data of a result returned by the dependent service. The processing module is used for processing the monitoring data to obtain the service execution time and the dependent service calling time of the service relative to the request.
According to an embodiment of the present disclosure, the apparatus further comprises: and the generation module is used for generating a visual interface based on the service execution time and the dependent service calling time of the service relative to the request, wherein the visual interface comprises chart content.
According to an embodiment of the present disclosure, the apparatus further includes an obtaining module and a storing module. The acquisition module is configured to acquire relevant information of the monitoring data, where the relevant information includes at least one of identification information of the request and server information for executing the service. The storage module is used for storing the monitoring data and the related information in a correlation mode.
According to an embodiment of the present disclosure, the associating and storing the monitoring data and the related information includes: and taking the identification information of the request as a key, taking the monitoring data and the server information as values, and storing the monitoring data and the related information in an associated manner.
According to an embodiment of the present disclosure, the associating and storing the monitoring data and the related information includes: storing the monitoring data and the related information into a first memory in an associated manner, and transferring the monitoring data and the related information to a second memory in response to a first condition being met, wherein the second memory has a lower read-write speed than the first memory, and the first condition comprises at least one of the following: the accumulated storage time of the monitoring data and the related information in the first storage reaches a first threshold value; the remaining storage space of the first memory is less than a second threshold.
According to an embodiment of the present disclosure, the monitoring the service includes: and setting a monitoring point at a specified position of the service through a setting program annotation, wherein the specified position comprises an entrance position of the service, an exit position of the service, an entrance position calling the dependent service and an exit position of the dependent service.
According to an embodiment of the present disclosure, the apparatus further comprises a determination module and a troubleshooting module. The determining module is used for determining whether the service is abnormal or not based on the service execution time. And the checking module is used for checking the performance of the dependent service based on the dependent service calling time under the condition that the service is abnormal.
Another aspect of the present disclosure provides a computer system comprising: one or more processors, a storage device to store one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method as described above.
Another aspect of the present disclosure provides a computer-readable medium storing computer-executable instructions for implementing the method as described above when executed.
Another aspect of the disclosure provides a computer program comprising computer executable instructions for implementing the method as described above when executed.
Drawings
The above and other objects, features and advantages of the present disclosure will become more apparent from the following description of embodiments of the present disclosure with reference to the accompanying drawings, in which:
fig. 1 schematically illustrates an application scenario of a service monitoring method and apparatus according to an embodiment of the present disclosure;
FIG. 2 schematically illustrates a flow chart of a service monitoring method according to an embodiment of the present disclosure;
FIG. 3 schematically illustrates a monitoring schematic according to an embodiment of the disclosure;
FIG. 4 schematically shows a schematic view of a visualization interface according to an embodiment of the present disclosure;
FIG. 5 schematically illustrates a block diagram of a service monitoring apparatus according to an embodiment of the present disclosure; and
FIG. 6 schematically shows a block diagram of a computer system according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase "a or B" should be understood to include the possibility of "a" or "B", or "a and B".
Embodiments of the present disclosure provide a service monitoring method, the service being configured to process a request and to invoke at least one dependent service in the process of processing the request. The method comprises the following steps: and the monitoring service responds to the service receiving request and obtains monitoring data, wherein the monitoring data comprises time data of the service starting processing request, time data of the service processing completion request, time data of the service starting calling the dependent service and time data of the dependent service returning result. And processing the obtained monitoring data to obtain the service execution time and the dependent service call time of the service relative to the request.
Fig. 1 schematically illustrates an application scenario 100 of a service monitoring method and apparatus according to an embodiment of the present disclosure.
As shown in fig. 1, an application scenario 100 according to this embodiment may include a microservice architecture 110 and a server 120.
The micro service framework 110 may include a plurality of services, and each service may be called by an Application Programming Interface (API). For example, service a may be used to provide a corresponding service to a user in response to a user request. And, service a may invoke service B and service C in the process of processing the request.
The server 120 may be a server that provides various services. For example, the server 120 may monitor the service a, receive monitoring data for the service a, and perform analysis processing on the monitoring data.
It should be noted that the service monitoring method provided by the embodiment of the present disclosure may be generally executed by the server 120. Accordingly, the service monitoring apparatus provided by the embodiment of the present disclosure may be generally disposed in the server 120. The service monitoring method provided by the embodiments of the present disclosure may also be performed by a server or a server cluster that is different from the server 120 and is capable of communicating with the microservice architecture 110 and/or the server 120. Accordingly, the service monitoring apparatus provided by the embodiment of the present disclosure may also be disposed in a server or a server cluster different from the server 120 and capable of communicating with the micro-service architecture 110 and/or the server 120.
It should be understood that the microservice architecture, the number of services and servers in the microservice architecture, and the like in fig. 1 are merely illustrative. There may be any number of microservice architectures, services and servers in a microservice architecture, as desired for implementation.
Fig. 2 schematically shows a flow chart of a service monitoring method according to an embodiment of the present disclosure.
According to embodiments of the present disclosure, a service may be configured to process a request and invoke at least one dependent service in the process of processing the request. For example, service A may be configured to generate a web interface in response to a user request. In the process of processing the request, the service A can call the dependent service B and the dependent service C to execute corresponding processing contents.
As shown in fig. 2, the method includes operations S201 to S203.
In operation S201, a service is monitored.
According to the embodiment of the disclosure, the service in the micro-service architecture can be monitored, and the performance of the service can be determined, so that the operation and maintenance of the micro-service architecture can be realized. For example, each service in the micro service architecture may be monitored, or specific services in the micro service architecture may be monitored, and so on.
In an embodiment of the present disclosure, the monitoring service may include: and setting a monitoring point at a specified position of the service through the set program annotation, wherein the specified position comprises an entrance position of the service, an exit position of the service, an entrance position calling the dependent service and an exit position of the dependent service.
According to an embodiment of the present disclosure, the program annotation may include a name and a note identifying the relevant information for the monitoring point.
For example, service A invokes dependent service B when processing the relevant request. Monitoring service a may include setting monitoring points at the ingress and egress locations of service a, and also at the ingress location of dependent service B (e.g., the location in service a where invocation of dependent service B began) and the egress location (e.g., the location in service a where the result returned by dependent service B was received).
For example, the embodiment of the present disclosure may add the program annotation @ Monitor (name ═ service a "," providing XXX service ") at the entry location and the exit location of service a, and add the program annotation @ Monitor (name ═ service B", "providing XXX service") at the entry location and the exit location of dependent service B, respectively. It is understood that the program annotations of the embodiment of the present disclosure are all added to the program corresponding to the service a.
In operation S202, in response to the service receiving the request, monitoring data is obtained. The monitoring data includes time data for the service to begin processing the request, time data for the service to complete processing the request, time data for the service to begin invoking the dependent service, and time data for the dependent service to return a result.
According to the embodiment of the disclosure, after the service receives the request, the service may start to execute a program corresponding to the service to process the request. Each monitoring point can obtain time data when the program is executed to the corresponding position.
For example, fig. 3 schematically illustrates a monitoring schematic according to an embodiment of the disclosure.
As shown in fig. 3, in response to service a receiving a request, the program corresponding to service a begins processing the request. The monitoring point at the service a entry location may obtain time data when the service a starts to process the request, the monitoring point at the dependent service B entry location may obtain time data when the service a starts to invoke the dependent service B, the monitoring point at the dependent service B exit location may obtain time data when the dependent service B returns a result, and the monitoring point at the service a exit location may obtain time data when the service a completes processing the request.
According to the embodiment of the present disclosure, the monitoring engine may generate an agent by using an agent technology, for example, so as to implement a monitoring function of each monitoring point.
In operation S203, the monitoring data is processed to obtain a service execution time and a dependent service invocation time of the service with respect to the request.
According to the embodiment of the present disclosure, the service execution time with respect to the request may be determined based on a time difference between time data at which the service starts processing the request and time data at which the service completes processing the request. The invocation time of the dependent service may be determined based on a time difference between the time data at which the service started to invoke the dependent service and the time data at which the dependent service returned a result.
For example, service a starts processing the request at 10000000000, service a completes processing the request at 10000000060, service a starts invoking service B at 10000000020, service B returns the result at 10000000030, service a starts invoking service C at 10000000040, and service C returns the result at 10000000055. Then for this request service a is executed for 60 (nanoseconds), service B is invoked for 10 (nanoseconds) and service C is invoked for 15 (nanoseconds).
In the embodiment of the disclosure, whether the service is abnormal or not can be determined based on the service execution time, and the performance of the dependent service is checked based on the dependent service calling time under the condition that the service is abnormal.
For example, the average time for the service a to process the related requests is 60 ns, and if the execution time for the service a to process the related requests for a certain time or a certain number of times or a certain period of time is too long (for example, more than 50% of the average time), it may be considered that the service a is abnormal, and at this time, the performance of each dependent service may be determined according to the call time of each dependent service on which the service a depends
For example, service A needs to invoke dependent service B and service C in the process of processing a request. For a certain request, the execution time of the service A is 100 nanoseconds (for example, the normal range is 50-70 nanoseconds), the call time of the service B is 50 nanoseconds (for example, the normal range is 5-15 nanoseconds), and the call time of the service C is 15 nanoseconds (for example, the normal range is 10-20 nanoseconds). Firstly, the abnormal condition of the service A can be determined through the execution time of the service A, and then the abnormal condition of the service A caused by the performance problem of the service B is determined through the calling time of the service B, so that the operation and maintenance of the service B can be carried out.
According to the method and the device for processing the request, the time data of the request for starting the service processing, the time data of the request for finishing the service processing, the time data of the dependent service calling from the service and the time data of the result returned by the dependent service are obtained by monitoring the designated position of the service, so that the execution time of the request for processing the service and the calling time of the service dependent on the request can be obtained, and the performance problems of the service and the service dependent on the service can be determined based on the execution time and the calling time. The problem of manual sequential troubleshooting is avoided, so that the service with performance problems can be troubleshot by processing the monitoring data corresponding to the primary request through the service.
In the embodiment of the present disclosure, it is also possible to acquire related information of the monitoring data, where the related information includes at least one of identification information of the request and server information for executing the service, and store the monitoring data and the related information in association. For example, the monitoring data and the related information are stored in association with each other with the requested identification information as a key and the monitoring data and the server information as values.
According to the embodiment of the present disclosure, the identification information of the request may include a service name of a service that processes the request and a timestamp corresponding to the request. For example, the identification information may be service-a-1574854329588, where service-a represents the service name of service A that processed the request and the timestamp represents 1574854329588 (nanoseconds). The server information for executing the service may be, for example, a server IP address or the like.
For example, service A needs to invoke dependent service B and service C when processing the relevant request. The name of the service A is service-a, the name of the service B is service-B, and the name of the service C is service-C. The monitoring data includes: service a starts processing the request at 10000000000, service a completes processing the request at 10000000060, service a starts invoking service B at 10000000020, service B returns the result at 10000000030, service a starts invoking service C at 10000000040, and service C returns the result at 10000000055. Service a generates identification information for the request as service-a-1574854329588. The server IP address for performing service a is 10.22.33.44.
The embodiment of the present disclosure may store the identification information (service-a-1574854329588) of the request as a key, and the associated column corresponding to the key may include:
1) column service-a-0-start (indicating the time at which service a starts processing the request), which may correspond to a value of 10000000000;
2) a column service-a-1-service-B-start (indicating the time when service a starts to call service B), which may have a corresponding value of 10000000020;
3) a column service-a-1-service-B-end (indicating the time when the service B returns the result), which may have a corresponding value of 10000000030;
4) a column service-a-2-service-C-start (indicating the time when service a starts to call service C), which may have a corresponding value of 10000000040;
5) a column service-a-2-service-C-end (indicating the time when service C returns the result), which may have a corresponding value of 10000000055;
6) column service-a-0-end (representing the time for service a to process the request to complete), which may correspond to a value of 10000000060;
7) column period-0-service-a (representing the execution time of service a), which may have a corresponding value of 60;
8) column period-1-service-B (representing the call time of service B), and the corresponding value of the column may be 10;
9) column period-2-service-C (representing the call time of service C), which may have a corresponding value of 15;
10) column total (representing the total elapsed time for the service to process the request), which may correspond to a value of 60; and
11) column IP (server IP address for performing service a), which may correspond to a value of 10.22.33.44.
In the embodiment of the present disclosure, the monitoring data and the related information may be stored in the first memory in an associated manner, and then the monitoring data and the related information are transferred to the second memory in response to the first condition being met, where the read-write speed of the second memory is lower than that of the first memory. The first condition includes at least one of: the accumulated storage time of the monitoring data and the related information in the first storage reaches a first threshold value, or the residual storage space of the first storage is smaller than a second threshold value.
For example, the monitoring data and the related information may be temporarily stored in a memory corresponding to the request context information, or the monitoring data and the related information may be temporarily stored in a cache. The monitored data and related information is then transferred to a hard disk or magnetic disk of persistent storage in response to the first condition being satisfied. It can be understood that, in the embodiments of the present disclosure, the monitoring data and the related information are asynchronously transferred from the first storage to the second storage, so that the number of network transmissions can be reduced, the performance of the main program is not affected, and the monitoring performance can be improved.
According to the embodiment of the disclosure, a visual interface can be generated based on the service execution time of the service relative to the request and the dependent service calling time, and the visual interface comprises chart content.
The visualization interface may include chart content, which may include, for example, line graphs or bar graphs, etc. The line graph or bar graph can be used to represent information such as service execution time and dependent service invocation time, so that the user can intuitively judge the performance condition of each service.
For example, fig. 4 schematically shows a schematic view of a visualization interface according to an embodiment of the present disclosure. In this embodiment, service A may process the relevant request and invoke dependent service B, service C, and service D in the process.
As shown in fig. 4, the horizontal axis of the graph may represent the time when the request occurs, and the vertical axis may represent the execution time of the service and the call time of the dependent service. For example, the polyline 410 may represent the execution time of the service a request for each point in time, the portion 420 of the columnar area may represent the invocation time of the service B, the portion 430 of the columnar area may represent the invocation time of the service C, and the portion 440 of the columnar area may represent the invocation time of the service D. The disclosed embodiment may also display detailed information 450 of the request for a certain point in time.
According to the method and the device for processing the request, the time data of the request for starting the service processing, the time data of the request for finishing the service processing, the time data of the dependent service calling from the service and the time data of the result returned by the dependent service are obtained by monitoring the designated position of the service, so that the execution time of the request for processing the service and the calling time of the service dependent on the request can be obtained, and the performance problems of the service and the service dependent on the service can be determined based on the execution time and the calling time. The problem of low efficiency caused by manual sequential troubleshooting is solved, so that the monitoring data corresponding to the primary request can be processed through the service, the service with performance problems is investigated, and the troubleshooting efficiency is improved.
The embodiment of the disclosure can also generate a visual interface based on the service execution time of the service relative to the request and the dependent service calling time, so that the user can intuitively judge the performance condition of each service, and the performance troubleshooting efficiency and the user experience are effectively improved.
Fig. 5 schematically shows a block diagram of a service monitoring apparatus 500 according to an embodiment of the present disclosure.
As shown in fig. 5, the apparatus 500 includes a monitoring module 510, an obtaining module 520, and a processing module 530. Wherein the service is configured to process the request and to invoke at least one dependent service in the process of processing the request.
The monitoring module 510 is used to monitor the service.
The obtaining module 520 is configured to obtain monitoring data in response to the service receiving the request, where the monitoring data includes time data of a service start processing request, time data of a service processing completion request, time data of a service start calling dependent service, and time data of a dependent service return result.
The processing module 530 is configured to process the monitoring data to obtain a service execution time and a dependent service invocation time of the service with respect to the request.
According to an embodiment of the present disclosure, the apparatus 500 further comprises: and the generation module is used for generating a visual interface based on the service execution time of the service relative to the request and the dependent service calling time, wherein the visual interface comprises chart content.
According to an embodiment of the present disclosure, the apparatus 500 further includes an obtaining module and a storing module. The acquisition module is used for acquiring relevant information of the monitoring data, wherein the relevant information comprises at least one of identification information of the request and server information of the execution service. The storage module is used for storing the monitoring data and the related information in a correlation mode.
According to the embodiment of the disclosure, the associating and storing of the monitoring data and the related information comprises: and taking the requested identification information as a key, taking the monitoring data and the server information as values, and storing the monitoring data and the related information in an associated manner.
According to the embodiment of the disclosure, the associating and storing of the monitoring data and the related information comprises: and storing the monitoring data and the related information in the first memory in an associated manner, and transferring the monitoring data and the related information to the second memory in response to the first condition being met. The reading and writing speed of the second memory is lower than that of the first memory. The first condition includes at least one of: the accumulated storage time of the monitoring data and the related information in the first storage reaches a first threshold value; the remaining storage space of the first memory is less than a second threshold.
According to an embodiment of the present disclosure, a monitoring service includes: and setting a monitoring point at a specified position of the service through the set program annotation, wherein the specified position comprises an entrance position of the service, an exit position of the service, an entrance position calling the dependent service and an exit position of the dependent service.
According to an embodiment of the present disclosure, the apparatus 500 further comprises a determination module and a troubleshooting module. The determining module is used for determining whether the service is abnormal or not based on the service execution time. And the checking module is used for checking the performance of the dependent service based on the calling time of the dependent service under the condition that the service is abnormal.
According to an embodiment of the present disclosure, the apparatus 500 may, for example, perform the method described above with reference to fig. 2, which is not described herein again.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
For example, the monitoring module 510, the obtaining module 520, and the processing module 530 may be combined and implemented in one module, or any one of the modules may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present invention, at least one of the monitoring module 510, the obtaining module 520, and the processing module 530 may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or in hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or in a suitable combination of three implementations of software, hardware, and firmware. Alternatively, at least one of the monitoring module 510, the obtaining module 520 and the processing module 530 may be at least partially implemented as a computer program module, which, when executed by a computer, may perform the functions of the respective module.
FIG. 6 schematically shows a block diagram of a computer system according to an embodiment of the disclosure. The computer system illustrated in FIG. 6 is only one example and should not impose any limitations on the scope of use or functionality of embodiments of the disclosure.
As shown in fig. 6, a computer system 600 according to an embodiment of the present disclosure includes a processor 601, which can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. Processor 601 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), among others. The processor 601 may also include onboard memory for caching purposes. Processor 601 may include a single processing unit or multiple processing units for performing the different actions of the method flows described with reference to fig. 2 in accordance with embodiments of the present disclosure.
In the RAM 603, various programs and data necessary for the operation of the system 600 are stored. The processor 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. The processor 601 performs the method described above with reference to fig. 2 by executing programs in the ROM 602 and/or the RAM 603. It is to be noted that the program may also be stored in one or more memories other than the ROM 602 and the RAM 603. The processor 601 may also perform the method described above with reference to fig. 2 by executing programs stored in one or more memories.
According to an embodiment of the present disclosure, system 600 may also include an input/output (I/O) interface 605, input/output (I/O) interface 605 also connected to bus 604. The system 600 may also include one or more of the following components connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, and the like; an output portion 607 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The driver 610 is also connected to the I/O interface 605 as needed. A removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 610 as necessary, so that a computer program read out therefrom is mounted in the storage section 608 as necessary.
According to an embodiment of the present disclosure, the method described above with reference to the flow chart may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 609, and/or installed from the removable medium 611. The computer program, when executed by the processor 601, performs the above-described functions defined in the system of the embodiments of the present disclosure. The systems, devices, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
It should be noted that the computer readable media shown in the present disclosure may be computer readable signal media or computer readable storage media or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer-readable signal medium may include a propagated data signal with computer-readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing. According to embodiments of the present disclosure, a computer-readable medium may include the ROM 602 and/or RAM 603 described above and/or one or more memories other than the ROM 602 and RAM 603.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
As another aspect, the present disclosure also provides a computer-readable medium, which may be contained in the apparatus described in the above embodiments; or may be separate and not incorporated into the device. The computer readable medium carries one or more programs which, when executed by a device, cause the device to perform the method as described above.
The embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described separately above, this does not mean that the measures in the embodiments cannot be used in advantageous combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.

Claims (10)

1. A method of monitoring a service, the service being configured to process a request and to invoke at least one dependent service in the process of processing the request, the method comprising:
monitoring the service;
responding to the service receiving the request, and obtaining monitoring data, wherein the monitoring data comprises time data of the service starting to process the request, time data of the service finishing the request, time data of the service starting to call a dependent service and time data of a result returned by the dependent service; and
and processing the monitoring data to obtain the service execution time and the dependent service calling time of the service relative to the request.
2. The method of claim 1, further comprising:
and generating a visual interface based on the service execution time and the dependent service calling time of the service relative to the request, wherein the visual interface comprises chart content.
3. The method of claim 1, further comprising:
acquiring related information of the monitoring data, wherein the related information comprises at least one of identification information of the request and server information for executing the service; and
and storing the monitoring data and the related information in a correlation manner.
4. The method of claim 3, wherein the associating the monitoring data with the related information comprises:
and taking the identification information of the request as a key, taking the monitoring data and the server information as values, and storing the monitoring data and the related information in an associated manner.
5. The method of claim 3, wherein the associating the monitoring data with the related information comprises:
storing the monitoring data and the related information in a first memory in an associated manner;
responsive to a first condition being met, transferring the monitoring data and the related information to a second memory,
wherein the content of the first and second substances,
the read-write speed of the second memory is lower than that of the first memory;
the first condition includes at least one of: the accumulated storage time of the monitoring data and the related information in the first storage reaches a first threshold value; the remaining storage space of the first memory is less than a second threshold.
6. The method of claim 1, wherein the monitoring the service comprises:
and setting a monitoring point at a specified position of the service through a setting program annotation, wherein the specified position comprises an entrance position of the service, an exit position of the service, an entrance position calling the dependent service and an exit position of the dependent service.
7. The method of claim 1, further comprising:
determining whether the service is abnormal based on the service execution time; and
and under the condition that the service is abnormal, checking the performance of the dependent service based on the dependent service calling time.
8. A service monitoring apparatus, the service being configured to process requests and to invoke at least one dependent service in the process of processing requests, the apparatus comprising:
a monitoring module for monitoring the service;
an obtaining module, configured to obtain, in response to the service receiving the request, monitoring data, where the monitoring data includes time data of the service starting to process the request, time data of the service completing the request, time data of the service starting to invoke a dependent service, and time data of a result returned by the dependent service; and
and the processing module is used for processing the monitoring data to obtain the service execution time and the dependent service calling time of the service relative to the request.
9. A computer system, comprising:
one or more processors;
a storage device for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method of any of claims 1-7.
10. A computer readable medium having stored thereon executable instructions which, when executed by a processor, cause the processor to perform the method of any one of claims 1 to 7.
CN202010226218.4A 2020-03-26 2020-03-26 Service monitoring method, device, computer system and medium Pending CN113448796A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010226218.4A CN113448796A (en) 2020-03-26 2020-03-26 Service monitoring method, device, computer system and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010226218.4A CN113448796A (en) 2020-03-26 2020-03-26 Service monitoring method, device, computer system and medium

Publications (1)

Publication Number Publication Date
CN113448796A true CN113448796A (en) 2021-09-28

Family

ID=77807305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010226218.4A Pending CN113448796A (en) 2020-03-26 2020-03-26 Service monitoring method, device, computer system and medium

Country Status (1)

Country Link
CN (1) CN113448796A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965476A (en) * 2021-10-22 2022-01-21 中国联合网络通信集团有限公司 Inspection method, device and equipment based on application

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546590A (en) * 2010-12-02 2012-07-04 瑞科网信科技有限公司 System and method for distributing application traffic to servers based on dynamic service response time
US10176081B1 (en) * 2016-04-29 2019-01-08 Intuit Inc. Monitoring of application program interface integrations
CN109672741A (en) * 2018-12-25 2019-04-23 鼎信信息科技有限责任公司 Micro services monitoring method, device, computer equipment and storage medium
CN109756364A (en) * 2018-12-07 2019-05-14 成都四方伟业软件股份有限公司 A kind of micro services performance optimization system and analysis method based on log analysis
CN110430070A (en) * 2019-07-19 2019-11-08 北京奇艺世纪科技有限公司 A kind of service state analysis method, device, server, data analysis equipment and medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546590A (en) * 2010-12-02 2012-07-04 瑞科网信科技有限公司 System and method for distributing application traffic to servers based on dynamic service response time
US10176081B1 (en) * 2016-04-29 2019-01-08 Intuit Inc. Monitoring of application program interface integrations
CN109756364A (en) * 2018-12-07 2019-05-14 成都四方伟业软件股份有限公司 A kind of micro services performance optimization system and analysis method based on log analysis
CN109672741A (en) * 2018-12-25 2019-04-23 鼎信信息科技有限责任公司 Micro services monitoring method, device, computer equipment and storage medium
CN110430070A (en) * 2019-07-19 2019-11-08 北京奇艺世纪科技有限公司 A kind of service state analysis method, device, server, data analysis equipment and medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965476A (en) * 2021-10-22 2022-01-21 中国联合网络通信集团有限公司 Inspection method, device and equipment based on application
CN113965476B (en) * 2021-10-22 2024-03-01 中国联合网络通信集团有限公司 Inspection method, device and equipment based on application

Similar Documents

Publication Publication Date Title
CN110489101B (en) Interface simulation method, system, medium and electronic equipment
US10067862B2 (en) Tracking asynchronous entry points for an application
CN108875393B (en) Security realization method, device and medium for client data screen capturing
CN112036558A (en) Model management method, electronic device, and medium
US8935516B2 (en) Enabling portions of programs to be executed on system z integrated information processor (zIIP) without requiring programs to be entirely restructured
CN115277855A (en) Request processing method and device, electronic equipment and storage medium
CN110635961B (en) Pressure measurement method, device and system of server
CN114760233A (en) Service processing method and device, electronic equipment and storage medium
CN113448796A (en) Service monitoring method, device, computer system and medium
CN107679896B (en) Evaluation method and evaluation system based on time sequence-section model
CN110717992B (en) Method, apparatus, computer system and readable storage medium for scheduling model
CN117076280A (en) Policy generation method and device, electronic equipment and computer readable storage medium
CN112817831A (en) Application performance monitoring method, device, computer system and readable storage medium
CN109960905B (en) Information processing method, system, medium, and electronic device
CN117009283A (en) Multi-core multi-chip data processing method, device, chip and storage medium
CN110968433A (en) Information processing method and system and electronic equipment
CN111338928A (en) Chrome-based browser testing method and device
CN112379967B (en) Simulator detection method, device, equipment and medium
CN113132400B (en) Business processing method, device, computer system and storage medium
CN114218283A (en) Abnormality detection method, apparatus, device, and medium
CN110502891B (en) Method, device, medium and electronic equipment for acquiring process memory leakage
CN113656314A (en) Pressure test processing method and device
CN109474447B (en) Alarm method and device for real-time monitoring system
CN113535568B (en) Verification method, device, equipment and medium for application deployment version
CN115314258B (en) Method and device for detecting weak password, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination