CN114816915A - 链路追踪方法以及设备 - Google Patents

链路追踪方法以及设备 Download PDF

Info

Publication number
CN114816915A
CN114816915A CN202210427014.6A CN202210427014A CN114816915A CN 114816915 A CN114816915 A CN 114816915A CN 202210427014 A CN202210427014 A CN 202210427014A CN 114816915 A CN114816915 A CN 114816915A
Authority
CN
China
Prior art keywords
calling
link
call
path
span
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
CN202210427014.6A
Other languages
English (en)
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210427014.6A priority Critical patent/CN114816915A/zh
Publication of CN114816915A publication Critical patent/CN114816915A/zh
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/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种链路追踪方法以及设备。该方法包括:获取待追踪的调用路径,该调用路径由M个相同的调用链路聚合形成,并根据该调用路径是否存在于调用路径池,确定该调用路径的路径权重,该调用路径池包括历史链路追踪过程中形成的历史调用路径,再根据该调用路径的路径权重,对该M个相同的调用链路进行筛选,得到该M个相同的调用链路中的N1个调用链路,最后根据该N1个调用链路,生成该调用路径的链路追踪结果,该链路追踪结果用于表示该调用路径中调用链路的调用情况;其中,M≥N1≥1。使得在链路追踪结果中存在较多能够体现调用路径异常的高价值数据,以便于进行调用路径的异常分析,并且节省了存储空间。

Description

链路追踪方法以及设备
技术领域
本申请涉及网络技术领域,尤其涉及一种链路追踪方法以及设备。
背景技术
在分布式系统(例如微服务系统)中,往往需要系统中的多个模块(例如微服务)之间进行相互调用才能完成对一次外部请求的响应。以微服务系统为例,通过微服务系统响应外部请求,调用微服务产生的调用路径(path)错综复杂,因此,常通过链路追踪技术对微服务系统中的各调用路径的相关信息进行记录,以便于在调用路径存在异常时,及时处理异常,提高微服务系统的稳定性和可靠性。
目前,链路追踪过程中,记录的调用路径中的调用信息,通常是基于固定的采样频率采样得到的。此种情况下,链路追踪过程中需要记录的数据量较大,耗费较多的存储空间,并且链路追踪结果中,存在较多无法体现调用路径异常的低价值数据。
发明内容
本申请实施例提供一种链路追踪方法以及设备,以期筛选得到能够体现调用路径异常的高价值数据,便于进行异常分析,并且节省了存储空间。
第一方面,本申请实施例提供一种链路追踪方法,包括:获取待追踪的调用路径,该调用路径由M个相同的调用链路聚合形成;根据该调用路径是否存在于调用路径池,确定该调用路径的路径权重,该调用路径池包括历史链路追踪过程中形成的历史调用路径;根据该调用路径的路径权重,对该M个相同的调用链路进行筛选,得到该M个相同的调用链路中的N1个调用链路;根据该N1个调用链路,生成该调用路径的链路追踪结果,该链路追踪结果用于表示该调用路径中调用链路的调用情况;其中,M≥N1≥1。
第二方面,本申请实施例提供一种链路追踪装置,包括:获取单元,用于获取待追踪的调用路径,该调用路径由M个相同的调用链路聚合形成;权重确定单元,用于根据该调用路径是否存在于调用路径池,确定该调用路径的路径权重,该调用路径池包括历史链路追踪过程中形成的历史调用路径;链路筛选单元,用于根据该调用路径的路径权重,对该M个相同的调用链路进行筛选,得到该M个相同的调用链路中的N1个调用链路;结果生成单元,用于根据该N1个调用链路,生成该调用路径的链路追踪结果,该链路追踪结果用于表示该调用路径中调用链路的调用情况;其中,M≥N1≥1。
第三方面,本申请实施例提供一种电子设备,包括:至少一个处理器和存储器;该存储器存储计算机执行指令;该至少一个处理器执行该存储器存储的计算机执行指令,使得该至少一个处理器执行如第一方面提供的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行该计算机执行指令时,实现如第一方面提供的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现第一方面提供的方法。
本申请实施例中,链路追踪装置基于待追踪的调用路径是否存在于调用路径池,对聚合形成调用路径的调用链路进行筛选,进而基于筛选后的调用链路生成该调用路径的链路追踪结果。使得在链路追踪结果中存在较多能够体现调用路径异常的高价值数据,以便于进行调用路径的异常分析,并且节省了存储空间。
附图说明
图1为本申请提供的一种链路追踪的场景示意图;
图2为本申请实施例提供的一种链路追踪装置的示意图;
图3为本申请实施例提供的一种链路追踪方法的流程示意图;
图4为本申请实施例提供的另一种链路追踪方法的流程示意图;
图5为本申请实施例提供的一种链路追踪装置的示意性框图;
图6为本申请示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
本申请实施例适用于对任意分布式系统的调用路径(path)的链路追踪,尤其适用于对微服务系统的调用路径的链路追踪。下文以对微服务系统的调用路径进行链路追踪为例对本申请进行示例性的说明。
图1为本申请提供的一种链路追踪的场景示意图。假设微服务系统中存在如图1所示的调用节点a至f(不包括调用节点g)。需要说明的是,调用节点可以是微服务(Service),或者微服务中的操作(Operation)。例如,在电商领域中,微服务可以包括订单服务、付款服务、计算服务地址服务、库存服务等,订单服务包括的操作可以是创建订单、更新订单、取消订单等。在图1中,调用节点a可以是入口应用(root),调用节点b至f均是微服务中的操作,例如调用节点b和调用节点c是微服务S1中的操作,调用节点d是微服务S2中的操作,调用节点e是微服务S3中的操作,调用节点f是微服务S4中的操作。
微服务系统响应外部请求时,可能因调用产生多个调用路径,每个调用路径描述了调用链路(trace)经过的Service和Operation的路径。例如,可能存在调用路径A至D。如图1所示,调用路径A为包括调用节点a、b、d和e的调用路径,调用路径B为包括调用节点a、b、d和f的调用路径,调用路径C为包括调用节点a、c、d和e的调用路径,调用路径D为包括调用节点a、c、d、f的调用路径。
需要说明的是,调用路径是由多次调用产生的相同调用的调用链路(trace)聚合形成的。微服务系统可以通过相同的调用链路响应一种类型的外部请求,每次响应外部请求,产生一个调用链路,例如聚合形成调用路径A的各调用链路均为包括调用节点a、b、d和e的调用链路。
在每个调用链路中每两个相邻的调用节点之间的调用可以通过跨度(Span)表示,例如调用节点a每一次调用调用节点b会产生一次调用的跨度,调用节点b调用调用节点d也会产生一次调用的跨度,以此类推,当完成响应外部请求的完整调用时,这些跨度就组成了一个调用链路。每个跨度对应有跨度信息,跨度信息用于表征该两个相邻的调用节点在调用过程中产生的信息。跨度信息可以包括该调用链路的标识、该跨度的标识、调用的服务名称、调用的操作名称、该跨度的调用起始时间和调用结束时间、调用响应等中的部分或者全部。以图1中调用节点a调用调用节点b的跨度为例,该跨度的跨度信息包括:跨度的标识(SpanID)为1,调用链路的标识(TraceID)为1000,调用的服务名称(ServiceName)为S1,调用的操作名称(OperationName)为O1,调用起始时间(StarTime)为调用节点a向调用节点b请求调用的时间,调用结束时间(EndTime)为调用节点a收到调用节点b响应调用节点a的调用请求的时间。
多个调用链路中相同的跨度可以聚合得到调用路径中对应的跳(Hop),Hop描述了path中的一个节点,对应于经过当前path的trace中于此Service和Operation和Span的集合,其中,相同的跨度是指调用节点和被调用节点均相同的跨度。例如调用节点a到调用节点b之间的跨度聚合得到Hop1,调用节点b到调用节点d之间的跨度聚合得到Hop2,调用节点d到调用节点e之间的跨度聚合得到Hop3,Hop1~3组成了调用路径A。Hop的信息可以包括调用路径的标识(PathID)、调用的服务名称(ServiceName)、调用的操作名称(OperationName)、包括的跨度的数量(Count)、包括的错误跨度的数量(ErrorCount)、包括的慢跨度的数量(SlowCount)。其中,慢跨度是指响应时长(Response Time,RT)超过预设时长阈值的跨度,跨度的RT等于该跨度的跨度信息中的调用结束时间与调用起始时间之差。
链路追踪可以是对上述各调用链路中的跨度的跨度信息进行采集,以通过各跨度的跨度信息对调用路径的调用情况进行可视化的展示。
图2为本申请实施例提供的一种链路追踪装置的示意图。图2中的链路追踪装置可以用于对调用路径进行链路追踪,例如上述图1中微系统中的各调用路径。链路追踪装置200可以包括:数据采集单元210、第一流式计算单元220、存储单元230、第二流式计算单元240和控制台250中的部分或者全部。
其中,数据采集单元210可以采集微服务系统中实时产生的跨度信息。示例性的,数据采集单元210可以通过应用探针(Agent)211采集微服务系统在响应外部请求时产生的跨度信息。其中,应用探针211可以用于采集微服务系统中的一个或多个调用节点在调用过程中生成的跨度信息,并根据预设的采样频率上报该跨度信息。一般来说,通过部署的多个应用探针211可以采集微服务系统中的全部跨度信息。例如,应用探针211的采样频率为r%,当应用探针的跨度计数器对r取余为0时将该跨度信息进行上报。
示例性的,数据采集单元210可以将采集的跨度信息输入消息队列212,并通过消息队列212将跨度信息输出至第一流式计算单元220。可选的,消息队列212可以是基于kafka实现的消息队列,kafka是一个分布式、高吞吐量、高扩展性的消息队列系统。当然,本申请并不限定消息队列的实现方式。
第一流式计算单元220可以基于调用路径池2331对接收到的跨度信息进行筛选,得到对于分析调用路径异常来说具有较高价值的数据,进而将筛选后的跨度信息和生成的调用路径输出至存储单元230中。第一流式计算单元220对跨度信息的筛选过程将在下文进行详细说明。
第二流式计算单元240可以从存储单元230中获取存储的历史链路追踪过程的数据,进而根据历史链路追踪过程的数据对调用路径池231进行更新,以使第一流式计算单元220能够准确筛选出高价值数据。
第一流式计算单元220和第二流式计算单元240均可以实现为流式计算集群,或者二者均可以是流式计算集群中的一部分。流式计算集群可以是基于Flink流式计算框架实现的具有流计算能力的功能单元。第一流式计算单元220和第二流式计算单元240可以是相互独立的或者可以是集成式的,本申请对此不做限定。
存储单元230可以用于存储筛选后的跨度信息、聚合形成的调用路径、实时更新的调用路径池中的至少之一。存储单元230可以包括一个或多个数据库。当存储单元230包括多个数据库时,不同类型的数据可以存储与不同的数据库中,以实现数据隔离,便于数据的读写。
例如,存储单元230包括第一存储单元231、第二存储单元232和第三存储单元233。其中,第一存储单元231可以用于存储生成的调用路径,由于链路追踪过程中调用路径的不需要实时响应,也即第一存储单元231的读写速度要求较低,此种情况下,第一存储单元231可以实现为基于磁盘的图数据库,例如Neo4j,以增大存储量;第二存储单元232可以用于存储筛选得到的跨度信息,第二存储单元232可以实现为日志存储系统,例如云日志存储系统SLS;第三存储单元233可以用于存储调用路径池,由于链路追踪过程中需要调用路径池实时响应,对第三存储单元233的读写速度要求较高,此种情况下,第三存储单元233可以实现为基于内存的图数据库,例如RedisGraph。
示例性的,第二存储单元232存储跨度信息的形式可以参见如下表1。
表1
SpanID TraceID ServiceName OperationName PathID
884470 918118346 S1 O1 1404104
…… …… …… …… ……
716237 914760431 S5 O9 1401456
…… …… …… …… ……
需要说明的是,表1中的PathID是第一流式计算单元220在聚合形成调用路径后生成的,可选的,在生成PathID后可以将PathID添加至跨度信息中。
示例性的,第三存储单元233存储的调用路径池包括多个历史调用路径,每个历史调用路径中包括多个Hop,一个Hop在第三存储单元233中的存储形式可以参见如下表2。
表2
OperationName O1
PathID 1404104
Count 6
ErrorCount 0
SlowCount 2
…… ……
可选的,在第三存储单元233中还可以存储每个Hop对应的RT区间,每个Hop对应的RT区间可以根据调用路径池中该Hop包含的多个跨度的RT确定(下文中具体说明)。每个Hop对应的RT区间在存储单元233中的存储形式可以参见如下表3。
表3
OperationName 阈值(threshold)(单位:毫秒)
O1 [5,23,198]
O2 [58,568,1257]
…… ……
控制台250用于根据存储单元230中存储的数据,例如存储的筛选后的跨度信息,生成显示界面,该显示界面中显示有链路追踪结果。可选的,该显示界面可以是人机交互界面,也即用户可以通过控制台250生成的人机交互界面对链路追踪结果进行查看或者其他控制操作。该控制台250可以实现为console。
需要说明的是,上述图1中的微服务系统和图2中的链路追踪装置均可以实现为普通服务器、服务器集群,或者云端服务器、服务器集群。且微服务系统和链路追踪装置可以部署于相同或者不同的服务器剧情,本申请对此不做限定。
下面结合附图对本申请实施例提供的链路追踪方法做详细说明。
图3为本申请实施例提供的一种链路追踪方法的流程示意图。本申请实施例的执行主体可以是上述链路追踪装置,在一些实施例中,链路追踪装置可以集成于分布式系统,例如图1中的微服务系统。如图3所示,该方法包括:
S310,获取待追踪的调用路径,该调用路径由M个相同的调用链路聚合形成;
S320,根据调用路径是否存在于调用路径池,确定调用路径的路径权重,该调用路径池包括历史链路追踪过程中形成的历史调用路径;
S330,根据调用路径的路径权重,对M个相同的调用链路进行筛选,得到M个相同的调用链路中的N1个调用链路;
S340,根据N1个调用链路,生成调用路径的链路追踪结果,该链路追踪结果用于表示调用路径中调用链路的调用情况。
其中,M≥N1≥1。
需要说明的是,调用路径池包括的多个历史调用路径,例如可以是图1所示微服务系统中的调用路径A至D。S310中的调用路径可以是调用路径池中的一个调用路径,或者调用路径可以是新的调用路径,而非调用路径池中的历史调用路径,例如调用路径可以是图1中的调用路径E,调用路径是包括调用节点a、b、d、f和g的调用路径。
示例性的,链路追踪装置可以通过数据采集单元,例如图2中的数据采集单元210,采集微服务系统中各跨度的跨度信息,以通过跨度信息连接得到多个调用链路,再将多个调用链路聚合得到一个或多个调用路径,S310中的调用路径可以是其中的一个调用路径。
可以理解的是,该调用路径可以是由M个相同的调用链路聚合形成,M个相同的调用链路中每个调用链路均是通过调用节点a-b-d-f-g完成一次外部请求的响应的。
本申请实施例对外部请求不做限定,其可以应用于任何领域,当微服务系统应用于电商领域时,外部请求例如可以是物品购买请求、订单查询请求、物品详情浏览请求等。
M个相同的调用链路聚合形成调用路径可以是基于任意路径生成算法执行的。示例性的,链路追踪装置可以通过一下4个步骤实现调用路径的生成:1、在采集的跨度信息中根据跨度信息中的等级(level)属性筛选出入口应用,例如图1中的调用节点a即为入口应用。入口应用的level为0;2、根据跨度信息中的ServiceName,OperationName以及level信息计算出当前跨度信息的哈希值(hash),例如hash=HashCode(span.serviceName)+HashCode(span.operationName)+span.level*31,其中,HashCode为哈希值计算函数;3、递归该入口应用的跨度信息的子跨度信息(子跨度信息代表入口应用的跨度信息之后的后续的调用关系)并生成子跨度信息的hash返回并拼接,最终在入口应用的跨度信息中生成的hash即为PathId;4、将在入口应用的跨度信息中生成的PathId,通过递归传递给所有的子跨度信息。
一般来说,待追踪的调用路径如果是已经存在于调用路径池中的历史调用路径,表明该调用路径经历过历史链路追踪,其出现异常的可能性较低,那么,对于分析调用路径的异常来说,聚合形成该调用路径的M个相同的调用链路的调用信息可以认为是低价值数据;待追踪的调用路径如果不是已经存在于调用路径池中的历史调用路径,表明该调用路径是新的调用路径,其出现异常的可能性较高,那么对于分析调用路径的异常来说,聚合形成该调用路径的M个相同的调用链路的调用信息可以认为是高价值数据,需要保留,以便于基于保留的调用链路的调用信息生成链路追踪结果。可选的,调用链路的调用信息可以包括该调用链路上的多个跨度的跨度信息。
因此,在上述S320中,链路追踪装置可以基于待追踪的调用路径是否存在于调用路径池,对调用路径设置路径权重,以筛选出较高价值的调用链路的调用信息。
在上述S320的一种可能的示例中,若调用路径存在于调用路径池,链路追踪装置可以确定调用路径的路径权重为第一路径权重;若调用路径不存在于调用路径池,确定调用路径的路径权重为第二路径权重。一般来说,第一路径权重的值小于第二路径权重的值,也即链路追踪装置更倾向于获取更多不存在于调用路径池中的调用路径中的数据。
该路径权重可以是采样率,例如第一路径权重可以是20%,第二路径权重可以是50%。例如,调用路径存在于调用路径池,则链路追踪装置可以将调用路径的路径权重设置为20%,又例如,调用路径不存在与调用路径池,则链路追踪装置可以将调用路径的路径权重设置为50%。
在上述S330中,链路追踪装置基于调用路径的路径权重,对M个相同的调用链路进行筛选,可以得到能够反映调用路径异常的高价值数据。例如,调用链路存在于调用路径池,链路追踪装置将调用路径的路径权重设置为20%,那么M个相同的调用链路中每个调用链路均有20%的可能保留、80%的可能丢弃;又例如,调用链路不存在于调用路径池,链路追踪装置将调用路径的路径权重设置为50%,那么M个相同的调用链路中每个调用链路均有50%的可能保留、50%的可能丢弃。
接续上述示例,假设调用路径存在于调用路径池,链路追踪装置确定调用路径的路径权重为第一路径权重,进而链路追踪装置可以确定聚合形成该调用路径的M个相同的调用链路分别对应的第一路径权重的值。具体而言,每个调用链路都存在时间戳,链路追踪装置可以根据各调用链路的时间戳,确定各调用链路对应的第一路径权重的值。可选的,时间戳显示的时间越早的调用链路,其对应的第一路径权重的值越小,时间戳显示的时间越晚的调用链路,其对应的第一路径的权重的值越大,例如,早于当前时间1天的调用链路对应的第一路径权重的值为5%,早于当前时间0.5天的调用链路对应的第一路径权重的值为10%,早于当前时间1小时的调用链路对应的第一路径权重的值为20%。该时间戳可以是调用链路接收外部请求时的时间,或者开始执行调用的时间等。
在上述S330中,链路追踪装置对调用链路的筛选可以体现为对调用链路中跨度信息的筛选,当调用链路中的至少一个跨度信息被丢弃时,则该调用链路被视为丢弃,当调用链路中的全部跨度信息被保留时,该调用链路被视为保留。调用链路的时间戳也可以携带于该调用链路的跨度信息中。
可以理解的是,当路径权重的值较大时,链路追踪装置筛选得到的调用链路的个数越多,也即N1值越大;当路径权重的值较小时,链路追踪装置筛选得到的调用链路的个数越少,也即N1值越小。
在上述S340中,链路追踪装置根据N1个调用链路生成的链路追踪结果,应至少包括该N1个调用链路的调用信息,例如包括组成各调用链路的跨度的跨度信息。
链路追踪结果还可以是多个调用路径的链路追踪结果的融合。也即通过链路追踪结果可以对多个调用路径进行可视化的链路追踪显示。
本申请实施例中,链路追踪装置基于待追踪的调用路径是否存在于调用路径池,对聚合形成调用路径的调用链路进行筛选,进而基于筛选后的调用链路生成该调用路径的链路追踪结果。使得在链路追踪结果中存在较多能够体现调用路径异常的高价值数据。
在上述实施例的基础上,本申请为了能够更加准确的筛选出高价值数据,链路追踪装置还可以对N1个调用链路进行进一步地筛选,以得到对于体现调用路径异常具有更高价值的N2个调用链路的调用信息。下面结合图4进行示例性的说明。
图4为本申请实施例提供的另一种链路追踪方法的流程示意图。如图4所示,该方法中的S310至S330与图3中相应的过程具有类似的实现方式,此处不再赘述。
该方法还包括:
S341,确定N1个调用链路分别对应的采样权重;
S342,根据N1个调用链路分别对应的采样权重,对N1个调用链路进行筛选,得到N1个调用链路中的N2个调用链路;
S343,根据N2个调用链路,生成调用路径的链路追踪结果;
其中,N1≥N2≥1。
在上述S341中,可以至少包括以下两种可能的实现方式:
实现方式一:链路追踪装置可以基于RT区间,确定N1个调用链路分别对应的采样权重。
RT区间可以用于区分调用链路的RT是否属于正常运行情况下的RT,因此,基于RT区间确定各调用链路的采样权重有助于筛选出高价值数据。
示例性的,针对N1个调用链路中的一个调用链路,链路追踪装置获取该调用链路中的至少一个跨度信息,该跨度信息用于表征调用链路中两个相邻调用节点在调用过程中产生的信息,并且,链路追踪装置根据至少一个跨度信息和RT区间,分别确定调用链路的至少一个跨度权重,该RT区间为基于所述调用路径上的历史调用链路的调用信息确定的,进而,链路追踪装置将至少一个跨度权重中的最大值,作为调用链路的采样权重。当然,链路追踪装置还可以将至少一个跨度权重中的最小值,或者均值作为调用链路的采样权重,本申请对此不做限定。
在上述实现方式一中,示例性的,该RT区间可以包括第一区间。可选的,该第一区间可以是基于正态分布函数和贝叶斯函数,对历史调用链路的调用信息进行处理得到的可信区间。第一区间或者可以称作贝叶斯可信区间,贝叶斯可信区间是基于给定的先验概率分布,通过贝叶斯理论计算出后验概率分布,进而得到一定概率下参数的取值区间的一种区间估计算法。
例如,链路追踪装置可以获取调用路径池中的各历史调用链路的各跨度信息,并根据各跨度信息中的调用起始时间和调用结束时间得到历史调用路径中的多个跨度的RT。进而,链路追踪装置可以将历史调用路径中的多个跨度的RT划分为两个数据集D1和D2。链路追踪装置计算数据集D1的均值μ和方差σ1,并将数据集D1的均值μ和方差σ1作为如下正态函数的输入,得到贝叶斯函数的先验分布P(x)。
Figure BDA0003608824610000091
其中,exp为以自然常数e为底的指数函数。
进一步地,链路追踪装置根据先验分布P(x),基于如下贝叶斯公式,得到后验分布P(x|Y)。
Figure BDA0003608824610000092
进而,链路追踪装置从后验分布函数中确定分位数作为可信区间的左端点b1和右端点b2。其中,b1小于数据集D2的均值,b2大于数据集D2的均值。最终得到可信区间(也即第一区间)[b1,b2]。
该第一区间能够反映出正常运行情况下跨度的RT所满足的区间,也即当跨度的RT属于第一区间时,链路追踪装置认为该跨度是正常跨度,而当跨度的RT不属于第一区间时,链路追踪装置认为该跨度是异常的跨度,异常的跨度可以包括错误跨度和慢跨度等。
当RT区间包括第一区间时,上述实现方式一具体可以实现为:链路追踪装置逐一确定至少一个跨度信息的跨度权重。链路追踪装置根据至少一个跨度信息中的第i个跨度信息,确定调用链路的第i个跨度的RT;若第i个跨度的RT小于第一区间的下限阈值(如b1),则表明该跨度响应时长偏低,可能由所调用的调用节点的功能异常引起,或者由所调用的调用节点的功能删减引起等,导致该调用链路需要被关注,此种情况下,调用链路的第i个跨度权重较大(例如为第一跨度权重);若第i个跨度的RT处于第一区间,则该跨度的RT处于正常的RT范围,调用链路的第i个跨度权重较小(例如为第二跨度权重);若第i个跨度的RT大于第一区间的上限阈值(如b2),则该跨度的RT偏高,可能由所调用的调用节点的功能异常引起,或由所调用的调用节点的功能增加引起,或由网络拥塞引起等,导致该调用链路需要被关注,此种情况下,调用链路的第i个跨度权重较大(例如为第三跨度权重);其中,第一跨度权重的值和第三跨度权重的值均大于第二跨度权重的值,本申请对第一跨度权重的值和第三跨度权重的值之间的大小关系不做限定。例如,第一跨度权重可以为50%、第二跨度权重可以为20%、第三跨度权重可以为50%。
接续上述示例,在上述实现方式一中,该RT区间还可以包括第二区间。可选的,第二区间为基于置信区间函数,对历史调用链路的调用信息进行处理得到的置信区间。置信区间描述的是参数的真实值有一定概率落在测量结果周围的程度。
例如,链路追踪装置可以获取调用路径池中的各历史调用链路的各跨度信息,并根据各跨度信息中的调用起始时间和调用结束时间得到历史调用路径中的多个跨度的RT。进而,链路追踪装置可以将历史调用路径中的多个跨度的RT中RT超出b2的RT组成数据集D3。链路追踪装置计算数据集D3的均值μ和标准差σ2,将数据集D3的均值μ和标准差σ2输入如下置信区间函数,得到置信区间[c1,c2]。
[c1,c2]=(μ-Zα/2σ,μ+Zα/2σ)
其中,Zα/2σ为标准分数,α的值默认为0.975。
进一步地,整合第一区间[b1,b2]和置信区间[c1,c2],得到第二区间[b2,c2]。
该第二区间能够反映出异常情况下跨度的RT的异常程度。当RT区间包括第二区间时,链路追踪装置在第i个跨度的RT处于第二区间,确定第三跨度权重的值为第一预设值时,在第i个跨度的RT大于第二区间的上限阈值(如c2)时,确定第三跨度权重的值为第二预设值;其中,第一预设值小于第二预设值。通过第二区间的上限阈值对跨度的RT的偏高程度进行区分,在RT偏高至超出第二区间的上限阈值时,需要对其强烈关注。例如第一预设值可以是50%,第二预设值可以是100%。
实现方式二:链路追踪装置可以根据各调用链路是否存在错误跨度,确定N1个调用链路分别对应的采样权重。
示例性的,针对所述N1个调用链路中的一个调用链路,链路追踪装置可以获取该调用链路中的至少一个跨度信息,并根据至少一个跨度信息中各跨度信息的调度响应,确定该调用链路的至少一个跨度中是否存在错误跨度。进而,根据N1个调用链路中各调用链路是否存在错误跨度,确定N1个调用链路分别对应的采样权重。
其中,调度响应可以是一个调用节点响应于另一调用节点发送的响应信息。例如,调用响应可以是图1中调用节点a调用调用节点b后,调用节点b向调用节点a发送的,该调度响应可以指示调用节点b是否成功执行了调用节点a的调用。举例而言,调用响应包括的值“200”时,表明调用成功执行了;调用响应包括的值非“200”时,表明调用未成功执行,也即这两个调用节点之间的跨度是错误跨度。
在确定调用链路存在错误跨度时,该调用链路的跨度信息对于分析调用路径的异常而言是高价值数据,因此,链路追踪装置需要对该调用链路设置较高的权重;相应的,在确定调用链路不存在错误跨度时,该调用链路的跨度信息对于分析调用路径的异常而言是低价值数据,因此,链路追踪装置需要对该调用链路设置较低的权重。
无论以上述实现方式一或者实现方式二中的哪一种实现方式,均可以确定N1个调用链路分别对应的采样权重,进而在上述S342和S343中,根据确定的N1个调用链路分别对应的采样权重,对N1个调用链路进行筛选,得到N1个调用链路中的N2个调用链路,再根据N2个调用链路生成路径的链路追踪结果。该S342对调用链路的筛选过程与上述图3中的S330类似,该S343中的链路追踪结果的生成过程与上述图3中的S340类似,此处不再赘述。
当然,上述实现方式一和实现方式二可以相互结合。例如,链路追踪装置可以先基于RT区间,确定N1个调用链路分别对应的采样权重,并根据N1个调用链路分别对应的采样权重对N1个调用链路进行筛选得到N2个调用链路后,再根据各调用链路是否存在错误跨度,确定N2个调用链路分别对应的采样权重,根据N2个调用链路分别对应的采样权重,对N2个调用链路进行筛选,得到N2个调用链路中的N3个调用链路,最后根据N3个调用链路,生成调用路径的链路追踪结果。
上述实现方式一和实现方式二的结合方式还包括:链路追踪装置先基于N1个调用链路中的各调用链路是否存在错误跨度,根据N1个调用链路中的各调用链路是否存在错误跨度,确定N1个调用链路分别对应的采样权重,并根据N1个调用链路分别对应的采样权重,对N1个调用链路进行筛选,得到N2个调用链路,进而,链路追踪装置基于RT区间,确定N2个调用链路中各调用链路分别对应的采样权重,根据N2个调用链路分别对应的采样权重,对N2个调用链路进行筛选,得到N2个调用链路中的N3个调用链路,最后根据N3个调用链路,生成调用路径的链路追踪结果。
在包括上述图3或图4在内的任一实施例的基础上,链路追踪装置可以对调用路径池进行实时更新。
示例性的,链路追踪装置可以根据N1个调用链路分别对应的调用信息,更新调用路径池,该调用信息包括对应的调用链路的至少一个跨度信息。例如,链路追踪装置可以通过图2所示的第二流式计算单元240实时读取存储单元230中存储的跨度信息,并根据读取的跨度信息更新调用路径池。
图5为本申请实施例提供的一种链路追踪装置的示意性框图。如图5所示,该装置400至少包括获取单元410、权重确定单元420、链路筛选单元430和结果生成单元440。
其中,获取单元410可以用于获取待追踪的调用路径,该调用路径由M个相同的调用链路聚合形成;权重确定单元420可以用于根据该调用路径是否存在于调用路径池,确定该调用路径的路径权重,该调用路径池包括历史链路追踪过程中形成的历史调用路径;链路筛选单元430可以用于根据该调用路径的路径权重,对该M个相同的调用链路进行筛选,得到该M个相同的调用链路中的N1个调用链路;结果生成单元440可以用于根据该N1个调用链路,生成该调用路径的链路追踪结果,该链路追踪结果用于表示该调用路径中调用链路的调用情况;其中,M≥N1≥1。
在一些实施例中,结果生成单元440具体用于:确定该N1个调用链路分别对应的采样权重;根据该N1个调用链路分别对应的采样权重,对该N1个调用链路进行筛选,得到该N1个调用链路中的N2个调用链路;根据该N2个调用链路,生成该调用路径的链路追踪结果;其中,N1≥N2≥1。
在一些实施例中,权重确定单元420具体用于:针对该N1个调用链路中的一个调用链路,获取该调用链路中的至少一个跨度信息,该跨度信息用于表征该调用链路中两个相邻调用节点在调用过程中产生的信息;根据该至少一个跨度信息和响应时长RT区间,分别确定该调用链路的至少一个跨度权重,该RT区间为基于该调用路径上的历史调用链路的调用信息确定的;将该至少一个跨度权重中的最大值,作为该调用链路的采样权重。
在一些实施例中,该RT区间包括第一区间,该权重确定单元420具体用于:根据该至少一个跨度信息中的第i个跨度信息,确定该调用链路的第i个跨度的RT;若该第i个跨度的RT小于该第一区间的下限阈值,则该调用链路的第i个跨度权重为第一跨度权重;若该第i个跨度的RT处于该第一区间,则该调用链路的第i个跨度权重为第二跨度权重;若该第i个跨度的RT大于该第一区间的上限阈值,则该调用链路的第i个跨度权重为第三跨度权重;其中,该第一跨度权重的值和第三跨度权重的值均大于该第二跨度权重的值。
在一些实施例中,该第一区间为基于正态分布函数和贝叶斯函数确定的可信区间。
在一些实施例中,该RT区间还包括第二区间,该第二区间的下限阈值与该第一区间的上限阈值相同,该权重确定单元420具体用于:若该第i个跨度的RT处于该第二区间,则该第三跨度权重的值为第一预设值;若该第i个跨度的RT大于该第二区间的上限阈值,则该第三跨度权重的值为第二预设值;其中,该第一预设值小于该第二预设值。
在一些实施例中,该第二区间为基于置信区间函数和该第一区间确定的区间。
在一些实施例中,该结果生成单元440具体用于:确定该N2个调用链路中的各调用链路是否存在错误跨度;根据该N2个调用链路中的各调用链路是否存在错误跨度,确定该N2个调用链路分别对应的采样权重;根据该N2个调用链路分别对应的采样权重,对该N2个调用链路进行筛选,得到该N2个调用链路中的N3个调用链路;根据该N3个调用链路,生成该调用路径的链路追踪结果;其中,N2≥N3≥1。
在一些实施例中,该结果生成单元440具体用于:针对该N2个调用链路中的一个调用链路,获取该调用链路中的至少一个跨度信息,该跨度信息用于表征该调用链路中两个相邻调用节点在调用过程中产生的信息;根据该至少一个跨度信息中各跨度信息的调度响应,确定该调用链路的至少一个跨度中是否存在错误跨度。
在一些实施例中,该结果生成单元440具体用于:确定该N1个调用链路中的各调用链路是否存在错误跨度;根据该N1个调用链路中的各调用链路是否存在错误跨度,确定该N1个调用链路分别对应的采样权重。
在一些实施例中,该权重确定单元420具体用于:若该调用路径存在于该调用路径池,确定该调用路径的路径权重为第一路径权重;若该调用路径不存在于该调用路径池,确定该调用路径的路径权重为第二路径权重;其中,该第一路径权重的值小于该第二路径权重的值。
在一些实施例中,该权重确定单元420还用于:根据该M个相同的调用链路中各调用链路的时间戳,确定该M个相同的调用链路分别对应的第一路径权重的值。
在一些实施例中,该装置400还包括:路径池更新单元450,用于根据该N1个调用链路分别对应的调用信息,更新该调用路径池,该调用信息包括对应的调用链路的至少一个跨度信息,该跨度信息用于表征该调用链路中两个相邻调用节点在调用过程中产生的信息。
应理解,各单元执行上述相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,在此不再赘述。
还应理解,上述获取单元410、权重确定单元420和链路筛选单元430均可以是图2所示装置200中的第一流式计算单元220中的子单元;结果生成单元440可以是图2所示装置200中的控制台250,或者是控制台250中的子单元;路径池更新单元450可以是图2所示装置200中的第二流式计算单元240,或者是第二流式计算单元240中的子单元。
图6为本申请示例性实施例提供的一种电子设备的结构示意图。该电子设备500可以为上文方法实施例中链路追踪装置的一种实现。如图6所示,该电子设备500包括:存储器510和处理器520。
存储器510,用于存储计算机程序,并可被配置为存储其它各种数据以支持在云服务器上的操作。该存储器510可以是对象存储(Object Storage Service,OSS)。
处理器520,与存储器510耦合,用于执行存储器510中的计算机程序,以用于实现上文方法实施例中由应用服务端或中转服务端实现的方法。
进一步,如图6所示,该电子设备实现为云服务器时还包括:防火墙530、负载均衡器540、通信组件550、电源组件560等其它组件。图6中仅示意性给出部分组件,并不意味着服务器只包括图6所示组件。
应理解,图6所示的电子设备500能够实现上文方法实施例中涉及应用服务端或中转服务端的各个过程。电子设备500中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
本申请还提供了一种处理装置,包括至少一个处理器,该至少一个处理器用于执行存储器中存储的计算机程序,以使得该处理装置执行上述方法实施例中链路追踪装置执行的方法。
本申请实施例还提供了一种处理装置,包括处理器和输入输出接口。该输入输出接口与该处理器耦合。该输入输出接口用于输入和/或输出信息。该信息包括指令和数据中的至少一项。该处理器用于执行计算机程序,以使得该处理装置执行上述方法实施例中链路追踪装置执行的方法。
本申请实施例还提供了一种处理装置,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于从该存储器调用并运行该计算机程序,以使得该处理装置执行上述方法实施例中链路追踪装置执行的方法。
应理解,上述处理装置可以是一个或多个芯片。例如,该处理装置可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(applicationspecific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述方法实施例中的链路追踪装置执行的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行上述方法实施例中的链路追踪装置执行的方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种链路追踪方法,其特征在于,包括:
获取待追踪的调用路径,所述调用路径由M个相同的调用链路聚合形成;
根据所述调用路径是否存在于调用路径池,确定所述调用路径的路径权重,所述调用路径池包括历史链路追踪过程中形成的历史调用路径;
根据所述调用路径的路径权重,对所述M个相同的调用链路进行筛选,得到所述M个相同的调用链路中的N1个调用链路;
根据所述N1个调用链路,生成所述调用路径的链路追踪结果,所述链路追踪结果用于表示所述调用路径中调用链路的调用情况;
其中,M≥N1≥1。
2.根据权利要求1所述的方法,其特征在于,所述根据所述N1个调用链路,生成所述调用路径的链路追踪结果,包括:
确定所述N1个调用链路分别对应的采样权重;
根据所述N1个调用链路分别对应的采样权重,对所述N1个调用链路进行筛选,得到所述N1个调用链路中的N2个调用链路;
根据所述N2个调用链路,生成所述调用路径的链路追踪结果;
其中,N1≥N2≥1。
3.根据权利要求2所述的方法,其特征在于,所述确定所述N1个调用链路分别对应的采样权重,包括:
针对所述N1个调用链路中的一个调用链路,获取所述调用链路中的至少一个跨度信息,所述跨度信息用于表征所述调用链路中两个相邻调用节点在调用过程中产生的信息;
根据所述至少一个跨度信息和响应时长RT区间,分别确定所述调用链路的至少一个跨度权重,所述RT区间为基于所述调用路径上的历史调用链路的调用信息确定的;
将所述至少一个跨度权重中的最大值,作为所述调用链路的采样权重。
4.根据权利要求3所述的方法,其特征在于,所述RT区间包括第一区间,所述根据所述至少一个跨度信息和所述RT区间,分别确定所述调用链路的至少一个跨度权重,包括:
根据所述至少一个跨度信息中的第i个跨度信息,确定所述调用链路的第i个跨度的RT;
若所述第i个跨度的RT小于所述第一区间的下限阈值,则所述调用链路的第i个跨度权重为第一跨度权重;
若所述第i个跨度的RT处于所述第一区间,则所述调用链路的第i个跨度权重为第二跨度权重;
若所述第i个跨度的RT大于所述第一区间的上限阈值,则所述调用链路的第i个跨度权重为第三跨度权重;
其中,所述第一跨度权重的值和第三跨度权重的值均大于所述第二跨度权重的值。
5.根据权利要求4所述的方法,其特征在于,所述第一区间为基于正态分布函数和贝叶斯函数确定的可信区间。
6.根据权利要求4或5所述的方法,其特征在于,所述RT区间还包括第二区间,所述第二区间的下限阈值与所述第一区间的上限阈值相同,所述若所述第i个跨度的RT大于所述第一区间的上限阈值,则所述调用链路的第i个跨度权重为第三跨度权重,包括:
若所述第i个跨度的RT处于所述第二区间,则所述第三跨度权重的值为第一预设值;
若所述第i个跨度的RT大于所述第二区间的上限阈值,则所述第三跨度权重的值为第二预设值;
其中,所述第一预设值小于所述第二预设值。
7.根据权利要求6所述的方法,其特征在于,所述第二区间为基于置信区间函数和所述第一区间确定的区间。
8.根据权利要求2至5任一项所述的方法,其特征在于,所述根据所述N2个调用链路,生成所述调用路径的链路追踪结果,包括:
确定所述N2个调用链路中的各调用链路是否存在错误跨度;
根据所述N2个调用链路中的各调用链路是否存在错误跨度,确定所述N2个调用链路分别对应的采样权重;
根据所述N2个调用链路分别对应的采样权重,对所述N2个调用链路进行筛选,得到所述N2个调用链路中的N3个调用链路;
根据所述N3个调用链路,生成所述调用路径的链路追踪结果;
其中,N2≥N3≥1。
9.根据权利要求8所述的方法,其特征在于,所述确定所述N2个调用链路中的各调用链路是否存在错误跨度,包括:
针对所述N2个调用链路中的一个调用链路,获取所述调用链路中的至少一个跨度信息,所述跨度信息用于表征所述调用链路中两个相邻调用节点在调用过程中产生的信息;
根据所述至少一个跨度信息中各跨度信息的调度响应,确定所述调用链路的至少一个跨度中是否存在错误跨度。
10.根据权利要求2所述的方法,其特征在于,所述确定所述N1个调用链路分别对应的采样权重,包括:
确定所述N1个调用链路中的各调用链路是否存在错误跨度;
根据所述N1个调用链路中的各调用链路是否存在错误跨度,确定所述N1个调用链路分别对应的采样权重。
11.根据权利要求1至5任一项所述的方法,其特征在于,所述根据调用路径是否存在于调用路径池,确定所述调用路径的路径权重,包括:
若所述调用路径存在于所述调用路径池,确定所述调用路径的路径权重为第一路径权重;
若所述调用路径不存在于所述调用路径池,确定所述调用路径的路径权重为第二路径权重;
其中,所述第一路径权重的值小于所述第二路径权重的值。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
根据所述M个相同的调用链路中各调用链路的时间戳,确定所述M个相同的调用链路分别对应的第一路径权重的值。
13.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
根据所述N1个调用链路分别对应的调用信息,更新所述调用路径池,所述调用信息包括对应的调用链路的至少一个跨度信息,所述跨度信息用于表征所述调用链路中两个相邻调用节点在调用过程中产生的信息。
14.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至13中任一项所述的方法。
CN202210427014.6A 2022-04-21 2022-04-21 链路追踪方法以及设备 Pending CN114816915A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210427014.6A CN114816915A (zh) 2022-04-21 2022-04-21 链路追踪方法以及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210427014.6A CN114816915A (zh) 2022-04-21 2022-04-21 链路追踪方法以及设备

Publications (1)

Publication Number Publication Date
CN114816915A true CN114816915A (zh) 2022-07-29

Family

ID=82506127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210427014.6A Pending CN114816915A (zh) 2022-04-21 2022-04-21 链路追踪方法以及设备

Country Status (1)

Country Link
CN (1) CN114816915A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116471213A (zh) * 2023-06-09 2023-07-21 北京随信云链科技有限公司 链路追踪方法、链路追踪系统及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116471213A (zh) * 2023-06-09 2023-07-21 北京随信云链科技有限公司 链路追踪方法、链路追踪系统及介质
CN116471213B (zh) * 2023-06-09 2023-09-15 北京随信云链科技有限公司 链路追踪方法、链路追踪系统及介质

Similar Documents

Publication Publication Date Title
CN110213068B (zh) 一种消息中间件的监控方法及相关设备
EP3373516B1 (en) Method and device for processing service calling information
CN111064635B (zh) 一种异常流量的监视方法及系统
CN109039819B (zh) 时延统计方法、装置、系统及存储介质
US7502844B2 (en) Abnormality indicator of a desired group of resource elements
CN112311617A (zh) 一种配置化数据监控告警方法及系统
US20160378583A1 (en) Management computer and method for evaluating performance threshold value
CN112134762B (zh) 针对区块链网络结构的测试方法、装置、终端和存储介质
CN109656782A (zh) 可视化调度监控方法、装置及服务器
CN111786818A (zh) 一种区块链共识节点状态监控方法和装置
CN111752850B (zh) 区块链系统的测试方法及相关设备
CN113220483A (zh) 一种区块链共识主节点的切换方法及系统
CN109327353B (zh) 业务流量确定方法、装置及电子设备
CN111966289A (zh) 基于Kafka集群的分区优化方法和系统
CN113067875A (zh) 基于微服务网关动态流控的访问方法和装置以及设备
CN114816915A (zh) 链路追踪方法以及设备
US20160094392A1 (en) Evaluating Configuration Changes Based on Aggregate Activity Level
CN113342608A (zh) 流式计算引擎任务的监控方法及装置
CN111628903B (zh) 交易系统运行状态的监控方法及监控系统
CN110673973B (zh) 应用程序编程接口api的异常确定方法和装置
CN114327988B (zh) 一种可视化网络故障关系确定方法和装置
CN113497721B (zh) 网络故障定位方法与装置
CN107370618B (zh) 故障排查方法、装置及电子设备
CN115509853A (zh) 一种集群数据异常检测方法及电子设备
CN115543665A (zh) 一种内存可靠性评估方法、装置及存储介质

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