CN111177599A - 基于切面的跨系统链路追踪方法 - Google Patents

基于切面的跨系统链路追踪方法 Download PDF

Info

Publication number
CN111177599A
CN111177599A CN201911367861.2A CN201911367861A CN111177599A CN 111177599 A CN111177599 A CN 111177599A CN 201911367861 A CN201911367861 A CN 201911367861A CN 111177599 A CN111177599 A CN 111177599A
Authority
CN
China
Prior art keywords
traced
tangent plane
http
time
http header
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
CN201911367861.2A
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.)
Unicloud Nanjing Digital Technology Co Ltd
Original Assignee
Unicloud Nanjing Digital 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 Unicloud Nanjing Digital Technology Co Ltd filed Critical Unicloud Nanjing Digital Technology Co Ltd
Priority to CN201911367861.2A priority Critical patent/CN111177599A/zh
Publication of CN111177599A publication Critical patent/CN111177599A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明的基于切面的跨系统链路追踪方法,包括S1:SpringBoot的拦截器拦截http请求,校验http header中是否有traceld;S2:http header中有traceld,将traceld写入threadlocal中;S3:http header中没有traceld,将http请求的uuid值赋予traceld,将赋值后的traceld写入threadlocal中;S4:利用SpringBoot的aop切面调用链执行方法,aop切面的反射获取当前执行方法的名称,计算出方法的实际执行时间。在方法名称执行时记录时间,在方法执行后再次记录时间,通过时间差获得方法的执行时间。

Description

基于切面的跨系统链路追踪方法
技术领域
本发明涉及网络链路追踪,具体涉及基于切面的跨系统链路追踪方法。
背景技术
SpringBoot微服务在接收到http请求之后,会依次进行controller->service->dao的基本流程调用,在这之中,每一个service还会继续调用其他的service,从而形成一个完整的链条。然而目前服务器的日志会由多个线程同时写入,导致日志很乱,无法梳理每一个request请求具体执行了哪些方法,以及每一个方法执行的参数与相应时间是什么。
发明内容
为了克服现有技术中的不足,本发明提出基于切面的跨系统链路追踪方法,其调用http调用的方法,并对方法的执行时间计时。
为了实现上述目的,本发明的基于切面的跨系统链路追踪方法,其特征在于,包括以下步骤:
S1:利用SpringBoot的拦截器,拦截http请求,获取并校验http header中是否有traceld;S2:如果http header中有traceld,将traceld写入到threadlocal中;S3:如果http header中没有traceld,将http请求的uuid值赋予traceld,再将赋值后的traceld写入到threadlocal中;S4:利用SpringBoot的aop切面调用链执行方法,利用aop切面的反射获取当前执行方法的名称,在方法执行前后依次记录当前时间,计算出方法的实际执行时间、记录方法执行的结果以及所属的服务器IP。
进一步的,S1中拦截器通过代码实现,拦截器预设http的名称,http请求的名称与拦截器的名称一致时,拦截器拦截该http请求。
进一步的,S2中,如果http header中有traceld,则将http header的traceld属性值给写入到threadlocal中,threadlocal带有traceld属性值并可以被调用。
进一步的,S3中,如果http header中没有traceld,则给http header赋予一个空值null,再将空值null赋到threadlocal中。
进一步的,S4中,在http线程的方法执行前调用时间算法记录系统此时的时间,然后执行该方法,在方法完成执行后,再调用时间算法记录系统此时的时间。
有益效果:通过aop切面的反射获取当前执行方法的名称,在方法名称执行时记录时间,在方法执行后再次记录时间,通过时间差获得方法的执行时间。
附图说明
下面结合附图对本发明作进一步描写和阐述。
图1是本申请的流程图。
具体实施方式
下面将结合附图、通过对本发明的优选实施方式的描述,更加清楚、完整地阐述本发明的技术方案。
基于切面的跨系统链路追踪方法,包括以下步骤:
S1:利用SpringBoot的拦截器,拦截http请求,获取并校验http header中是否有traceld;
拦截器由代码组成,只能阻拦http请求,拦截器预设http的名称,http请求的名称与拦截器的名称一致时,拦截器拦截该http请求。
S2:如果http header中有traceld,将traceld写入到threadlocal中;
如果http header中有traceld,则将http header的traceld属性值给写入到threadlocal中,threadlocal带有traceld属性值并可以被调用。
S3:如果http header中没有traceld,将http请求的uuid值赋予traceld,再将赋值后的traceld写入到threadlocal中;
S3中,如果http header中没有traceld,则给http header赋予一个空值null,再将空值null赋到threadlocal中。
利用SpringBoot的aop切面调用链执行方法,利用aop切面的反射获取当前执行方法的名称,在方法执行前后依次记录当前时间,计算出方法的实际执行时间、记录方法执行的结果以及所属的服务器IP。
SpringBoot的aop切面方法,就是在主程序执行的过程中插入aop程序,aop程序记录当前程序的开始时间、名称后,再继续执行主程序,在主程序将要结束时,通过循环命令再执行一次aop程序记录此时程序的结束时间,两者开始时间和结束时间的差值便是该方法的执行时间。
上述具体实施方式仅仅对本发明的优选实施方式进行描述,而并非对本发明的保护范围进行限定。在不脱离本发明设计构思和精神范畴的前提下,本领域的普通技术人员根据本发明所提供的文字描述、附图对本发明的技术方案所作出的各种变形、替代和改进,均应属于本发明的保护范畴。本发明的保护范围由权利要求确定。

Claims (5)

1.基于切面的跨系统链路追踪方法,其特征在于,包括以下步骤:
S1:利用SpringBoot的拦截器,拦截http请求,获取并校验http header中是否有traceld;
S2:如果http header中有traceld,将traceld写入到threadlocal中;
S3:如果http header中没有traceld,将http请求的uuid值赋予traceld,再将赋值后的traceld写入到threadlocal中;
S4:利用SpringBoot的aop切面调用链执行方法,利用aop切面的反射获取当前执行方法的名称,在方法执行前后依次记录当前时间,计算出方法的实际执行时间、记录方法执行的结果以及所属的服务器IP。
2.根据权利要求1所述的基于切面的跨系统链路追踪方法,其特征在于,所述S1中拦截器通过代码实现,拦截器预设http的名称,http请求的名称与拦截器的名称一致时,拦截器拦截该http请求。
3.根据权利要求1所述的基于切面的跨系统链路追踪方法,其特征在于,所述S2中,如果http header中有traceld,则将http header的traceld属性值给写入到threadlocal中,threadlocal带有traceld属性值并可以被调用。
4.根据权利要求1所述的基于切面的跨系统链路追踪方法,其特征在于,所述S3中,如果http header中没有traceld,则给http header赋予一个空值null,再将空值null赋到threadlocal中。
5.根据权利要求1所述的基于切面的跨系统链路追踪方法,其特征在于,所述S4中,在http线程的方法执行前调用时间算法记录系统此时的时间,然后执行该方法,在方法完成执行后,再调用时间算法记录系统此时的时间。
CN201911367861.2A 2019-12-26 2019-12-26 基于切面的跨系统链路追踪方法 Pending CN111177599A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911367861.2A CN111177599A (zh) 2019-12-26 2019-12-26 基于切面的跨系统链路追踪方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911367861.2A CN111177599A (zh) 2019-12-26 2019-12-26 基于切面的跨系统链路追踪方法

Publications (1)

Publication Number Publication Date
CN111177599A true CN111177599A (zh) 2020-05-19

Family

ID=70655671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911367861.2A Pending CN111177599A (zh) 2019-12-26 2019-12-26 基于切面的跨系统链路追踪方法

Country Status (1)

Country Link
CN (1) CN111177599A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783451A (zh) * 2021-01-22 2021-05-11 中信银行股份有限公司 一种基于拦截器的耗时异常分析的方法及系统、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818024A (zh) * 2017-11-22 2018-03-20 北京汇通金财信息科技有限公司 一种基于spring拦截器的request ID传递方法及系统
CN107870762A (zh) * 2016-09-28 2018-04-03 北京京东尚科信息技术有限公司 Soa调用链路跟踪的方法、装置及系统
CN109901915A (zh) * 2019-01-18 2019-06-18 江苏艾佳家居用品有限公司 一种分布式服务框架中的全链路堆栈信息跟踪方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870762A (zh) * 2016-09-28 2018-04-03 北京京东尚科信息技术有限公司 Soa调用链路跟踪的方法、装置及系统
CN107818024A (zh) * 2017-11-22 2018-03-20 北京汇通金财信息科技有限公司 一种基于spring拦截器的request ID传递方法及系统
CN109901915A (zh) * 2019-01-18 2019-06-18 江苏艾佳家居用品有限公司 一种分布式服务框架中的全链路堆栈信息跟踪方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HANCHAO5272: "SpringBoot项目中通过MDC和自定义Filter操作traceid实现日志链路追踪", 《HTTPS://BLOG.CSDN.NET/HANCHAO5272/ARTICLE/DETAILS/92107651》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783451A (zh) * 2021-01-22 2021-05-11 中信银行股份有限公司 一种基于拦截器的耗时异常分析的方法及系统、存储介质

Similar Documents

Publication Publication Date Title
US10949253B2 (en) Data forwarder for distributed data acquisition, indexing and search system
CN104219316A (zh) 一种分布式系统中的调用请求处理方法及装置
CN108804215B (zh) 一种任务处理方法、装置以及电子设备
CN103714137B (zh) 一种数据文件的删除方法和系统
US9509839B2 (en) Methods and apparatus to monitor subscriber activity
CN112154420A (zh) 自动智能云服务测试工具
CN111984346B (zh) 微服务环境中调用链追踪的方法、系统、装置及存储介质
CN108268468B (zh) 一种大数据的分析方法及系统
JP7037066B2 (ja) 評価装置、評価方法および評価プログラム
CN110650164B (zh) 文件的上传方法、装置、终端以及计算机存储介质
CN113377668A (zh) 服务接口的自动化测试方法、装置和计算机设备
CN109981739A (zh) 基于区块链的会话数据处理方法、装置、设备及介质
CN111177599A (zh) 基于切面的跨系统链路追踪方法
CN109460389B (zh) 一种基于openresty的日志记录方法
WO2016177284A1 (zh) 一种域名解析方法和设备
CN110019260B (zh) 一种用户数据的更新方法及相关设备
CN109446762A (zh) 云平台访问方法、装置、计算机设备和存储介质
CN112783618A (zh) 一种任务调度监控系统、计算机设备及存储介质
CN109298928B (zh) 业务的处理方法及装置
CN116185869A (zh) 一种软件测试方法、系统、计算机设备及存储介质
CN109389271B (zh) 应用性能管理方法及系统
CN111625323A (zh) 分布式任务处理方法、装置、设备及计算机可读存储介质
CN109446272A (zh) 一种服务器的数据处理方法和装置
CN112395339B (zh) 系统间数据准入校验方法、装置、计算机设备和存储介质
CN103019927B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200519

WD01 Invention patent application deemed withdrawn after publication