[微服务]Spring Cloud Sleuth全链路追踪

news2024/9/25 21:22:28

Spring Cloud Sleuth全链路追踪

全链路追踪组件追踪的数据遵循的规则:

1,Span:基本单元;

执行一次服务调用就生成一个span,用于记录当时的情况 ,以一个64位ID作为唯一标识.span还有其他数据标识如摘要,时间戳信息,关键tag等;

2,Trace:一次请求;

以一个64位ID为唯一标识,可以是一个业务号,通过该ID标识多个span为同一个业务请求,会以一个树状图的形式展示服务的调用;

3,Annotation:注解;

代表调用的客户端和服务端的行为,

Cs :客户端发起一个服务调用,即span的开始

Sr:服务端获取请求信息,并开始处理,sr-cs的时间得到一个时间戳即网络延迟时间;

Ss:服务端处理完请求,将结果返回客户端 ss-sr 的时间得到一个时间戳,即服务端处理请求的所用时间;

Cr:客户端成功接收到服务端的恢复,cr-cs得到的时间戳即客户端从服务端获取响应的时间;

日志部分:

1,搭建链路追踪服务

spring-cloud-sleuth-learn: spring-cloud-sleuth全链路追踪 (gitee.com)

搭建之后重点看一下全链路追踪的zipkin部分:

选择服务名就可以查看服务的调用情况:

请求的链路耗时,以及经理了哪些服务的调用;

2,自定义样本标记属性

如果我们要在网管中记录是否是Get请求,我们可以使用网关过滤器:

配置过滤器---zuul模块中继承ZuulFilter



@Slf4j

@Component

public class TraceFilter extends ZuulFilter {

    @Autowired

    private Tracer tracer;



    /**

     * 过滤器类型

     *

     * @return

     */

    @Override

    public String filterType() {

        return FilterConstants.PRE_TYPE;

    }



    /**

     * 过滤器顺序

     *

     * @return

     */

    @Override

    public int filterOrder() {

        return FilterConstants.PRE_DECORATION_FILTER_ORDER + 10;

    }



    @Override

    public boolean shouldFilter() {

        RequestContext currentContext = RequestContext.getCurrentContext();

        return "GET".equalsIgnoreCase(currentContext.getRequest().getMethod());

    }



    @Override

    public Object run() throws ZuulException {

        tracer.currentSpan().tag("1001", "GET请求");

        String traceId = tracer.currentSpan().context().traceIdString();

        String spanId = tracer.currentSpan()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1133692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

各品牌PLC存储器寻址的规则

在PLC编程时,字节或多字节的变量一般支持绝对地址寻址(比如,IW0、MD4等)。要想正确寻址,则必须要搞清楚寻址的规则。目前常见的规则有两种:字节寻址和字寻址。下图清晰地表达了两种规则的编号情况&#xff…

AI:WEB 1 靶机

1.找ip地址 2.检测端口 3.上文件检索 发现是apache 的组件 4.漏洞扫描攻击 nikto -h 网站 扫描网站漏洞 目录爆破 5.利用发现敏感目录 6.登录 发现 都是403 使用上层发现ok 这是一个查询功能点 7.敏感目录 sql注入 检验 详细信息 检测到注入方式 查看数…

系统架构设计师之RUP软件开发生命周期

系统架构设计师之RUP软件开发生命周期

EasyAR使用

EazyAR后台管理,云定位服务 建模 需要自行拍摄360度视频,后台上传,由EazyAR工作人员完成构建。 标注数据 需要在unity安装EazyAR插件,在unity场景编辑后,上传标注数据。 uinity标注数据 微信小程序中使用&#x…

Kali Linux 安装使用远程桌面连接远程服务器

1. 安装远程桌面连接软件 目前为止,我们已经可以通过其它机器以远程桌面的方式连接 Kali Linux,但想要使用 Kali Linux 远程连接其它机器还无法做到,下面就看看如何实现。 更新软件源列表; $ sudo apt-get update $ sudo apt-g…

二、可行性分析与需求分析

文章目录 概念考点练习题一、可行性分析与需求分析1.可行性分析的任务2.可行性研究3.甘特图4.数据流图5.数据字典数据字典的内容 6.需求分析7. 实体联系ER图8. 状态转换图 二、练习题 概念考点练习题 一、可行性分析与需求分析 1.可行性分析的任务 用最小的代价在尽可能短的时…

Xilinx MicroBlaze定时器中断无法返回主函数问题解决

最近在使用Xilinx 7系列FPGA XC7A100T时,运行MicroBlaze软核处理器,添加了AXI TIMER IP核,并使能定时器溢出中断,发现定时器触发中断后,无法返回主函数的问题,最后发现修改编译器优化等级就正常了。 FPGA型…

量子力学的基础公设

量子力学的基础公设 - 知乎

MySQL---JDBC编程

文章目录 什么是JDBC?JDBC的工作原理JDBC的使用添加依赖创建数据源DataSource创建数据库连接Connection创建操作命令Statement执行SQL指令释放资源 通过JDBC演示CRUD新增查询修改删除 什么是JDBC? JDBC:Java Database Connectivity&#xff…

10000阅读量感言

目录 前言 10000阅读量 回忆 感谢 结尾 前言 2023年10月25日20点26分,我终于突破10000阅读量了!为了记录下来,我写下了这篇博客。 10000阅读量 以上是我卡点截的一张图,我当时看到自己10000阅读量还是很惊喜的,还…

算法训练营第一天 704 .二分查找、27.移除元素

算法训练营第一天 | 704 .二分查找、27.移除元素 ( 一 )、704 二分查找 题目链接:https://leetcode.cn/problems/binary-search/description/ 解题思路: ​ 数组 nums 是有序排列的,二分查找每次都是对半查询&…

【离散数学必刷题】命题逻辑(第一章 左孝凌)刷完包过!

复习16题: 【1】下列哪个语句是真命题() A、今天天气真好! B、我正在说谎。 C、如果7 2 10 ,那么4 6 5。 D、如果7 2 9 , 则 4 6 5。 对于A,只有具有确定真值的陈述句才是命题&#xf…

TotalFinder v1.15.1(Finder代替工具)

TotalFinder是一款功能强大的文件管理工具,为Mac用户提供了一整套增强的文件管理功能和工具,能够更高效地管理和组织文件。 TotalFinder的主要特点包括: 为Finder添加了选项卡功能,允许多个文件夹在同一个窗口中同时打开。用户可…

一文精通C++ -- 继承

前言:继承是C类和对象三大特性中关键的一环,上承封装,下接多态,C中的继承是一种面向对象编程的概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性…

Java常见限流方式

Java常见限流方式 1、计数限流2、固定窗口限流3、滑动窗口限流4、漏桶算法5、令牌桶算法 1、计数限流 例如系统能同时处理 100 个请求,保存一个计数器,处理了一个请求,计数器就加一,一个请求处理完毕之后计数器减一。 每次请求来…

学校档案管理系统软件-学校数字档案室解决方案

学校档案管理系统软件是一个用于存储和管理学校重要文档和资料的软件系统,该软件通常包括档案录入、查询、统计、备份等模块,它通过电子化记录、分类和整理学校档案资料,实现了学校档案的高效管理和利用。 专久智能学校数字档案室解决方案需要…

N1中openwrt实现不插网线就能上网,通过wifi连接路由器

环境说明: 路由器:N1盒子 系统版本:openwrt 前言 既然想用这个功能,基本上就是没有网线连接盒子了,不仅限于N1盒子只要是openwrt系统就可以 创建接口 在openwrt界面上依次点击“网络”->“无线”,第一…

正点原子嵌入式linux驱动开发——RGB转HDMI

目前大多数的显示器都提供了HDMI接口,HDMI的应用范围也越来越广,但是STM32MP157这颗芯片原生并不支持HDMI显示。可以通过RGB转HDMI芯片将RGB信号转为HDMI信号,这样就可以连接HDMI显示器了。本章就来学习一下如何在正点原子的STM32MP1开发板上…

听说嵌入式门槛很高,值不值得学习?工资怎么样?

今日话题,嵌入式门槛很高,值不值得学习呢?关于嵌入式领域的门槛和薪酬,我有着五年的实际经验,我的看法是嵌入式岗位的门槛一般来说并不太高。只需掌握一些C语言编程和单片机知识,制作一个简单的电子产品就可…

会声会影2024 无损激活解锁完整旗舰版大师套装

会声会影2024 无损激活解锁完整旗舰版大师套装是功能非常强大的视频编辑软件,非常专业的使用效果,会声会影2024中文版可以针对剪辑电影进行使用,非常强大的色彩校正方式,无论什么光线下进行拍摄,都可以通过后期进行调整…