CN112860507B - 分布式链路跟踪系统采样率的控制方法和装置 - Google Patents
分布式链路跟踪系统采样率的控制方法和装置 Download PDFInfo
- Publication number
- CN112860507B CN112860507B CN202110042379.2A CN202110042379A CN112860507B CN 112860507 B CN112860507 B CN 112860507B CN 202110042379 A CN202110042379 A CN 202110042379A CN 112860507 B CN112860507 B CN 112860507B
- Authority
- CN
- China
- Prior art keywords
- interface
- information
- tracking
- sampling rate
- calling
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开一种分布式链路跟踪系统采样率的控制方法、装置以及系统,存储介质和电子设备,其中控制方法包括:根据应用服务程序信息对应用接口进行自定义,生成针对应用接口的自定义跟踪接口信息;自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识;根据拦截的应用服务程序的加载信息,识别自定义跟踪接口信息中的跟踪接口标识和接口采样率;确定获取的接口调用请求中调用接口信息的调用接口标识与获取的跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照接口采样率对调用接口信息中的调用接口进行采样控制。使得通过采样率进行链路跟踪变得更为灵活,当异常情况出现时也能根据记录的链路调用信息快速定位异常位置。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种分布式链路跟踪系统采样率的控制方法和装置,以及一种分布式链路跟踪系统采样率的控制系统。本申请同时涉及一种计算机存储介质和电子设备。
背景技术
随着互联网以及计算机应用技术的不断发展,互联网架构不断扩张,分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、消息收发、分布式数据库、分布式缓存、分布式对象存储、跨域调用等,进而构成繁杂的分布式网络服务体系。面对繁杂的分布式网络服务体系,每天的调用请求可能都在亿级别,当在调用过程中出现异常情况时,仅能够获知存在异常这种情况,无法获知异常出现的位置,或者异常是由哪个应用服务引起。如果想要确定异常的具体位置,需要查看每个应用服务的日志,从而导致异常处理效率降低。
分布式链路跟踪系统能够完整的记录每个请求在分布式系统中的调用链路信息,从而能够快速对异常情况进行定位,然而,该过程势必会消耗大量的存储资源,以及对应用服务产生额外的性能开销。那么,现有技术通过采用率来克服存储资源消耗和性能消耗的问题,即根据设置的采样率控制需要记录请求的调用链路信息。然而,现有技术中采样率是一个全局控制参数,无法灵活且精准的对某些请求进行单独控制,进而导致通过采样率获得的样本数据量不足,或者,遗漏存在异常的调用请求等问题。
发明内容
本申请提供一种分布式链路跟踪系统采样率的控制方法,以解决现有技术中采样不灵活,局限性较大而导致的分布式链路跟踪系统存在使用障碍的问题。
本申请提供一种分布式链路跟踪系统采样率的控制方法,包括:
根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识;
根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率;
确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
在一些实施例中,所述根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,包括:
通过定义注解接口类的方式,对所述应用服务程序信息进行自定义,生成所述应用接口的自定义跟踪接口信息。
在一些实施例中,所述根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,包括:
根据应用服务程序信息对应用接口进行接口重要程度等级划分;
根据所述接口重要程度等级对所述应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息。
在一些实施例中,所述根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率,包括:
所述应用服务程序启动状态下,加载接口类信息时发出接口类信息拦截消息;
根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率。
在一些实施例中,还包括:
将提取的所述跟踪接口标识和所述接口采样率以数组的形式记录在定义跟踪接口数据表中。
在一些实施例中,所述根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率,包括:
根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,查找所述接口类信息中的请求接口标记和请求接口跟踪标记,或者,查找所述接口类信息中的响应请求接口标记和响应请求接口跟踪标记;
根据所述请求接口标记或者响应请求接口标记提取所述跟踪接口标识;
根据所述请求接口跟踪标记或响应请求接口跟踪标记提取所述接口采样率。
在一些实施例中,所述确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制,包括:
通过基于所述分布式链路跟踪系统扩展的采样判决接口,获取所述调用接口信息和所述自定义跟踪接口信息;
所述采样判决接口对所述调用接口标识与所述跟踪接口标识进行比较,确定所述调用接口标识与所述跟踪接口标识是否匹配;
若是,则确定所述分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
在一些实施例中,所述若是,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制,包括:
通过基于所述分布式链路跟踪系统扩展的注册接口,将所述自定义跟踪接口信息注册到所述分布式链路跟踪系统中;
确定所述分布式链路跟踪系统根据注册的所述自定义跟踪接口信息中的所述接口采样率对所述调用接口进行采样控制。
在一些实施例中,还包括:
当确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识不匹配时,则确定所述分布式链路跟踪系统按照原采样率配置方式进行采样控制。
本申请还提供一种分布式链路跟踪系统采样率的控制装置,包括:
自定义接口单元,用于根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识;
识别单元,用于根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率;
确定单元,用于确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
本申请还提供一种分布式链路跟踪系统采样率的控制系统,包括:
应用服务程序组件,用于提供应用服务程序信息;
自定义接口组件,用于根据所述应用服务程序组件提供的应用服务程序信息,对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括接口采样率和跟踪接口标识;
桥接组件,用于在所述应用服务程序进行加载时,拦截所述应用服务程序的加载信息,根据所述加载信息识别所述跟踪接口标识和所述接口采样率;
接口扩展组件,用于确定获取的接口调用请求中调用接口信息的调用接口标识与从所述桥接组件中获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制;
分布式链路跟踪系统,用于将拦截所述调用接口标识提供给所述接口扩展组件,并根据所述接口扩展组件提供的所述接口采样率对所述接口调用请求中的所述调用接口进行采样。
本申请还提供一种计算机存储介质,用于存储网络平台产生数据,以及对应所述网络平台产生数据进行处理的程序;
所述程序在被读取执行时,执行如下步骤:
根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识;
根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率;
确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
本申请还提供一种电子设备,包括:
处理器;
存储器,用于存储对网络平台产生数据进行处理的程序,所述程序在被所述处理器读取执行时,执行如下步骤:
根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识;
根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率;
确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
与现有技术相比,本申请具有以下优点:
本申请提供的一种分布式链路跟踪系统采样率的控制方法实施例能够使得分布式链路跟踪系统在拦截到应用服务调用接口请求时,先将调用接口标识与自定义跟踪接口信息的跟踪接口标识进行匹配,进而确定调用接口是能够根据自定义跟踪接口信息中的接口采样率进行采样,还是按照原有分布式链路跟踪系统配置的采样率进行采样,从而使得通过采样率进行链路跟踪变得更为灵活,且当异常情况出现时也能根据记录的链路调用信息快速定位异常位置。
另外,对应用接口的重要程度等级进行采样率的定义或配置,能够平衡由于提高重要接口采样率后导致的分布式链路跟踪系统存储需求的问题。
附图说明
图1是本申请提供的一种分布式链路跟踪系统采样率的控制方法实施例的流程图;
图2是本申请提供的一种分布式链路跟踪系统采样率的控制装置实施例的结构示意图;
图3是本申请提供的一种分布式链路跟踪系统采样率的控制系统实施例的结构示意图;
图4是本申请提供的一种电子设备实施例的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请中使用的术语是仅仅出于对特定实施例描述的目的,而非旨在限制本申请。在本申请中和所附权利要求书中所使用的描述方式例如:“一种”、“第一”、和“第二”等,并非对数量上的限定或先后顺序上的限定,而是用来将同一类型的信息彼此区分。
根据上述背景技术中的描述可知,本申请的技术构思主要是基于现有技术中配置的采样率是一个全局控制参数,进而导致获得的跟踪样本数据量不足,或者,遗漏异常调用请求等问题。为了便于的理解本申请提供的一种分布式链路跟踪系统采样率的控制方法,结合上述背景技术中的描述,对现有分布式链路跟踪系统进行详细描述,具体如下:
分布式应用服务系统日趋复杂,越来越多的应用服务走向分布式化,如分布式数据库、分布式缓存等,进而使得应用服务设备构成一种复杂的分布式网络。这种分布式应用服务系统在服务能力提升的同时,复杂的分布式网络结构也为应用服务发生异常时,对异常问题的定位带来困难。即,当一个请求在经过诸多服务处理过程中,出现某一次调用失败时,查询失败的异常情况是由哪个应用服务引起的则变得异常艰难,进而导致问题定位和处理效率降低。
分布式链路跟踪技术可以将分布式调用请求用调用链路的方式进行跟踪,实现异常问题的定位。将分布式调用请求的调用情况进行收集,比如各个服务节点上的耗时、请求具体到达的目的服务节点、每个服务节点的请求状态等等。因此,分布式链路跟踪(Distributed Tracing)也可以称为分布式链路追踪或分布式追踪或分布式跟踪。在分布式部署环境下,分布式调用请求的处理通过多个应用服务按照一定的顺序处理,记录所述分布式调用请求在不同应用服务之间的处理过程,通过记录即可查找异常问题出现位置。
现有分布式链路跟踪通过链路跟踪工具(也可以称为分布式系统性能管理工具)进行链路跟踪时,因为要完整的记录每个调用请求在分布式系统中的调用链路信息,势必会消耗大量存储资源以及产生额外的性能开销,因此,提出一种通过采样率的方式来控制记录需要记录的调用请求的调用链路信息。例如:当采样率被设置为20%,则说明大约所有调用请求的20%会被记录调用链路信息。
现有采样率的配置方式包括:通过在链路跟踪应用发布版本的配置文件中指定采样率,或者,通过在应用服务启动命令行参数上添加采样率,或者,直接在已有采样率配置参数上设置采样率等。不论是那种配置方式,采样率均是一个全局控制参数,因为控制范围较大所以无法精准对某些请求进行单独控制。具体问题至少包括以下两点:
1、不同的调用请求实际采样率可能远低与预期采样率,进而导致性能分析样本量不足;
因为采样率是一个全局控制参数,分布式应用服务系统中不同调用请求的流量是不均衡的,使得流量较小的调用请求实际采样率可能远低于设置的采样率期望值,从而导致无法跟踪到相关调用请求的调用链路,在进行分布式应用服务系统进行性能或问题分析时,存在分析样本量匮乏的问题;
2、遗漏错误调用的数据
在分布式应用服务系统中,接口具有不同的重要程度,比如在订餐应用服务场景下,针对订单的下单接口和针对订单的查询接口相比而言,所述下单接口重要性高于所述查询接口,因为对所述下单接口的容错性要求较高,包括错误和响应时间,以及错误发生后能够快速对产生问题的接口进行定位;因此,基于上述配置方式的采样率,没有配置采样率或者采样率为零或者采样率较低的接口不会记录或者在完成采样后不会再记录链路跟踪信息,当调用请求在后续发生异常时,异常情况和调用链路也不会被记录下来,进而会造成遗漏错误调用请求的数据。
基于上述内容,本申请提供一种分布式链路跟踪系统采样率的控制方法,该方法核心目的是为应用调用请求中的调用接口找到匹配的自定义接口采样率(本实施例中的自定义跟踪接口的跟踪接口采样率),根据自定义接口采样率对调用接口进行采样控制,具体实现过程如下所述。
请参考图1所示,图1是本申请提供的一种分布式链路跟踪系统采样率的控制方法实施例的流程图,所述控制方法实施例包括:
步骤S101:根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义的跟踪接口的接口采样率和跟踪接口标识;
所述步骤S101的目的在于对应用服务程序中涉及的应用接口进行自定义。自定义的参数可以包括跟踪接口的接口采样率和跟踪接口标识。为实现所述分布式链路跟踪系统能够对应用调用请求中的调用接口进行采样,需要对应用服务程序的应用接口进行采样率的定义,也就是针对应用接口进行自定义,获得自定义跟踪接口信息。
具体定义方式可以包括:
通过定义注解接口类的方式,对所述应用服务程序信息进行自定义,生成针对所述应用接口的自定义跟踪接口信息。
在本实施例中,以应用编程语言为java进行举例说明定义方式,定义一个Java的Annotation(注解类),当应用服务程序信息中的代码信息为:
其中,@Target说明Annotation所修饰的对象范围:Annotation可被用于packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用target可更加明晰其修饰的目标。作用:用于描述注解的使用范围(即:被描述的注解可以用在什么地方),取值(ElementType)有:CONSTRUCTOR,用于描述构造器;FIELD,用于描述域;LOCAL_VARIABLE,用于描述局部变量;METHOD,用于描述方法;PACKAGE,用于描述包;PARAMETER,用于描述参数;TYPE,用于描述类、接口(包括注解类型)或enum声明。
在本实施例中注解类的sampleRate为采样率,其中,default(值)为10表示10%采样率,为100表示100%采样,为0表示不采样。
针对上述应用服务程序的代码信息,可以通过对相关应用接口进行自定义,以点餐应用服务场景中下单接口为例,相应的应用接口的自定义可以是如下:
@Trace(sampleRate=100)//跟踪接口采样率为100
@PostMapping("order/create")//处理创建下单请求的方法
public void createOrder()//调用下单请求时的调用接口;
其中,@PostMapping用于处理请求方法的POST类型等,public void createOrder(){}中的public代表处理创建下单请求的方法的作用域,即可以在哪里调用,void代表此方法没有返回任何东西,createOrder代表此方法创建的调用接口名称叫创建下单请求的接口(可更改),小括号()代表方法所需要的参数。
以上是对如何进行针对应用服务程序信息进行自定义,生成针对应用接口的自定义跟踪接口信息过程的描述,上述仅以下单接口为举例进行了描述,实际上不同的应用服务程序可以根据具体的代码信息进行相应注解类的分析并进行接口的自定义。
通过根据代码信息的分析,对应用接口进行自定义获得针对所述应用接口的自定义跟踪接口信息的过程,能够将采样率分散设置到不同的应用接口上。因为,不同应用接口具有不同的重要程度等级,因此,步骤S101中具体可以包括:
步骤S101-11:根据应用服务程序信息对应用接口进行接口重要程度等级划分;
步骤S101-12:根据所述接口重要程度等级对所述应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息。
本实施例中,可以根据接口重要程度等级进行应用接口的自定义。接口重要程度等级高的,可以在定义时将采样率相应设置的大,反之,接口重要程度等级低的,可以在定义时将采样率设置的小。接口重要程度等级可以根据应用服务具体情况确定。
结合分布式链路跟踪系统采样率的控制系统,所述步骤S101具体实现过程可以通过自定义接口组件和应用服务程序组件实现,后续会对分布式链路跟踪系统采样率的控制系统实施例进行详细说明。
步骤S102:根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率;
步骤S102的目的在于,在应用服务程序启动时,拦截加载信息,从加载信息中识别出跟踪接口标识和接口采样率。从而为分布式链路跟踪系统是否按照接口采样率来进行采样控制还是按照分布式链路跟踪系统原有采样方式进行采样控制提供决策条件。
因此,所述步骤S102的具体实现过程可以包括:
步骤S102-11:所述应用服务程序启动状态下,加载接口类信息时发出接口类信息拦截消息;
步骤S102-12:根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率。
本实施例中,在应用服务程序处于启动状态下,即应用服务程序启动时通过JavaAgent(Java主程序运行前的代理程序)和字节码方式实现跟踪接口标识和所述接口采样率的提取。
所述步骤S102-11的具体实现过程,应用服务程序启动时,通过字节码技术注入Class(Java语言中编程基本单位,本实施例中可以指接口类)加载拦截处理,虚拟机(JVM)加载Class时将通过字节码方式发出拦截消息。
所述步骤S102-12的具体实现过程可以是,根据所述拦截消息对Class进行加载拦截处理,通过Java的反射技术,查找Class中的接口标记和跟踪标记等信息,从接口标记和跟踪标记中提取所述跟踪接口标识和所述接口采样率。因此,所述步骤S102-12可以包括:
步骤S102-121:根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,查找所述接口类信息中的请求接口标记和请求接口跟踪标记,或者,查找所述接口类信息中的响应请求接口标记和响应请求接口跟踪标记;
步骤S102-122:根据所述请求接口标记或者响应请求接口标记提取所述跟踪接口标识;
步骤S102-123:根据所述请求接口跟踪标记或响应请求接口跟踪标记提取所述接口采样率。
其中,所述步骤S102-121中的请求接口标记可以包括两种类别的接口标记,第一种可以包括:GetMapping、PostMapping、RequestMapping、PutMapping、DeleteMapping、和PatchMapping中的至少一种。
其中,GetMapping,用于将HTTP get请求映射到特定处理程序的方法注解;Get请求是向服务器发索取数据的一种请求。PostMapping,用于将HTTP post请求映射到特定处理程序的方法注解;Post请求是向服务器提交数据的一种请求。RequestMapping,用于处理请求地址映射的注解,可用于类或方法上;用于类上,表示类中的所有响应请求的方法都是以所述地址作为父路径。PutMapping与PostMapping作用等同,都是用来向服务器提交信息;如果是添加信息,倾向于用PostMapping,如果是更新信息,倾向于用PutMapping。DeleteMapping用于删除url映射。
第二种可以包括:javax.ws.rs.Path、javax.ws.rs.GET和javax.ws.rs.POST中的至少一种。
其中,java.ws.rs是jax-rs规范中定义的包名,jax-rs是JAVAEE6引入的一个新技术。jax-rs即Java API for RESTful Web Services,是一个Java编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。jax-rs中定义了一组注解类信息包括:Path、Get、Post、Put、Delete等。其中,javax.ws.rs.Path用于注解位置、类注解、方法注解等,当标注Class时,表明该类是个资源类;当标注为method时,表示具体的请求资源的路径。javax.ws.rs.GET、javax.ws.rs.POST、javax.ws.rs.Put和javax.ws.rs.Delete等用于注解位置、方法注解;指明接收HTTP请求的方式属于get、post、put、delete等中的哪一种,具体指定请求方式可以通过客户端发起请求时指定。
所述步骤S102-122的具体实现过程可以是通过从GetMapping或PostMapping或RequestMapping或javax.ws.rs.Path、javax.ws.rs.GET或javax.ws.rs.POST或javax.ws.rs.Put或javax.ws.rs.Delete等接口标记中提取出跟踪接口标识,在本实施例中跟踪接口标识可以是接口地址(url);从所述GetMapping、PostMapping、RequestMapping或javax.ws.rs.Path、javax.ws.rs.GET、javax.ws.rs.POST等跟踪标记(Trace标记)中提取出接口采样率(sampleRate)。
本实施例中可以将提取出的接口地址(url)和接口采样率(sampleRate)以键值对(key-value)的形式记录在本地的Map(可以理解为自定义跟踪接口数据表)中,即:{url,sampleRate}。分布式链路跟踪系统在采样判决时可以从自定义跟踪接口数据表获取所述跟踪接口标识和所述接口采样率。
需要说明的是,本实施例中,所述跟踪接口标识采用的是接口地址(url),因为通常情况下,接口地址在应用服务内是唯一的,因此可以作为标识信息。当然,接口名称也可以作为跟踪接口标识。也就是说,跟踪接口标识选取什么参数,取决于根据标识能够找到对应的接口,例如:跟踪接口标识可以是两个或两个以上参数的组合,通过组合可以唯一确定出标识对应的接口。
结合分布式链路跟踪系统采样率的控制系统,所述步骤S102具体实现过程可以通过桥接组件实现,后续会对分布式链路跟踪系统采样率的控制系统实施例进行详细说明。
步骤S103:确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
所述步骤S103的目的在于,对调用接口是否按照自定义的接口采样率进行采样控制进行决策。
所述步骤S103的具体实现过程可以包括:
步骤S103-11:通过基于所述分布式链路跟踪系统扩展的采样判决接口,获取所述调用接口信息和所述自定义跟踪接口信息;
步骤S103-12:所述采样判决接口对所述调用接口标识与所述跟踪接口标识进行比较,确定所述调用接口标识与所述跟踪接口标识是否匹配;
步骤S103-13:若是,则确定所述分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
所述步骤S103-11中可以是基于分布式链路跟踪系统提供的扩展判决功能实现,即扩展判决功能可以是采样判决接口,也就是,通过在分布式链路跟踪系统暴露出调用接口可允许扩展的方式,实现调用接口是否按照自定义的接口采样率进行采样控制。所述分布式链路跟踪系统会将拦截的应用服务的接口调用请求传递到分布式链路跟踪系统的扩展层,扩展层的采样判决接口也可以获取所述自定义跟踪接口信息跟踪接口标识和接口采样率,也可以将所述自定义跟踪接口信息注入到扩展层的采样判决接口。
所述步骤S103-12具体实现过程可以是确定所述调用接口标识与所述跟踪接口标识是否相同,例如:接口地址是否相同,若相同说明二者匹配。
所述步骤S103-13的具体实现过程可以包括:
步骤S103-131:通过基于所述分布式链路跟踪系统扩展的注册接口,将所述自定义跟踪接口信息注册到所述分布式链路跟踪系统中;也就是说,分布式链路跟踪系统层提供注册接口,用于将跟踪标识信息和接口采样率注册到分布式链路跟踪系统,以便跟踪系统进行接口采样控制。
步骤S103-132:所述分布式链路跟踪系统根据注册的所述自定义跟踪接口信息中的所述接口采样率对所述调用接口进行采样控制。
在其他实施例中,还包括:
如果获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识不匹配时,则采样判决接口确定所述分布式链路跟踪系统按照原采样率配置方式进行采样控制。
结合分布式链路跟踪系统采样率的控制系统,所述步骤S103具体实现过程可以通过分布式链路跟踪系统的接口扩展组件实现,后续会对分布式链路跟踪系统采样率的控制系统实施例进行详细说明。
以上是对本申请提供的一种分布式链路跟踪系统采样率的控制方法实施例的具体描述,通过该控制方法实施例能够使得分布式链路跟踪系统在拦截到应用服务调用接口请求时,先将调用接口与自定义的跟踪接口进行匹配,来确定调用接口是按照原有分布式链路跟踪系统配置的采样率进行采样,还是根据自定义跟踪接口信息中的接口采样率进行采样,进而使得通过采样率进行链路跟踪变得灵活,且当异常情况出现时也能根据记录的链路调用信息快速定位异常位置。
与前述提供的一种分布式链路跟踪系统采样率的控制方法实施例相对应,本申请还公开一种分布式链路跟踪系统采样率的控制装置实施例,请参看图2,由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
如图2所示,图2是本申请提供的一种分布式链路跟踪系统采样率的控制装置实施例的结构示意图,该装置实施例包括:
自定义接口单元201,用于根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识;
本实施例中,所述自定义接口单元201具体可以用于,通过定义注解接口类的方式,对所述应用服务程序信息进行自定义,生成所述应用接口的自定义跟踪接口信息。
本实施例或其他实现方式中,所述自定义接口单元201具体可以包括:
接口划分子单元,用于根据应用服务程序信息对应用接口进行接口重要程度等级划分;
生成子单元,用于根据所述接口重要程度等级对所述应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息。
关于所述自定义接口单元201的具体内容可以参考上述步骤S101的具体描述,此处仅为概要性描述。
识别单元202,用于根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率;
所述识别单元202可以包括:
消息发出子单元,用于所述应用服务程序启动状态下,加载接口类信息时发出接口类信息拦截消息;
提取子单元,用于根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率。所述提取子单元可以包括:
查找子单元,用于根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,查找所述接口类信息中的请求接口标记和请求接口跟踪标记,或者,查找所述接口类信息中的响应请求接口标记和响应请求接口跟踪标记;
标识提取子单元,用于根据所述请求接口标记或者响应请求接口标记提取所述跟踪接口标识;
采样率提取子单元,用于根据所述请求接口跟踪标记或响应请求接口跟踪标记提取所述接口采样率。
所述识别单元202还可以包括:记录子单元,用于将所述提取子单元中提取的所述跟踪接口标识和所述接口采样率以数组的形式记录在定义跟踪接口数据表中。
关于所述识别单元202的具体内容可以参考上述步骤S102的具体描述,此处仅为概要性描述。
确定单元203,用于确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制;
所述确定单元203具体可以包括:
获取子单元,用于通过基于所述分布式链路跟踪系统扩展的采样判决接口,获取所述调用接口信息和所述自定义跟踪接口信息;
比较子单元,所述采样判决接口用于将通过获取子单元获取的所述调用接口信息中的所述调用接口标识与获取的所述自定义跟踪接口信息中所述跟踪接口标识进行比较,确定所述调用接口标识与所述跟踪接口标识是否匹配;
确定子单元,用于确定所述分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
所述确定子单元具体可以包括:
注册子单元,用于通过基于所述分布式链路跟踪系统扩展的注册接口,将所述自定义跟踪接口信息注册到所述分布式链路跟踪系统中;
采样确定子单元,用于确定所述分布式链路跟踪系统根据所述注册子单元中的注册的所述自定义跟踪接口信息中的所述接口采样率对所述调用接口进行采样控制。
所述确定子单元还可以包括:当比较子单元中确定的所述调用接口标识与所述跟踪接口标识不匹配时,则确定所述分布式链路跟踪系统按照原采样率配置方式进行采样控制。
关于所述确定单元203的具体内容可以参考上述步骤S103的具体描述,此处仅为概要性描述。
以上是针对本申请提供的一种分布式链路跟踪系统采样率的控制装置实施例的描述,结合上述内容,本申请还提供一种分布链路跟踪系统采样率的控制系统,如图3所示,该控制系统实施例可以包括:
应用服务程序组件301,用于提供应用服务程序信息;
自定义接口组件302,用于根据所述应用服务程序组件提供的应用服务程序信息,对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括接口采样率和跟踪接口标识。关于自定义接口组件302的具体内容可以参考上述步骤S101的描述。在本实施例中,自定义接口组件302的目的在于对应用接口进行定义或者是标记,从而使得不同应用接口可以具有相同或不同的采样率。
桥接组件303,用于在所述应用服务程序进行加载时,拦截所述应用服务程序的加载信息,根据所述加载信息识别所述跟踪接口标识和所述接口采样率。所述桥接组件302的具体内容可以参考上述步骤S102的描述,在本实施例中,桥接组件的目的在于从应用服务程序中识别出定义的跟踪接口标识信息,并且将识别的跟踪接口标识信息能够提供给接口扩展组件304,也就是作为连接自定义接口组件302和接口扩展组件304中间连接组件进行数据的互通。具体内容可以参考上述步骤S102的描述,此处不再重复赘述。
接口扩展组件304,用于确定获取的接口调用请求中调用接口信息的调用接口标识与从所述桥接组件中获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。所述接口扩展组件304是基于所述分布式链路跟踪系统扩展出的接口扩展组件,其可以将自定义跟踪接口信息暴露给分布式链路跟踪系统的扩展方式。本实施例中,所述接口扩展组件304可以包括:采样率判决接口和注册接口,采样率判决接口用于决策拦截的应用服务调用请求中的调用接口是否可以按照自定义跟踪接口信息进行采样控制,注册接口用于将自定义跟踪接口信息注册到分布式链路跟踪系统中,以便分布式链路跟踪系统能够根据定义的接口采样率对调用接口进行采样跟踪。具体可以参考上述步骤S103的具体描述,此处不再重复赘述。
分布式链路跟踪系统305,用于将拦截所述调用接口标识提供给所述接口扩展组件,并根据所述接口扩展组件提供的所述接口采样率对所述接口调用请求中的所述调用接口进行采样。
基于上述内容,本申请还提供一种计算机存储介质,用于存储网络平台产生数据,以及对应所述网络平台产生数据进行处理的程序;
所述程序在被读取执行时,执行如下步骤:
根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识;
根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率;
确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
在本实施例中,所述根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,包括:
通过定义注解接口类的方式,对所述应用服务程序信息进行自定义,生成所述应用接口的自定义跟踪接口信息。
在本实施例中,所述根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,包括:
根据应用服务程序信息对应用接口进行接口重要程度等级划分;
根据所述接口重要程度等级对所述应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息。
在本实施例中,所述根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率,包括:
所述应用服务程序启动状态下,加载接口类信息时发出接口类信息拦截消息;
根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率。
在本实施例中,还包括:
将提取的所述跟踪接口标识和所述接口采样率以数组的形式记录在定义跟踪接口数据表中。
在本实施例中,所述根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率,包括:
根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,查找所述接口类信息中的请求接口标记和请求接口跟踪标记,或者,查找所述接口类信息中的响应请求接口标记和响应请求接口跟踪标记;
根据所述请求接口标记或者响应请求接口标记提取所述跟踪接口标识;
根据所述请求接口跟踪标记或响应请求接口跟踪标记提取所述接口采样率。
在本实施例中,所述确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制,包括:
通过基于所述分布式链路跟踪系统扩展的采样判决接口,获取所述调用接口信息和所述自定义跟踪接口信息;
所述采样判决接口对所述调用接口标识与所述跟踪接口标识进行比较,确定所述调用接口标识与所述跟踪接口标识是否匹配;
若是,则确定所述分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
在本实施例中,所述若是,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制,包括:
通过基于所述分布式链路跟踪系统扩展的注册接口,将所述自定义跟踪接口信息注册到所述分布式链路跟踪系统中;
确定所述分布式链路跟踪系统根据注册的所述自定义跟踪接口信息中的所述接口采样率对所述调用接口进行采样控制。
在本实施例中,还包括:
当确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识不匹配时,则确定所述分布式链路跟踪系统按照原采样率配置方式进行采样控制。
基于上述内容,本申请还一种电子设备,如图4所示,该电子设备实施例包括:
处理器401;
存储器402,用于存储对网络平台产生数据进行处理的程序,所述程序在被所述处理器读取执行时,执行如下步骤:
根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识;
根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率;
确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
在本实施例中,所述根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,包括:
通过定义注解接口类的方式,对所述应用服务程序信息进行自定义,生成所述应用接口的自定义跟踪接口信息。
在本实施例中,所述根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,包括:
根据应用服务程序信息对应用接口进行接口重要程度等级划分;
根据所述接口重要程度等级对所述应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息。
在本实施例中,所述根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率,包括:
所述应用服务程序启动状态下,加载接口类信息时发出接口类信息拦截消息;
根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率。
在本实施例中,还包括:
将提取的所述跟踪接口标识和所述接口采样率以数组的形式记录在定义跟踪接口数据表中。
在本实施例中,所述根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率,包括:
根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,查找所述接口类信息中的请求接口标记和请求接口跟踪标记,或者,查找所述接口类信息中的响应请求接口标记和响应请求接口跟踪标记;
根据所述请求接口标记或者响应请求接口标记提取所述跟踪接口标识;
根据所述请求接口跟踪标记或响应请求接口跟踪标记提取所述接口采样率。
在本实施例中,所述确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制,包括:
通过基于所述分布式链路跟踪系统扩展的采样判决接口,获取所述调用接口信息和所述自定义跟踪接口信息;
所述采样判决接口对所述调用接口标识与所述跟踪接口标识进行比较,确定所述调用接口标识与所述跟踪接口标识是否匹配;
若是,则确定所述分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
在本实施例中,所述若是,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制,包括:
通过基于所述分布式链路跟踪系统扩展的注册接口,将所述自定义跟踪接口信息注册到所述分布式链路跟踪系统中;
确定所述分布式链路跟踪系统根据注册的所述自定义跟踪接口信息中的所述接口采样率对所述调用接口进行采样控制。
在本实施例中,还包括:
当确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识不匹配时,则确定所述分布式链路跟踪系统按照原采样率配置方式进行采样控制。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
Claims (12)
1.一种分布式链路跟踪系统采样率的控制方法,其特征在于,包括:
根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识,所述接口采样率对所述应用服务程序调用请求中的调用接口进行采样;
根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率,包括:所述应用服务程序启动状态下,加载接口类信息时发出接口类信息拦截消息;根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率;
确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
2.根据权利要求1所述的分布式链路跟踪系统采样率的控制方法,其特征在于,所述根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,包括:
通过定义注解接口类的方式,对所述应用服务程序信息进行自定义,生成所述应用接口的自定义跟踪接口信息。
3.根据权利要求1所述的分布式链路跟踪系统采样率的控制方法,其特征在于,所述根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,包括:
根据应用服务程序信息对应用接口进行接口重要程度等级划分;
根据所述接口重要程度等级对所述应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息。
4.根据权利要求1所述的分布式链路跟踪系统采样率的控制方法,其特征在于,还包括:
将提取的所述跟踪接口标识和所述接口采样率以数组的形式记录在定义跟踪接口数据表中。
5.根据权利要求1所述的分布式链路跟踪系统采样率的控制方法,其特征在于,所述根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率,包括:
根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,查找所述接口类信息中的请求接口标记和请求接口跟踪标记,或者,查找所述接口类信息中的响应请求接口标记和响应请求接口跟踪标记;
根据所述请求接口标记或者响应请求接口标记提取所述跟踪接口标识;
根据所述请求接口跟踪标记或响应请求接口跟踪标记提取所述接口采样率。
6.根据权利要求1所述的分布式链路跟踪系统采样率的控制方法,其特征在于,所述确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制,包括:
通过基于所述分布式链路跟踪系统扩展的采样判决接口,获取所述调用接口信息和所述自定义跟踪接口信息;
所述采样判决接口对所述调用接口标识与所述跟踪接口标识进行比较,确定所述调用接口标识与所述跟踪接口标识是否匹配;
若是,则确定所述分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
7.根据权利要求1所述的分布式链路跟踪系统采样率的控制方法,其特征在于,所述若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制,包括:
通过基于所述分布式链路跟踪系统扩展的注册接口,将所述自定义跟踪接口信息注册到所述分布式链路跟踪系统中;
确定所述分布式链路跟踪系统根据注册的所述自定义跟踪接口信息中的所述接口采样率对所述调用接口进行采样控制。
8.根据权利要求1所述的分布式链路跟踪系统采样率的控制方法,其特征在于,还包括:
当确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识不匹配时,则确定所述分布式链路跟踪系统按照原采样率配置方式进行采样控制。
9.一种分布式链路跟踪系统采样率的控制装置,其特征在于,包括:
自定义接口单元,用于根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识,所述接口采样率对所述应用服务程序调用请求中的调用接口进行采样;
识别单元,用于根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率,包括:所述应用服务程序启动状态下,加载接口类信息时发出接口类信息拦截消息;根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率;
确定单元,用于确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
10.一种分布式链路跟踪系统采样率的控制系统,其特征在于,包括:
应用服务程序组件,用于提供应用服务程序信息;
自定义接口组件,用于根据所述应用服务程序组件提供的应用服务程序信息,对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括接口采样率和跟踪接口标识,所述接口采样率对所述应用服务程序调用请求中的调用接口进行采样;
桥接组件,用于在所述应用服务程序进行加载时,拦截所述应用服务程序的加载信息,根据所述加载信息识别所述跟踪接口标识和所述接口采样率,包括:所述应用服务程序启动状态下,加载接口类信息时发出接口类信息拦截消息;根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率;
接口扩展组件,用于确定获取的接口调用请求中调用接口信息的调用接口标识与从所述桥接组件中获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制;
分布式链路跟踪系统,用于将拦截所述调用接口标识提供给所述接口扩展组件,并根据所述接口扩展组件提供的所述接口采样率对所述接口调用请求中的所述调用接口进行采样。
11.一种计算机存储介质,用于存储网络平台产生数据,以及对应所述网络平台产生数据进行处理的程序;
所述程序在被读取执行时,执行如下步骤:
根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识,所述接口采样率对所述应用服务程序调用请求中的调用接口进行采样;
根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率,包括:所述应用服务程序启动状态下,加载接口类信息时发出接口类信息拦截消息;根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率;
确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
12.一种电子设备,包括:
处理器;
存储器,用于存储对网络平台产生数据进行处理的程序,所述程序在被所述处理器读取执行时,执行如下步骤:
根据应用服务程序信息对应用接口进行自定义,生成针对所述应用接口的自定义跟踪接口信息,其中,所述自定义跟踪接口信息中包括自定义跟踪接口的接口采样率和跟踪接口标识,所述接口采样率对所述应用服务程序调用请求中的调用接口进行采样;
根据拦截的所述应用服务程序的加载信息,识别所述自定义跟踪接口信息中的所述跟踪接口标识和所述接口采样率,包括:所述应用服务程序启动状态下,加载接口类信息时发出接口类信息拦截消息;根据所述拦截消息,在对所述接口类信息进行加载拦截处理中,提取所述自定义跟踪接口类信息中的所述跟踪接口标识和所述接口采样率;
确定获取的接口调用请求中调用接口信息的调用接口标识与获取的所述跟踪接口标识是否匹配,若匹配,则确定分布式链路跟踪系统按照所述接口采样率对所述调用接口信息中的调用接口进行采样控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110042379.2A CN112860507B (zh) | 2021-01-13 | 2021-01-13 | 分布式链路跟踪系统采样率的控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110042379.2A CN112860507B (zh) | 2021-01-13 | 2021-01-13 | 分布式链路跟踪系统采样率的控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860507A CN112860507A (zh) | 2021-05-28 |
CN112860507B true CN112860507B (zh) | 2023-07-04 |
Family
ID=76003360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110042379.2A Active CN112860507B (zh) | 2021-01-13 | 2021-01-13 | 分布式链路跟踪系统采样率的控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860507B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949624B (zh) * | 2021-09-17 | 2023-07-21 | 远景智能国际私人投资有限公司 | 链路采样数的分配方法、装置、设备及介质 |
CN115883343A (zh) * | 2022-12-07 | 2023-03-31 | 天翼云科技有限公司 | 一种微服务的链路追踪方法及系统 |
CN116471213B (zh) * | 2023-06-09 | 2023-09-15 | 北京随信云链科技有限公司 | 链路追踪方法、链路追踪系统及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626275B1 (en) * | 2014-06-05 | 2017-04-18 | Amazon Technologies, Inc. | Dynamic rate adjustment for interaction monitoring |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5977913A (en) * | 1997-02-07 | 1999-11-02 | Dominion Wireless | Method and apparatus for tracking and locating personnel |
US20070288526A1 (en) * | 2006-06-08 | 2007-12-13 | Emc Corporation | Method and apparatus for processing a database replica |
US9547038B2 (en) * | 2015-01-09 | 2017-01-17 | Samsung Electronics Co., Ltd. | Low-overhead debug architecture using a speculative, concurrent and distributed data capture and propagation scheme |
CN106919165A (zh) * | 2017-04-06 | 2017-07-04 | 中国科学院合肥物质科学研究院 | 针对超大功率水冷磁体的分布式安全保护系统 |
CN110474812A (zh) * | 2019-08-22 | 2019-11-19 | 中国工商银行股份有限公司 | 采样率自适应调整方法及装置 |
CN111124819B (zh) * | 2019-12-10 | 2023-09-22 | 中国建设银行股份有限公司 | 全链路监控的方法和装置 |
CN111679950B (zh) * | 2020-05-25 | 2024-04-12 | 中国工商银行股份有限公司 | 接口级动态数据采样方法及装置 |
-
2021
- 2021-01-13 CN CN202110042379.2A patent/CN112860507B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626275B1 (en) * | 2014-06-05 | 2017-04-18 | Amazon Technologies, Inc. | Dynamic rate adjustment for interaction monitoring |
Also Published As
Publication number | Publication date |
---|---|
CN112860507A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860507B (zh) | 分布式链路跟踪系统采样率的控制方法和装置 | |
CN102185900B (zh) | 一种应用服务平台系统和一种开发应用服务的方法 | |
CN112181804B (zh) | 一种参数校验方法、设备以及存储介质 | |
US20030055809A1 (en) | Methods, systems, and articles of manufacture for efficient log record access | |
CN109635019B (zh) | 请求处理方法、装置、设备及存储介质 | |
CN110287696B (zh) | 一种反弹shell进程的检测方法、装置和设备 | |
CN110365724B (zh) | 任务处理方法、装置及电子设备 | |
CN110673839B (zh) | 分布式工具配置化构建生成方法及系统 | |
CN112596932A (zh) | 服务注册及拦截方法、装置、电子设备及可读存储介质 | |
CN112433921A (zh) | 用于动态埋点的方法及设备 | |
US20240235944A9 (en) | Cloud migration data analysis method using system process information, and system thereof | |
CN108496157B (zh) | 使用扩展接口提供运行时跟踪的系统和方法 | |
US7171650B2 (en) | System and method for integrating resources in a network | |
CN114153703A (zh) | 微服务的异常定位方法、装置、电子设备和程序产品 | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
CN112860538B (zh) | 基于线上日志进行接口回归测试的方法和装置 | |
CN116225622A (zh) | 基于Docker的PaaS应用参数模板的测试方法 | |
CN116360931A (zh) | 一种链路追踪方法、装置、系统及存储介质 | |
CN115174158A (zh) | 基于多云管理平台的云产品配置检查方法 | |
CN114860202A (zh) | 项目运行方法、装置、服务器及存储介质 | |
CN110061864B (zh) | 一种域名配置自动化验证的方法和系统 | |
CN114330278A (zh) | 一种判断返回数据一致性的方法及设备 | |
CN111488230A (zh) | 修改日志输出级别的方法、装置、电子设备及存储介质 | |
US20080307395A1 (en) | Providing Registration of a Communication | |
CN115454827B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |