CN109586997A - 采样方法、采样装置、计算机设备与可读存储介质 - Google Patents

采样方法、采样装置、计算机设备与可读存储介质 Download PDF

Info

Publication number
CN109586997A
CN109586997A CN201811326125.8A CN201811326125A CN109586997A CN 109586997 A CN109586997 A CN 109586997A CN 201811326125 A CN201811326125 A CN 201811326125A CN 109586997 A CN109586997 A CN 109586997A
Authority
CN
China
Prior art keywords
sample rate
node
sampling
default
tracking
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.)
Granted
Application number
CN201811326125.8A
Other languages
English (en)
Other versions
CN109586997B (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 Co Wheels Technology Co Ltd
Original Assignee
Beijing CHJ 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 CHJ Information Technology Co Ltd filed Critical Beijing CHJ Information Technology Co Ltd
Priority to CN201811326125.8A priority Critical patent/CN109586997B/zh
Publication of CN109586997A publication Critical patent/CN109586997A/zh
Application granted granted Critical
Publication of CN109586997B publication Critical patent/CN109586997B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • H04L43/024Capturing of monitoring data by sampling by adaptive sampling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提出了一种采样方法、采样装置、计算机设备与可读存储介质,其中,分布式服务跟踪的采样方法包括:根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率;根据所述预设采样率与所述任一节点的上游节点的采样率之间的关系,确定是否采用所述预设采样率执行所述任一节点的采样操作。通过本发明的技术方案,一方面,通过设置采样率配置表,能够降低采样方案实施的复杂度,提高采样效率,另一方面,通过将上游节点的采样与下游节点的采样率进行对比后确定实际采样率,在降低性能损耗的同时,能够降低出现链路断头或断尾的概率,得到合理的采样结果,以提升跟踪数据分析的准确性。

Description

采样方法、采样装置、计算机设备与可读存储介质
技术领域
本发明涉及互联网领域,具体而言,涉及一种分布式服务跟踪的采样方法、一种分布式服务跟踪的采样装置、一种计算机设备和一种计算机可读存储介质。
背景技术
相关技术中,当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。
基于上述需求,分布式跟踪系统应运而生,对于分布式跟踪系统,由于跟踪系统会产生性能损耗,合适的采样率可以将损耗控制在可以接受的范围。
相关技术中,通过部属可变采样的方式,使性能损耗保持在可控的范围内,但是仍然存在以下缺陷:
已有的可变采样方案会出现链路断头,断尾的情况,本方案主要解决该问题。
发明内容
为了解决已有的可变采样方案会出现链路断头,断尾的技术问题,本发明的一个目的在于提供一种分布式服务跟踪的采样方法。
本发明的另一个目的在于提供一种分布式服务跟踪的采样装置。
本发明的再一个目的在于提供一种计算机设备。
本发明的又一个目的在于提供一种计算机可读存储介质。
为了实现上述目的,本发明第一方面的技术方案提出了一种分布式服务跟踪的采样方法,包括:根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率;根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作。
另外,本发明提供的上述技术方案中的分布式服务跟踪的采样方法还可以具有如下附加技术特征:
在上述技术方案中,优选地,根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作,具体包括:在检测到上游节点的采样率小于预设采样率时,采样上游节点的采样率执行任一节点的采样操作,以根据采样操作生成对应的跟踪链路;在检测到上游节点的采样率大于或等于预设采样率时,采用预设采样率执行任一节点的采样操作,以根据采样操作生成对应的跟踪链路。
在上述任一技术方案中,优选地,根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作,还包括:在检测到上游节点的采样率大于预设采样率时,对未被采集到的跟踪链路在任一节点上添加废弃标记,并生成以任一节点为一个根节点的span树。
在上述任一技术方案中,优选地,还包括:根据在每条跟踪链路对应唯一的TraceID,提取TraceID能够被采样率的分母进行整除的跟踪链路执行采样操作。
在上述任一技术方案中,优选地,在根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率前,还包括:根据采样率与数据吞吐量之间的反比关系,配置采样率配置表。
在上述任一技术方案中,优选地,还包括:任一预设采样率的分母均可以被2整除。
本发明第二方面的技术方案提出了一种分布式服务跟踪的采样装置,包括:存储器和处理器;存储器,用于存储存储器用于存储程序代码;处理器,用于调用程序代码执行:根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率;根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作。
另外,本发明提供的上述技术方案中的分布式服务跟踪的采样装置还可以具有如下附加技术特征:
在上述技术方案中,优选地,处理器,具体用于:在检测到上游节点的采样率小于预设采样率时,采样上游节点的采样率执行任一节点的采样操作,以根据采样操作生成对应的跟踪链路;在检测到上游节点的采样率大于或等于预设采样率时,采用预设采样率执行任一节点的采样操作,以根据采样操作生成对应的跟踪链路。
在上述任一技术方案中,优选地,处理器,具体用于:在检测到上游节点的采样率大于预设采样率时,对未被采集到的跟踪链路在任一节点上添加废弃标记,并生成以任一节点为一个根节点的span树。
在上述任一技术方案中,优选地,处理器,具体用于:在跟踪过程中,每条跟踪链路随机生成对应的TraceID;提取TraceID能够被采样率的分母进行整除的跟踪链路执行采样操作。
在上述任一技术方案中,优选地,处理器,具体用于:根据采样率与数据吞吐量之间的反比关系,配置采样率配置表。
在上述任一技术方案中,优选地,处理器,具体用于:任一预设采样率的分母均可以被2整除。
本发明第三方面的技术方案提供了一种计算机设备,包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述第一方面的技术方案中任一项的分布式服务跟踪的采样方法的步骤。
本发明的第四方面的技术方案提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述技术方案中任一项所述的分布式服务跟踪的采样方法的步骤。
与现有技术相比,本申请提供的通话模式的切换方案具有如下有益的技术效果:
根据两个采样点之间的关系确定最后执行的采样率,一方面,通过设置采样率配置表,能够降低采样方案实施的复杂度,提高采样效率,另一方面,通过将上游节点的采样与下游节点的采样率进行对比后确定实际采样率,在降低性能损耗的同时,能够降低出现链路断头或断尾的概率,得到合理的采样结果,以提升跟踪数据分析的准确性。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的分布式服务跟踪的采样方法的示意流程图;
图2示出了根据本发明的另一个实施例的分布式服务跟踪的采样方法的示意流程图;
图3示出了根据本发明的一个实施例的分布式服务跟踪的采样装置的示意框图;
图4示出了根据本发明的一个实施例的计算机设备的示意框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例一:
图1示出了根据本发明的一个实施例的分布式服务跟踪的采样方法的示意流程图。
如图1所示,根据本发明的一个实施例的分布式服务跟踪的采样方法,包括:步骤102,根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率;步骤104,根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作。
在该实施例中,由于数据吞吐量表征了每个节点上数据传输的能力,将每个节点的采样率与数据吞吐量进行关联,生成采样率配置表,从而对于分布式跟踪链路上的每个采样节点,根据当前的实时数据吞吐量确定对应的采样率,从而确定跟踪链路上不同采样节点的初步采样率,进一步地,将当前节点的初步采样率与上游节点的初步采样率进行对比,以确定相邻两个节点的采样率之间的关系,进而根据两个采样点之间的关系确定最后执行的采样率,一方面,通过设置采样率配置表,能够降低采样方案实施的复杂度,提高采样效率,另一方面,通过将上游节点的采样与下游节点的采样率进行对比后确定实际采样率,在降低性能损耗的同时,能够降低出现链路断头或断尾的概率,得到合理的采样结果,以提升跟踪数据分析的准确性。
其中,数据吞吐量指根据拓扑可计算相应组件、平台、物理设备的实时数据吞吐量。
如图2所示,在上述实施例中,优选地,根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作,具体包括:步骤202,检测上游节点的采样率与预设采样率之间的关系;步骤204,在检测到上游节点的采样率小于预设采样率时,采样上游节点的采样率执行任一节点的采样操作,以根据采样操作生成对应的跟踪链路;步骤206,在检测到上游节点的采样率大于或等于预设采样率时,采用预设采样率执行任一节点的采样操作,以根据采样操作生成对应的跟踪链路。
在上述任一实施例中,优选地,根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作,还包括:步骤208,在检测到上游节点的采样率大于预设采样率时,对未被采集到的跟踪链路在任一节点上添加废弃标记,并生成以任一节点为一个根节点的span树。
在该实施例中,在根据预设的关系采样率配置表分别确定相邻的两个采样节点的采样率之后,在判定上游节点的采样率小于相邻的下游节点的采样率时,以上游节点的采样率作为下游节点的实际采样率,以防止出现断头现象,在判定上游节点的采样率大于相邻的下游节点的采样率时,以在表中查询到的该下游节点的数据吞吐量对应的采样率为下游节点的实际采样率,以防止了断尾现象的产生。
其中,span为链路追踪过程中最基本的工作单元,发送一个RPC(RemoteProcedure Call,远程过程调用)或接收一次RPC的应答即可视为一个新的span,在基于跟踪链路的采样过程中,一次Trace追踪记录包括多个span,多个span即形成上述的span树结构,在对未被采集到的跟踪链路上的节点被废弃时,表明将此节点确定为该跟踪链路的跟踪终点,对应地,也就形成了span树的根节点。
另外,在判定上游节点的采样率等于下游节点的采样率时,则以上游节点的采样率或下游节点的采样率为实际采样率。
在该实施例中,由于“废弃”代表“无效”,通过将未被采集到的跟踪链路在终结节点上添加废弃标记,表明该跟踪链路在该节点结束采集操作,具体地,在各节点生成的采样相关信息(包括traceID、被采样的、被标记终结的节点)放入收集器中,对含有终结标记的跟踪链路抛弃,仅保留采样完整的跟踪链路信息,一方面,保证了跟踪链路的完整性,另一方面,防止了对无效链路的跟踪,以避免无谓的系统损耗,再一方面,通过生成span树,以对跟踪链路上的客户端与服务端进行区分。
具体地,比如一条跟踪链路为:A调用B,B调用C,该链路的初始采样样本为10000,调A时生成traceID,节点A数据吞吐量对应的采样率为1/2,即在节点A的采样量为5000,将未被采样的5000标记为抛弃,流向B的为5000,若节点B数据吞吐量对应的采样率若为1/1,则在节点B执行1/2的采样率,即在节点B采样5000,将未被采样的5000标记为抛弃,流向C的为5000,若节点B吞吐量对应的采样率为1/4,则在节点执行1/4的采样率,即在节点B采样2500,将未被采样的7500标记为抛弃,流向C的为2500。
在上述任一实施例中,优选地,还包括:根据在每条跟踪链路对应唯一的TraceID,提取TraceID能够被采样率的分母进行整除的跟踪链路执行采样操作。
在该实施例中,由于TraceID随机产生,为了确保跟踪链路的均匀分布,将TraceID能够被采样率的分母整除的跟踪链路作为采样跟踪链路以执行采样操作,以提升采样链路分布的均匀性,进而提升采样数据的可靠性,以使跟踪系统的跟踪部属更具有全局性,实现对跟踪系统的有效监控。
在上述任一实施例中,优选地,在根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率前,还包括:根据采样率与数据吞吐量之间的反比关系,配置采样率配置表。
在该实施例中,对于任一节点,数据吞吐量越大,表明该节点数据处理能力越强,在采用一个较小的采样率进行采样时即可采集到足够的采样数据,因此按照采样率与数据吞吐量之间呈反比的关系配置采样率配置表,如表1所示,以对采样率与数据吞吐量之间进行一对一对应,一方面,在实现自适应可变采样功能的同时,确保了采样配置的合理性,以使系统损耗控制在可接受的范围内,另一方面,通过预先配置采样率配置表,还有利于使得采样方案的实施更加简单。
表1
<u>吞吐量</u> <u>采样率</u>
<u>XX</u> <u>1/1</u>
<u>XX</u> <u>1/2</u>
<u>XX</u> <u>1/4</u>
<u>XX</u> <u>1/8</u>
<u>XX</u> <u>1/16</u>
<u>XX</u> <u>1/32</u>
<u>XX</u> <u>1/64</u>
<u>XX</u> <u>1/128</u>
<u>XX</u> <u>1/256</u>
<u>XX</u> <u>1/512</u>
<u>XX</u> <u>1/1024</u>
在上述任一实施例中,优选地,还包括:任一预设采样率的分母均可以被2整除。
在该实施例中,通过限定任一采样率的分母都可以被2整除,即是2的倍数,从而当上游节点的采样率高于下游节点的采样率时,在下游节点采中的采样数据,一定在上游节点采中的采样数据范围内,从而避免了断尾现象的产生。
如图3所示,根据本发明的一个实施例的分布式服务跟踪的采样装置30,包括:存储器302和处理器304;存储器302,用于存储存储器302用于存储程序代码;处理器304,用于调用程序代码执行:根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率;根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作。
在该实施例中,由于数据吞吐量表征了每个节点上数据传输的能力,将每个节点的采样率与数据吞吐量进行关联,生成采样率配置表,从而对于分布式跟踪链路上的每个采样节点,根据当前的实时数据吞吐量确定对应的采样率,从而确定跟踪链路上不同采样节点的初步采样率,进一步地,将当前节点的初步采样率与上游节点的初步采样率进行对比,以确定相邻两个节点的采样率之间的关系,进而根据两个采样点之间的关系确定最后执行的采样率,一方面,通过设置采样率配置表,能够降低采样方案实施的复杂度,提高采样效率,另一方面,通过将上游节点的采样与下游节点的采样率进行对比后确定实际采样率,在降低性能损耗的同时,能够降低出现链路断头或断尾的概率,得到合理的采样结果,以提升跟踪数据分析的准确性。
其中,数据吞吐量指根据拓扑可计算相应组件、平台、物理设备的实时数据吞吐量。
在上述实施例中,优选地,处理器304,具体用于:在检测到上游节点的采样率小于预设采样率时,采样上游节点的采样率执行任一节点的采样操作,以根据采样操作生成对应的跟踪链路;在检测到上游节点的采样率大于或等于预设采样率时,采用预设采样率执行任一节点的采样操作,以根据采样操作生成对应的跟踪链路。
在该实施例中,在根据预设的关系采样率配置表分别确定相邻的两个采样节点的采样率之后,在判定上游节点的采样率小于相邻的下游节点的采样率时,以上游节点的采样率作为下游节点的实际采样率,以防止出现断头现象,在判定上游节点的采样率大于相邻的下游节点的采样率时,以在表中查询到的该下游节点的数据吞吐量对应的采样率为下游节点的实际采样率,以防止了断尾现象的产生。
另外,在判定上游节点的采样率等于下游节点的采样率时,则以上游节点的采样率或下游节点的采样率为实际采样率。
在上述任一实施例中,优选地,处理器304,具体用于:在检测到上游节点的采样率大于预设采样率时,对未被采集到的跟踪链路在任一节点上添加废弃标记,并生成以任一节点为一个根节点的span树。
在该实施例中,由于“废弃”代表“无效”,通过将未被采集到的跟踪链路在终结节点上添加废弃标记,表明该跟踪链路在该节点结束采集操作,具体地,在各节点生成的采样相关信息(包括traceID、被采样的、被标记终结的节点)放入收集器中,对含有终结标记的跟踪链路抛弃,仅保留采样完整的跟踪链路信息,一方面,保证了跟踪链路的完整性,另一方面,防止了对无效链路的跟踪,以避免无谓的系统损耗,再一方面,通过生成span树,以对跟踪链路上的客户端与服务端进行区分。
具体地,比如一条跟踪链路为:A调用B,B调用C,该链路的初始采样样本为10000,调A时生成traceID,节点A数据吞吐量对应的采样率为1/2,即在节点A的采样量为5000,将未被采样的5000标记为抛弃,流向B的为5000,若节点B数据吞吐量对应的采样率若为1/1,则在节点B执行1/2的采样率,即在节点B采样5000,将未被采样的5000标记为抛弃,流向C的为5000,若节点B吞吐量对应的采样率为1/4,则在节点执行1/4的采样率,即在节点B采样2500,将未被采样的7500标记为抛弃,流向C的为2500。
在上述任一实施例中,优选地,处理器304,具体用于:在跟踪过程中,每条跟踪链路随机生成对应的TraceID;提取TraceID能够被采样率的分母进行整除的跟踪链路执行采样操作。
在该实施例中,由于TraceID随机产生,为了确保跟踪链路的均匀分布,将TraceID能够被采样率的分母整除的跟踪链路作为采样跟踪链路以执行采样操作,以提升采样链路分布的均匀性,进而提升采样数据的可靠性,以使跟踪系统的跟踪部属更具有全局性,实现对跟踪系统的有效监控。
在上述任一实施例中,优选地,处理器304,具体用于:根据采样率与数据吞吐量之间的反比关系,配置采样率配置表。
在该实施例中,对于任一节点,数据吞吐量越大,表明该节点数据处理能力越强,在采用一个较小的采样率进行采样时即可采集到足够的采样数据,因此按照采样率与数据吞吐量之间呈反比的关系配置采样率配置表,以对采样率与数据吞吐量之间进行一对一对应,一方面,在实现自适应可变采样功能的同时,确保了采样配置的合理性,以使系统损耗控制在可接受的范围内,另一方面,通过预先配置采样率配置表,还有利于使得采样方案的实施更加简单。
在上述任一实施例中,优选地,处理器304,具体用于:任一预设采样率的分母均可以被2整除。
在该实施例中,通过限定任一采样率的分母都可以被2整除,即是2的倍数,从而当上游节点的采样率高于下游节点的采样率时,在下游节点采中的采样数据,一定在上游节点采中的采样数据范围内,从而避免了断尾现象的产生。
图4示出了根据本发明的实施例的计算机设备的示意框图。
如图4所示,根据本发明的实施例的计算机设备40,包括存储器402、处理器404及存储在存储器402上并可在处理器404上运行的计算机程序,其中存储器402和处理器404之间可以通过总线连接,处理器404用于执行存储器402中存储的计算机程序时实现如上实施例中的分布式服务跟踪的采样方法的步骤。
根据本发明的实施例的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现:
根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率;根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作。
在该实施例中,由于数据吞吐量表征了每个节点上数据传输的能力,将每个节点的采样率与数据吞吐量进行关联,生成采样率配置表,从而对于分布式跟踪链路上的每个采样节点,根据当前的实时数据吞吐量确定对应的采样率,从而确定跟踪链路上不同采样节点的初步采样率,进一步地,将当前节点的初步采样率与上游节点的初步采样率进行对比,以确定相邻两个节点的采样率之间的关系,进而根据两个采样点之间的关系确定最后执行的采样率,一方面,通过设置采样率配置表,能够降低采样方案实施的复杂度,提高采样效率,另一方面,通过将上游节点的采样与下游节点的采样率进行对比后确定实际采样率,在降低性能损耗的同时,能够降低出现链路断头或断尾的概率,得到合理的采样结果,以提升跟踪数据分析的准确性。
其中,数据吞吐量指根据拓扑可计算相应组件、平台、物理设备的实时数据吞吐量。
在上述实施例中,优选地,根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作,具体包括:在检测到上游节点的采样率小于预设采样率时,采样上游节点的采样率执行任一节点的采样操作,以根据采样操作生成对应的跟踪链路;在检测到上游节点的采样率大于或等于预设采样率时,采用预设采样率执行任一节点的采样操作,以根据采样操作生成对应的跟踪链路。
在上述任一实施例中,优选地,根据预设采样率与任一节点的上游节点的采样率之间的关系,确定是否采用预设采样率执行任一节点的采样操作,还包括:在检测到上游节点的采样率大于预设采样率时,对未被采集到的跟踪链路在任一节点上添加废弃标记,并生成以任一节点为一个根节点的span树。
在该实施例中,在根据预设的关系采样率配置表分别确定相邻的两个采样节点的采样率之后,在判定上游节点的采样率小于相邻的下游节点的采样率时,以上游节点的采样率作为下游节点的实际采样率,以防止出现断头现象,在判定上游节点的采样率大于相邻的下游节点的采样率时,以在表中查询到的该下游节点的数据吞吐量对应的采样率为下游节点的实际采样率,以防止了断尾现象的产生。
另外,在判定上游节点的采样率等于下游节点的采样率时,则以上游节点的采样率或下游节点的采样率为实际采样率。
在该实施例中,由于“废弃”代表“无效”,通过将未被采集到的跟踪链路在终结节点上添加废弃标记,表明该跟踪链路在该节点结束采集操作,具体地,在各节点生成的采样相关信息(包括traceID、被采样的、被标记终结的节点)放入收集器中,对含有终结标记的跟踪链路抛弃,仅保留采样完整的跟踪链路信息,一方面,保证了跟踪链路的完整性,另一方面,防止了对无效链路的跟踪,以避免无谓的系统损耗,再一方面,通过生成span树,以对跟踪链路上的客户端与服务端进行区分。
具体地,比如一条跟踪链路为:A调用B,B调用C,该链路的初始采样样本为10000,调A时生成traceID,节点A数据吞吐量对应的采样率为1/2,即在节点A的采样量为5000,将未被采样的5000标记为抛弃,流向B的为5000,若节点B数据吞吐量对应的采样率若为1/1,则在节点B执行1/2的采样率,即在节点B采样5000,将未被采样的5000标记为抛弃,流向C的为5000,若节点B吞吐量对应的采样率为1/4,则在节点执行1/4的采样率,即在节点B采样2500,将未被采样的7500标记为抛弃,流向C的为2500。
在上述任一实施例中,优选地,还包括:根据在每条跟踪链路对应唯一的TraceID,提取TraceID能够被采样率的分母进行整除的跟踪链路执行采样操作。
在该实施例中,由于TraceID随机产生,为了确保跟踪链路的均匀分布,将TraceID能够被采样率的分母整除的跟踪链路作为采样跟踪链路以执行采样操作,以提升采样链路分布的均匀性,进而提升采样数据的可靠性,以使跟踪系统的跟踪部属更具有全局性,实现对跟踪系统的有效监控。
在上述任一实施例中,优选地,在根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率前,还包括:根据采样率与数据吞吐量之间的反比关系,配置采样率配置表。
在该实施例中,对于任一节点,数据吞吐量越大,表明该节点数据处理能力越强,在采用一个较小的采样率进行采样时即可采集到足够的采样数据,因此按照采样率与数据吞吐量之间呈反比的关系配置采样率配置表,如表1所示,以对采样率与数据吞吐量之间进行一对一对应,一方面,在实现自适应可变采样功能的同时,确保了采样配置的合理性,以使系统损耗控制在可接受的范围内,另一方面,通过预先配置采样率配置表,还有利于使得采样方案的实施更加简单。
表1
<u>吞吐量</u> <u>采样率</u>
<u>XX</u> <u>1/1</u>
<u>XX</u> <u>1/2</u>
<u>XX</u> <u>1/4</u>
<u>XX</u> <u>1/8</u>
<u>XX</u> <u>1/16</u>
<u>XX</u> <u>1/32</u>
<u>XX</u> <u>1/64</u>
<u>XX</u> <u>1/128</u>
<u>XX</u> <u>1/256</u>
<u>XX</u> <u>1/512</u>
<u>XX</u> <u>1/1024</u>
在上述任一实施例中,优选地,还包括:任一预设采样率的分母均可以被2整除。
在该实施例中,通过限定任一采样率的分母都可以被2整除,即是2的倍数,从而当上游节点的采样率高于下游节点的采样率时,在下游节点采中的采样数据,一定在上游节点采中的采样数据范围内,从而避免了断尾现象的产生。
本发明实施例的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例的分布式服务跟踪的采样装置的单元模块可以根据实际需要进行合并、划分和删减。
进一步地,可以理解的是,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本发明的描述中,术语“第一”、“第二”和“第三”仅用于描述的目的,而不能理解为指示或暗示相对重要性,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明实施例中的具体含义。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种分布式服务跟踪的采样方法,其特征在于,包括:
根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率;
根据所述预设采样率与所述任一节点的上游节点的采样率之间的关系,确定是否采用所述预设采样率执行所述任一节点的采样操作。
2.根据权利要求1所述的采样方法,其特征在于,所述根据所述预设采样率与所述任一节点的上游节点的采样率之间的关系,确定是否采用所述预设采样率执行所述任一节点的采样操作,具体包括:
在检测到所述上游节点的采样率小于所述预设采样率时,采样所述上游节点的采样率执行所述任一节点的采样操作,以根据所述采样操作生成对应的跟踪链路;
在检测到所述上游节点的采样率大于或等于所述预设采样率时,采用所述预设采样率执行所述任一节点的采样操作,以根据所述采样操作生成对应的所述跟踪链路。
3.根据权利要求2所述的采样方法,其特征在于,所述根据所述预设采样率与所述任一节点的上游节点的采样率之间的关系,确定是否采用所述预设采样率执行所述任一节点的采样操作,还包括:
在检测到所述上游节点的采样率大于所述预设采样率时,对未被采集到的所述跟踪链路在所述任一节点上添加废弃标记,并生成以所述任一节点为一个根节点的span树。
4.根据权利要求2或3所述的采样方法,其特征在于,还包括:
在跟踪过程中,每条所述跟踪链路随机生成对应的TraceID;
提取所述TraceID能够被所述采样率的分母进行整除的所述跟踪链路执行所述采样操作。
5.根据权利要求1至3中任一项所述的采样方法,其特征在于,所述在根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率前,具体包括:
根据采样率与数据吞吐量之间的反比关系,配置所述采样率配置表。
6.根据权利要求1至3中任一项所述的采样方法,其特征在于,还包括:
任一所述预设采样率的分母均可以被2整除。
7.一种分布式服务跟踪的采样装置,其特征在于,包括:存储器和处理器;
所述存储器,用于存储所述存储器用于存储程序代码;
所述处理器,用于调用所述程序代码执行:
根据任一节点的数据吞吐量在预设的采样率配置表中查找对应的预设采样率;
根据所述预设采样率与所述任一节点的上游节点的采样率之间的关系,确定是否采用所述预设采样率执行所述任一节点的采样操作。
8.根据权利要求7所述的采样装置,其特征在于,所述处理器,具体用于:
在检测到所述上游节点的采样率小于所述预设采样率时,采样所述上游节点的采样率执行所述任一节点的采样操作,以根据所述采样操作生成对应的跟踪链路;
在检测到所述上游节点的采样率大于或等于所述预设采样率时,采用所述预设采样率执行所述任一节点的采样操作,以根据所述采样操作生成对应的所述跟踪链路。
9.根据权利要求8所述的采样装置,其特征在于,所述处理器,具体用于:
在检测到所述上游节点的采样率大于所述预设采样率时,对未被采集到的所述跟踪链路在所述任一节点上添加废弃标记,并生成以所述任一节点为一个根节点的span树。
10.根据权利要求8或9所述的采样装置,其特征在于,所述处理器,具体用于:
在跟踪过程中,每条所述跟踪链路随机生成对应的TraceID;
提取所述TraceID能够被所述采样率的分母进行整除的所述跟踪链路执行所述采样操作。
11.根据权利要求7至9中任一项所述的采样装置,其特征在于,所述处理器,具体用于:
根据采样率与数据吞吐量之间的反比关系,配置所述采样率配置表。
12.根据权利要求7至9中任一项所述的采样装置,其特征在于,所述处理器,具体用于:
任一所述预设采样率的分母均可以被2整除。
13.一种计算机设备,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-6中任意一项所述分布式服务跟踪的采样的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序(指令),其特征在于:所述计算机程序(指令)被处理器执行时实现如权利要求1-6中任意一项所述分布式服务跟踪的采样的步骤。
CN201811326125.8A 2018-11-08 2018-11-08 采样方法、采样装置、计算机设备与可读存储介质 Active CN109586997B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811326125.8A CN109586997B (zh) 2018-11-08 2018-11-08 采样方法、采样装置、计算机设备与可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811326125.8A CN109586997B (zh) 2018-11-08 2018-11-08 采样方法、采样装置、计算机设备与可读存储介质

Publications (2)

Publication Number Publication Date
CN109586997A true CN109586997A (zh) 2019-04-05
CN109586997B CN109586997B (zh) 2021-02-02

Family

ID=65921890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811326125.8A Active CN109586997B (zh) 2018-11-08 2018-11-08 采样方法、采样装置、计算机设备与可读存储介质

Country Status (1)

Country Link
CN (1) CN109586997B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102195767A (zh) * 2011-05-27 2011-09-21 杭州箭源电子有限公司 一种采样频率同步方法及装置
CN102237875A (zh) * 2010-05-06 2011-11-09 鸿富锦精密工业(深圳)有限公司 采样频率调节系统及方法
CN103170910A (zh) * 2013-01-08 2013-06-26 北京工业大学 一种数控磨床载荷谱数据变采样率采集装置与方法
CN103745726A (zh) * 2013-11-07 2014-04-23 中国电子科技集团公司第四十一研究所 一种自适应的变采样率音频采样方法
CN106205651A (zh) * 2016-06-30 2016-12-07 乐视控股(北京)有限公司 采样率转化方法、装置及终端
EP3244334A1 (en) * 2016-05-09 2017-11-15 Accenture Global Solutions Limited Log files graphs path decomposition for network anomaly detection
CN107832622A (zh) * 2017-12-08 2018-03-23 平安科技(深圳)有限公司 漏洞检测方法、装置、计算机设备及存储介质
CN107873126A (zh) * 2015-04-15 2018-04-03 诺基亚通信公司 用于小小区回程的自组织网络概念
CN108304991A (zh) * 2017-12-28 2018-07-20 研祥智能科技股份有限公司 产品缺陷管理方法、装置、计算机设备和存储介质
CN108563958A (zh) * 2018-04-17 2018-09-21 平安普惠企业管理有限公司 角色权限更新方法、装置、计算机设备和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102237875A (zh) * 2010-05-06 2011-11-09 鸿富锦精密工业(深圳)有限公司 采样频率调节系统及方法
CN102195767A (zh) * 2011-05-27 2011-09-21 杭州箭源电子有限公司 一种采样频率同步方法及装置
CN103170910A (zh) * 2013-01-08 2013-06-26 北京工业大学 一种数控磨床载荷谱数据变采样率采集装置与方法
CN103745726A (zh) * 2013-11-07 2014-04-23 中国电子科技集团公司第四十一研究所 一种自适应的变采样率音频采样方法
CN107873126A (zh) * 2015-04-15 2018-04-03 诺基亚通信公司 用于小小区回程的自组织网络概念
EP3244334A1 (en) * 2016-05-09 2017-11-15 Accenture Global Solutions Limited Log files graphs path decomposition for network anomaly detection
CN106205651A (zh) * 2016-06-30 2016-12-07 乐视控股(北京)有限公司 采样率转化方法、装置及终端
CN107832622A (zh) * 2017-12-08 2018-03-23 平安科技(深圳)有限公司 漏洞检测方法、装置、计算机设备及存储介质
CN108304991A (zh) * 2017-12-28 2018-07-20 研祥智能科技股份有限公司 产品缺陷管理方法、装置、计算机设备和存储介质
CN108563958A (zh) * 2018-04-17 2018-09-21 平安普惠企业管理有限公司 角色权限更新方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN109586997B (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
CN108566290A (zh) 服务配置管理方法、系统、存储介质和服务器
CN108628918B (zh) 系统部署与依赖关系自动绘制系统及方法
CN111966289B (zh) 基于Kafka集群的分区优化方法和系统
JP2015528612A (ja) 分散システムにおいてユーザリクエストの実行を監視するための方法及びシステム
CN108334646A (zh) 一种基于频繁浏览序列的网站结构优化方法
CN109600258A (zh) 工业协议报文记录装置及方法
CN110489317B (zh) 基于工作流的云系统任务运行故障诊断方法与系统
CN115150471B (zh) 数据处理方法、装置、设备、存储介质及程序产品
CN107169143B (zh) 一种高效的海量舆情数据信息集群匹配方法
CN110347407A (zh) 一种获取内存占用量的方法、装置、计算机设备及介质
CN104050003B (zh) 一种采用shell脚本启动Nutch采集系统的方法
CN110569399B (zh) 基于pinpoint日志的链路构建方法
CN109635022B (zh) 一种可视化的ElasticSearch数据采集方法及装置
CN105335408B (zh) 一种搜索词白名单的扩展方法及相关系统
CN105488692A (zh) 在线人数计算方法及装置
CN112416557B (zh) 调用关系的确定方法和装置、存储介质及电子装置
CN114629949A (zh) 业务监控方法、电子设备及计算机存储介质
CN109586997A (zh) 采样方法、采样装置、计算机设备与可读存储介质
CN111209653B (zh) 一种适用于新能源承载力分析的拓扑表示方法
CN113094166A (zh) 一种链路追踪方法、装置、介质和计算设备
CN110928750B (zh) 数据处理方法、装置及设备
CN115712843A (zh) 基于人工智能的数据匹配检测处理方法及系统
CN104516916A (zh) 网络报表关联关系的分析方法和装置
CN115297048A (zh) 一种基于光纤网络的路由路径生成方法及装置
CN107292049A (zh) 一种基于icd数据流的仿真系统设计方法

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
TR01 Transfer of patent right

Effective date of registration: 20211123

Address after: Room 103, building 1, yard 4, Hengxing Road, Gaoliying Town, Shunyi District, Beijing

Patentee after: Beijing Rockwell Technology Co.,Ltd.

Address before: Room 801, 8 / F, building 3, No.10 courtyard, Wangjing street, Chaoyang District, Beijing 100102

Patentee before: BEIJING CHJ AUTOMOTIVE TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right