CN116881089B - 一种用于调用链状态回传状态下埋点及埋点管理的方法 - Google Patents
一种用于调用链状态回传状态下埋点及埋点管理的方法 Download PDFInfo
- Publication number
- CN116881089B CN116881089B CN202311146131.6A CN202311146131A CN116881089B CN 116881089 B CN116881089 B CN 116881089B CN 202311146131 A CN202311146131 A CN 202311146131A CN 116881089 B CN116881089 B CN 116881089B
- Authority
- CN
- China
- Prior art keywords
- buried
- point
- chain
- points
- embedded
- 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
- 238000007726 management method Methods 0.000 title description 3
- 230000002159 abnormal effect Effects 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 51
- 230000005856 abnormality Effects 0.000 claims abstract description 23
- 238000012544 monitoring process Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 22
- 238000009933 burial Methods 0.000 claims description 9
- 230000003213 activating effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 241000282326 Felis catus Species 0.000 claims description 3
- 238000011144 upstream manufacturing Methods 0.000 claims description 3
- 238000010516 chain-walking reaction Methods 0.000 claims 1
- 238000005070 sampling Methods 0.000 abstract description 9
- 230000000694 effects Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000010017 direct printing Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种用于调用链状态回传状态下埋点及埋点管理的方法,通过埋点来维护调用链,通过调用链判定异常链,提高了整个调用链系统的使用效率以及对异常的及时发现。为实现所述效果,本发明的用于调用链状态回传状态下埋点及埋点管理的方法包括:配置调用链路;配置埋点管理器;通过埋点管理器在指定节点位置进行埋点;调用链中节点发生异常时,激活所述位置的处于开启状态的埋点,自此节点处起停止对后续节点的调用,并进行调用链的回传。本发明最终对于异常的判定依然通过调用链实现,只是通过埋点的设置避免采样率未击中的情况下调用链中出现异常但是未能在第一时间发现、定位的问题。
Description
技术领域
本发明属于调用链监控技术领域,尤其是一种用于调用链状态回传状态下埋点及埋点管理的方法。
背景技术
调用链提供了程序运行时的丰富信息,利用好调用链信息可以全面了解系统的结构与行为,有效支撑测试、监控、诊断和重构等过程。所以调用链不仅仅用于解决某个临时问题,更成为持续高效开发和管理系统质量的基础手段。但是由于大型程序中的调用链结构非常复杂。为了提高效率,不能对调用链进行全面覆盖,因此如何在采样率未击中的情况下依然准确找到异常调用发生的具体位置,依然是一个难以实现的点。现有技术中通常在构建完整的调用链后通过在关键代码位置埋点,可以捕获函数调用的顺序和层级关系,构建出完整的调用链。这有助于理解代码的逻辑流程和调试。例如申请号为:202011197503.4的发明专利《基于CAT监控全链路方法及系统》中就公开了一种基于CAT监控全链路方法,包括以下步骤:步骤一:定义调用链路的消息格式;步骤二:解析调用链路的日志;步骤三:封装调用链路拓扑图;该发明实施例便于直观监控各条链路的节点信息,提高异常链路的定位效率。该文件中利用埋点对整个调用链进行监控。但是现有技术中对于埋点的设置存在一个矛盾,即如果进行全局埋点,则完全可以通过对埋点的监控进行管理即异常判定,无需再对调用链进行检测。但是全局埋点的成本也高,无法体现利用调用链诊断的优势。而如果不选择全局埋点,则埋的点在调用过程被选中的机率存在一定的概率。如果在调用过程中,出现异常的埋点未被选取到,则无法及时对可能出现的问题进行修正,这样直到出现较大的故障后才能发现问题,会造成较大的损失。
发明内容
为克服现有技术的不足及存在的问题,本发明设计开发了一种用于调用链状态回传状态下埋点及埋点管理的方法,调整调用链和埋点之间的关系,通过埋点来维护调用链,通过调用链判定异常链,提高了整个调用链系统的使用效率以及对异常的及时发现。
为实现所述效果,本发明提供了一种用于调用链状态回传状态下埋点及埋点管理的方法,包括:
配置调用链路:所述调用链路中包含多个节点;
配置埋点管理器:埋点管理器用于设置埋点位置和埋点的格式;
通过埋点管理器在指定节点位置进行埋点;埋入的埋点数据包表头中设有切换开关,所述切换开关初始状态默认为开启状态;
调用链中节点发生异常时,激活所述位置的处于开启状态的埋点,自此节点处起停止对后续节点的调用,并进行调用链的回传;在这一过程中,这样的操作便于更准确找到异常出现的节点位置,而减少整体涉及的节点数量;
从发生异常的节点起调用链回传过程中,将遍历的所有带有埋点的节点所涉及的跨度中所有埋点进行激活,并对激活后的埋点的数据包表头进行修改;
埋点管理器采集反馈的埋点信息,并在指定的时间点基于一个完整的调用链,将发生异常的调用链和它的上游链上报,从而追溯到具体发生异常的节点位置。
优选的,配置埋点前通过调用链的运行历史预测其异常发生率,并在埋点管理器中根据异常发生率配置埋点分布位置。该操作通常只能执行于长期使用后的调用链中,通过训练来优化埋点位置设置方案。对于一个调用链而言,在没有改变功能或更新的情况下,最终埋点位置是有最优解的。当优化到最优埋点位置后,就无需再重新配置埋点位置了。当然,随着平台功能的优化,最优埋点位置还是会发生变化的。
优选的,所述埋点管理器中设有定时器,在处理非连续设置埋点时结合记录时间间隔和相邻异常埋点信息追溯异常节点位置。一旦在未进行埋点的节点位置出现异常时,这样的设置可以从设有埋点的节点反推追寻异常节点的位置。
定时器另一个重要的功能在于当调用链上同时出现多条异常链后,可以根据定时器标记判断埋点中出现的异常来自于同一异常链还是不同异常链。同时追溯了异常节点位置后也可以作为新埋点设置的依据,最终对埋点数量进行精简优化。
优选的,埋点管理器在采集埋点信息时设有数据采集权限,埋点管理器根据网络状况、异常等级以及时限要求确定调用链回传过程中埋点信息上传的具体内容。这样的设置有两个作用,一是一旦出现多条异常链时,判断报错及处理的优先级,使得管理员能有序处理这些问题。二是通过判断异常等级,来制定处理方案。
优选的,埋点管理器内附带有埋点校验工具,在网络闲置时随机选取埋点发送携带测试标签的异常信息,从而用于检测埋点的响应时间。这样的测试在空闲时利用网络资源进行测试工作,及早发现异常点。同时也确保发生异常后,埋点切实能实现响应,验证埋点的有效性。
优选的,所述埋点管理器兼容Skywalking、Pinpoint、 Cat、 zipkin四类监控系统,数据报表头位置至少留有两个字节用于标注监控类型,并留有一个字节的类型切换符。这样几类监控系统基本涵盖了现在最主流的监控系统,在使用过程中不会出现兼容性的问题。
优选的,在异常解除后再将被修改的遍历的所有节点中埋点的数据包表头重新复位。这样在异常未解除时具有标记功能,当链路存在冗余时,尽可能避开这些带有标记的节点。在复位后正常等待下一次的应用。
本发明还包括一种存储设备,用于存放所述的一种根据调用链状态回传解决采样率下异常链缺失的方法中涉及的所有基础埋点数据;存储设备设有同步埋点管理器日志的实时消费接口,通过该接口可以对具体节点上的埋点数据进行查询。
优选的,内置有索引系统,所述索引系统根据埋点管理器的记录和调用链运行状态自动生成检索规则。在一条调用链中采集的索引系统可以导出复制到其它调用链中,从而减少别的调用链出现异常的机率。
本发明还包括一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现所述的根据调用链状态回传解决采样率下异常链缺失的方法。
本发明通过一种根据调用链状态回传解决采样率下异常链缺失的方法。通过埋点管理器,使得多个不同监控系统下的调用链,可以采用同一套埋点系统实现。埋点管理器对调用链中的节点实现埋点的管理,通过埋点的设置来调整调用链的状态,快速寻找出出现异常或出错的调用链,有利于调用链的维持和拓扑。
本发明最终对于异常的判定依然通过调用链实现,只是通过埋点的设置避免采样率未击中的情况下调用链中出现异常但是未能在第一时间发现、定位的问题。埋点管理器对于埋点代码进行针对执行程序的性能影响评估和管理,减少埋点对应用程序的性能和稳定性造成负面影响。
附图说明
图1是本发明一种用于调用链状态回传状态下埋点及埋点管理的方法流程示意图。
图2是本发明一种用于调用链状态回传状态下埋点及埋点管理的方法所涉及的平台的结构拓扑图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图和具体实施例对本发明创造作进一步描述。
首先,对技术方案中的一些术语进行解释。
在本发明中,需要配置调用链路。调用链路(Call Path)描述了请求从一个节点到另一个节点的传递路径,以及相关操作的执行顺序。它可以跨越多个节点形成跨度(Span),在每个节点上执行一系列操作,并将请求传递给下一个节点,直到请求得到处理并返回响应。
节点(Node)代表了系统中的独立实体,它们可能是服务器、服务、进程或模块等。每个节点通过接收请求、执行相应的操作,并将结果传递给下一个节点来参与调用链路的形成。在调用链路中,每个节点都有特定的角色和责任。它们负责处理请求并执行特定的任务,例如数据处理、计算、存储、验证等。节点之间的协作和信息传递形成了请求在系统中的流动路径。通过调用链路,我们可以追踪和分析请求在系统中的传递过程,了解每个节点的处理情况,识别潜在的性能问题或瓶颈,并进行故障排查和性能优化。
跨度:本文中跨越多个节点形成跨度(Span),实际上当多节点通过循环或递归产生时,这些节点可以由同一个跨度表示。通过跨度可以抽象表达调用链的层级结构。
埋点:埋点(Tracking)是一种常用的技术手段,用于收集和记录请求在调用链中经过的节点和相关信息。它可以帮助我们在系统中追踪和监控请求的路径,分析系统性能和行为。埋点通常通过在关键节点或重要的代码段中插入特定的代码来实现。这些代码会在请求经过该节点时触发并记录相关的信息,例如请求时间、请求参数、节点名称、操作结果等等。埋点的目的是收集调用链中的关键信息,如请求的起始节点、请求路径、处理时间、错误信息等。通过埋点,我们可以获取到系统运行时的详细数据,以便进行性能分析、故障排查和系统优化。
埋点管理器:埋点管理器(Tracking Manager)用于设置埋点位置和埋点的格式;
通过埋点管理器在节点位置进行埋点;埋入的埋点数据包表头中设有切换开关;本发明所述的埋点位于节点中,埋点过程中依然采用常规的技术手段,由埋点管理器制定埋点策略。首先需要根据系统的需求和特点,手动设置埋点的策略,如全局埋点、关键路径埋点、抽样埋点等,确定埋点位置的选择原则。然后针对具体的项目进行埋点位置分析。根据埋点策略分析系统代码,确定具体的埋点位置。这需要对系统的业务逻辑和调用关系有较清晰的理解。
埋点设置完毕后可以进一步调整需要采集的信息,如时间、调用参数、返回值等。并确定埋点的实现方法,如直接打印日志、使用埋点库等。
异常:异常(Exception)是指在程序运行过程中出现的意外情况或错误,严重的情况下导致程序无法正常执行。在调用链中,可能会出现各种异常,例如空指针异常、网络连接异常等。这需要说明的是在本发明中大部分情况下异常的出现不会影响实际工作,但是可能会预示这里将出现故障。
在现有的系统平台中,基于功能的模块已经趋于成熟。常见的客户的需求可以被完美的解决。现在考验平台品质的主要指标在于平台的稳定性。平台的稳定性基于强大的技术基础设施、网络安全、数据管理、负载均衡和容灾备份机制,以及监控和故障处理能力。只有在这些基础上建立起来的平台才能够提供稳定可靠的服务,并满足用户的需求。但是对于出现了异常,即有故障趋势且没用故障现象的情况,现有技术并没用针对性的对应解决方案。
本发明主要涉及系统平台中的监控系统,在系统平台中,监控系统的主要作用有4个:反馈监控状态和数据;预知故障和告警;辅助业务进行性能调优和容量优化;辅助定位问题。在本发明中监控系统主要以预知故障告警、报警、反馈服务器监控数据为主。通常情况下,一个稳定运行的平台的监控系统采用了指标、埋点和工作日志来进行监控。
其中工作日志是平台系统中必不可少的维护工具,埋点也被广泛使用。而指标(Metrics)可理解为可进行聚合计算的原子型数据。例如cpu占用情况、系统内存占用比例、接口响应时间、订单量,交易成功率以及交易平均耗时等。这些都是根据时间序列存储的数据值,需要通过工具(例如Cat)进行收集。其在时间线上的变化,并作同比、环比上的分析。本发明将单独的指标收集工具更新为和埋点相关的埋点管理器,将两种互补的监测方式融合一致。
在现有技术中,异常链的异常回馈是要通过分析日志来进行处理的。而埋点是另一种监控形式。全面埋点能实现平台的全方位监控,但是带来的代价却是需要配置大量的资源。这里的资源包括反馈数据以及保存、分析和处理这些数据所采用的资源。所以两者各有利弊。
而在本发明一种用于调用链状态回传状态下埋点及埋点管理的方法中,平台包括多个节点。配置埋点管理器:埋点管理器用于设置埋点位置和埋点的格式;其配置的策略根据实际情况进行调整,初始情况下,将随机埋点于最常用的数据服务节点上。通过埋点管理器在指定节点位置进行埋点;埋入的埋点数据包表头中设有切换开关,所述切换开关初始状态默认为开启状态。
如图1所示,平台在收到服务请求时将配置调用链路:所述调用链路中包含其服务对应的多个节点;
调用链中节点发生异常时,激活所述位置的埋点,自此节点处起停止对后续节点的调用,并进行调用链的回传;
从发生异常的节点起调用链回传过程中,将遍历的所有节点所涉及的跨度中埋点的数据包表头进行修改。根据不同的设置,并非所有相邻节点中均有埋点,因此所述埋点管理器中还需要设有定时器,在处理非连续设置埋点时结合记录时间间隔和相邻异常埋点信息追溯异常节点位置。定时器最重要的功能在于当调用链上同时出现多条异常链后,可以根据定时器标记判断埋点中出现的异常来自于同一异常链还是不同异常链。埋点管理器在指定的时间点基于一个完整的调用链,将异常链和它的上游链上报,从而追溯到具体发生异常的节点位置。这里的时间间隔通常根据异常的级别进行区分。如果是较为严重的异常,其优先级前置。对于一些常见的异常可以收集后,一周或一月上报一次。
而通过对遍历的所有节点所涉及的跨度中埋点的数据包表头进行修改是为了检查部分未被本次调用链命中的节点是否存在异常隐患。出于效率考虑,这样的检查不应为全局的检查,但是又需要有的放矢。因此通过节点涉及的跨度进行检查是最为有效的方式。尤其是整个跨度中也并非每个节点上都设置了埋点,所以这样的检查方式是兼顾了效率和命中率的。
经过长期使用后,具备足够的训练样本,从大量的埋点日志中提取有价值的信息,对调用时间、频率、参数等进行统计和分析,得到不同异常下系统的运行情况和性能评估。此时可以在配置埋点前通过调用链的运行历史预测其异常发生率,并根据异常发生率维护和更新埋点,具体是随着系统变更需要新增埋点、删除无用埋点和修改采集信息等。通常在训练过程中,埋点数量是逐步减少的,对于一个调用链而言,在没有改变功能或更新的情况下,最终埋点位置是有最优解的。当优化到最优埋点位置后,就无需再重新配置埋点位置了。
埋点管理器在采集埋点信息时设有数据采集权限,埋点管理器根据网络状况、异常等级以及时限要求确定调用链回传过程中埋点信息上传的具体内容。这样的设置有两个作用,一是一旦出现多条异常链时,判断报错及处理的优先级。使得管理员能有序处理这些问题。二是通过判断异常等级,来决定处理方案。埋点管理器内附带有埋点校验工具,在网络闲置时随机选取埋点发送携带测试标签的异常信息,从而用于检测埋点的响应时间。这样的测试确保发生异常后,埋点切实能实现响应,验证埋点的有效性。
本发明所述的埋点管理器兼容Skywalking、Pinpoint、 Cat、 zipkin四类监控系统,数据报表头位置至少留有两个字节用于标注监控类型,并留有一个字节的类型切换符。这样几类监控系统基本涵盖了现在最主流的监控系统。不会出现兼容性的问题。在异常解除后再将被修改的遍历的所有节点中埋点的数据包表头重新复位。这样一则在异常未解除时具有标记功能,二则复位后可以等待下一次的应用。
还包括一种存储设备,用于存放所述的一种根据调用链状态回传解决采样率下异常链缺失的方法中涉及的所有基础埋点数据;存储设备设有同步埋点管理器日志的实时消费接口,通过该接口可以对具体节点上的埋点数据进行查询。内置有索引系统,所述索引系统根据埋点管理器的记录和调用链运行状态自动生成检索规则。在一条调用链中采集的索引系统可以导出复制到其它调用链中,从而减少别的调用链出现异常的机率。这样当有多个平台供不同客户使用时,在其中一个平台上优化的埋点策略可以共享到其它类似结构的平台中。
本发明还包括一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现所述的根据调用链状态回传解决采样率下异常链缺失的方法。
图2为本发明所涉及的平台,其中平台各个功能以模块形式标识,每个模块内均有多个节点,由于节点数量众多,因此不在图中标识。
实施例:以一个电商网站为例。用户连接到电商平台,整个电商平台为分布式平台,至少包括了用户界面、网关、会员服务、优惠服务、库存信息、订单服务等模块。每个模块中根据具体对象设置不同数量的节点。埋点管理器在节点位置进行埋点;此时埋点可以根据模块中节点的热度进行配置。当用户发出一个查看库存请求时,由于该请求无法及时回应。实际这个请求异常并非在于库存节点,而是在会员服务中,这样导致用户身份验证节点被大量请求淹没。因此在本实施例中的该用户请求过程中,平台在用户身份验证节点上捕获到异常后,会对异常进行处理,然后重新抛出异常并返回传递给上层调用者,从而形成了异常链。这就是异常直接被击中的场景,无需激活埋点即可接受到异常链信息,并根据日志进行处理。虽然这样的实施例中实际无需激活埋点,但是其出现异常的信息便于此后埋点管理器配置埋点的工作。
实施例:同样以一个电商网站为例。用户连接到电商平台,整个电商平台为分布式平台,至少包括了用户界面、网关、会员服务、优惠服务、库存信息、订单服务等模块。每个模块中根据具体对象设置不同数量的节点。埋点管理器在节点位置进行埋点;此时埋点可以根据模块中节点的热度进行配置。热度指的是所述节点被触发的机率高低。例如库存信息中热门的商品对应的节点就是一个高热度的节点。通常配置一个热度较高的节点,以及多个热度较低的节点。在类似的网站中埋点采用的是Http格式,即:
“<方法><路径>HTTP/<协议版本>
<Headers>
<请求正文>”
格式。埋入的埋点数据包表头,即<Headers>位置中设有切换开关,用于控制该埋点是否激活。
在一个调用过程中,如果调用链路命中了其中一个出现异常的节点时,该调用链路出现阻塞,即虽然用户收到了反馈但是延迟较长且会出现自动断开的状况。此时该条调用链路上涉及的带有埋点的节点上的埋点将会被激活。例如用户在购买时抢购最后一件库存时,系统收到了多个购买信息,但是库存不足导致无法正常回传,这就会带来阻塞。此时该条调用链路就会发出警报信息,而和已经被激活的埋点出于同一跨度上的节点,虽然没有参与到本次服务中,依然会被激活埋点。
现有技术中技术人员处理完调用链路上的问题即告工作完成。而本发明中工作人员还需对相应跨度中其它节点上被激活的埋点进行检测。这些埋点在本次调用链路回传中其实并没有发生错误,但是具有一定发生故障的风险,技术人员可以根据已经发生的故障去主动排除隐藏的风险。
虽然通过文字描述的步骤较为繁琐,但是实际整个激活埋点,确定跨度、再次激活跨度中的节点所包含的埋点,然后进行检测的工作如果设置了自动维护的方式则可以在数秒内完成。在平台对外开放过程中通常不会对埋点位置进行调整。但是在系统维护和升级时根据埋点被激活的频率,通过埋点管理器对设置埋点的节点进行调整。尽可能用少量的埋点覆盖整个平台。
本发明的技术方案和现有技术方案相比:
和全局埋点进行对比,全局埋点是一种比较常用的埋点策略,它的主要特征在于:埋点位置广泛。全局埋点会在代码的很多关键位置进行埋点,覆盖面比较广,可以获取详细的调用链信息。但是同时全局埋点也会带来高开销。广泛的埋点会产生较高的性能开销和存储成本,这是全局埋点需要考量的主要缺点。而且全局埋点难以关注关键调用。在海量的调用链数据中,容易忽略关键调用或性能问题,需要进行进一步的分析和识别。而本发明进行选择性埋点,并且根据埋点信息调整调用链,从运行成本上要远小于全局埋点。并且还能通过自我学习进一步优化响应速度等,具有相当大的提升潜力。本发明为全埋点的系统配置资源耗费的1/3左右。
和普通的选择性埋点相比:单纯的选择性埋点无法在所有逻辑中都设置埋点,导致调用链无法完整记录整个请求处理过程,信息不全面。且容易失去细粒度数据。错过的埋点位置无法记录细粒度的执行数据,如精确的消耗时间、流量指标等。这会对某些场景下的监控和优化造成影响。而本发明通过采用埋点管理器可以将相隔较远的两个埋点关联起来并且理顺之间的执行逻辑,重新实际发生异常的整条调用链。这样在减轻调用链的开销的同时,聚焦重点和简化监控数据。弥补了现有技术中单纯选择性埋点,但又未能和调用链结合的状况下的信息的不全面和细粒度数据的缺失问题。
虽然本发明以较佳实施例揭露如上,但并非用以限定本发明实施的范围。任何本领域的普通技术人员,在不脱离本发明的发明范围内,当可作些许的改进,即凡是依照本发明所做的同等改进,应为本发明的范围所涵盖。在本说明书的描述中,参考术语“一个实施例/方式”、“一些实施例/方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例/方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例/方式或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例/方式或示例以及不同实施例/方式或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。
Claims (10)
1.一种用于调用链状态回传状态下埋点及埋点管理的方法,其特征在于,包括:
配置调用链路:所述调用链路中包含多个节点;
配置埋点管理器:埋点管理器用于设置埋点位置和埋点的格式;
通过埋点管理器在指定节点位置进行埋点;埋入的埋点数据包表头中设有切换开关,所述切换开关初始状态默认为开启状态;
调用链中节点发生异常时,激活所述位置的处于开启状态的埋点,自此节点处起停止对后续节点的调用,并进行调用链的回传;
从发生异常的节点起调用链回传过程中,将遍历的所有带有埋点的节点所涉及的跨度中所有埋点进行激活,并对激活后的埋点的数据包表头进行修改;
埋点管理器采集反馈的埋点信息,并在指定的时间点基于一个完整的调用链,将发生异常的调用链和它的上游链上报,从而追溯到具体发生异常的节点位置。
2.如权利要求1所述的一种用于调用链状态回传状态下埋点及埋点管理的方法,其特征在于,配置埋点前通过调用链的运行历史预测其异常发生率,并在埋点管理器中根据异常发生率配置埋点分布位置。
3.如权利要求2所述的一种用于调用链状态回传状态下埋点及埋点管理的方法,其特征在于,所述埋点管理器中设有定时器,在处理非连续设置埋点时结合记录时间间隔和相邻异常埋点信息追溯异常节点位置。
4.如权利要求1或2所述的一种用于调用链状态回传状态下埋点及埋点管理的方法,其特征在于,埋点管理器在采集埋点信息时设有数据采集权限,埋点管理器根据网络状况、异常等级以及时限要求确定调用链回传过程中埋点信息上传的具体内容。
5.如权利要求4所述的一种用于调用链状态回传状态下埋点及埋点管理的方法,其特征在于,埋点管理器内附带有埋点校验工具,在网络闲置时随机选取埋点发送携带测试标签的异常信息,从而用于检测埋点的响应时间。
6. 如权利要求1所述的一种用于调用链状态回传状态下埋点及埋点管理的方法,其特征在于,所述埋点管理器兼容Skywalking、Pinpoint、 Cat、 zipkin四类监控系统,数据报表头位置至少留有两个字节用于标注监控类型,并留有一个字节的类型切换符。
7.如权利要求1所述的一种用于调用链状态回传状态下埋点及埋点管理的方法,其特征在于,在异常解除后,埋点管理器将所有节点中被修改过的埋点的数据包表头重新复位。
8.一种存储设备,其特征在于,用于存放如权利要求1-7中任一所述的一种用于调用链状态回传状态下埋点及埋点管理的方法中涉及的所有基础埋点数据;存储设备设有同步埋点管理器日志的实时消费接口,通过该接口对具体节点上的埋点数据进行查询。
9.如权利要求8所述的一种存储设备,其特征在于,内置有索引系统,所述索引系统根据埋点管理器的记录和调用链运行状态自动生成检索规则。
10.一种终端设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的用于调用链状态回传状态下埋点及埋点管理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311146131.6A CN116881089B (zh) | 2023-09-07 | 2023-09-07 | 一种用于调用链状态回传状态下埋点及埋点管理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311146131.6A CN116881089B (zh) | 2023-09-07 | 2023-09-07 | 一种用于调用链状态回传状态下埋点及埋点管理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116881089A CN116881089A (zh) | 2023-10-13 |
CN116881089B true CN116881089B (zh) | 2023-12-05 |
Family
ID=88272102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311146131.6A Active CN116881089B (zh) | 2023-09-07 | 2023-09-07 | 一种用于调用链状态回传状态下埋点及埋点管理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116881089B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017084508A1 (zh) * | 2015-11-17 | 2017-05-26 | 阿里巴巴集团控股有限公司 | 自动埋点方法和装置 |
CN111124906A (zh) * | 2019-12-17 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 基于动态埋点的跟踪方法、编译方法、装置和电子设备 |
WO2021190354A1 (zh) * | 2020-03-26 | 2021-09-30 | 华为技术有限公司 | 一种采集追踪trace调用链的方法和电子设备 |
CN115422036A (zh) * | 2022-07-29 | 2022-12-02 | 重庆长安汽车股份有限公司 | 基于OpenTelemetry的车端SOA服务调用链追踪的方法 |
-
2023
- 2023-09-07 CN CN202311146131.6A patent/CN116881089B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017084508A1 (zh) * | 2015-11-17 | 2017-05-26 | 阿里巴巴集团控股有限公司 | 自动埋点方法和装置 |
CN111124906A (zh) * | 2019-12-17 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 基于动态埋点的跟踪方法、编译方法、装置和电子设备 |
WO2021190354A1 (zh) * | 2020-03-26 | 2021-09-30 | 华为技术有限公司 | 一种采集追踪trace调用链的方法和电子设备 |
CN115422036A (zh) * | 2022-07-29 | 2022-12-02 | 重庆长安汽车股份有限公司 | 基于OpenTelemetry的车端SOA服务调用链追踪的方法 |
Non-Patent Citations (3)
Title |
---|
Trusted behavior identification model for distributed node;Lin Yu et al.;JOURNAL OF INTELLIGENT & FUZZY SYSTEMS;第4621-4631页 * |
分布式系统服务链追踪与监控;郑邦峰;;工业技术创新(02);第60-64页 * |
埋点管理系统分析与设计;廖爱红;罗铭涛;;办公自动化(16);第35-37页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116881089A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672085B2 (en) | Adaptive fault diagnosis | |
US11442803B2 (en) | Detecting and analyzing performance anomalies of client-server based applications | |
CN112653586B (zh) | 基于全链路监控的时空大数据平台应用性能管理方法 | |
CN115118581B (zh) | 一种基于5g的物联网数据全链路监控和智能保障系统 | |
CN107635003A (zh) | 系统日志的管理方法、装置及系统 | |
CN112699007A (zh) | 监控机器性能的方法、系统、网络设备及存储介质 | |
CN117891641A (zh) | 故障对象的定位方法、装置、存储介质及电子装置 | |
CN116881089B (zh) | 一种用于调用链状态回传状态下埋点及埋点管理的方法 | |
CN116204386B (zh) | 应用服务关系自动识别及监控方法、系统、介质和设备 | |
KR101288535B1 (ko) | 통신 시스템 모니터링 방법 및 이를 위한 장치 | |
CN105703942B (zh) | 一种日志采集方法及装置 | |
CN117135030A (zh) | 告警关联分析方法、装置、终端设备以及存储介质 | |
CN111865667A (zh) | 网络连通性故障根因定位方法及装置 | |
AU2014200806B1 (en) | Adaptive fault diagnosis | |
JP4575020B2 (ja) | 障害解析装置 | |
CN115391127A (zh) | 一种拨测方法、装置、存储介质及芯片 | |
US20100153543A1 (en) | Method and System for Intelligent Management of Performance Measurements In Communication Networks | |
CN115687036A (zh) | 日志采集方法、装置及日志系统 | |
CA2843004C (en) | Adaptive fault diagnosis | |
CN110225543B (zh) | 基于网络请求数据的移动端软件质量态势感知系统及方法 | |
CN111708689B (zh) | 一种修改ab实验的方法、装置及电子设备 | |
CN114020631B (zh) | 用于链路测试的方法、装置及机器可读存储介质 | |
CN117290151B (zh) | 电源模块的故障原因确定方法、装置、设备、系统和介质 | |
CN116932353A (zh) | 一种追踪收集分析定位的方法、系统、设备和存储介质 | |
JP2006186693A (ja) | システム総合管理システム |
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 |