CN111177599A - 基于切面的跨系统链路追踪方法 - Google Patents
基于切面的跨系统链路追踪方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9558—Details of hyperlinks; Management of linked annotations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols 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线程的方法执行前调用时间算法记录系统此时的时间,然后执行该方法,在方法完成执行后,再调用时间算法记录系统此时的时间。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783451A (zh) * | 2021-01-22 | 2021-05-11 | 中信银行股份有限公司 | 一种基于拦截器的耗时异常分析的方法及系统、存储介质 |
Citations (3)
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 | 江苏艾佳家居用品有限公司 | 一种分布式服务框架中的全链路堆栈信息跟踪方法 |
-
2019
- 2019-12-26 CN CN201911367861.2A patent/CN111177599A/zh active Pending
Patent Citations (3)
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)
Title |
---|
HANCHAO5272: "SpringBoot项目中通过MDC和自定义Filter操作traceid实现日志链路追踪", 《HTTPS://BLOG.CSDN.NET/HANCHAO5272/ARTICLE/DETAILS/92107651》 * |
Cited By (1)
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 |