-
开源分布式系统追踪-00-overview
分布式跟踪系列
CAT
cat monitor 分布式监控 CAT-是什么?
cat monitor-02-分布式监控 CAT埋点
cat monitor-03-深度剖析开源分布式监控CAT
cat monitor-04-cat 服务端部署实战
cat monitor-05-cat 客户端集成实战
cat monitor-06-cat 消息存储
skywalking
监控-...
2023-07-25 00:00:00 |
Trace
-
Trace 应用间、方法间的关系 通过 CAT 实现
整体思路
如果每一个 tid 都绘制一个图,数据比较准确。但是数据量很大。
也可以根据 CAT 这种公司已经接入的技术栈,推进通过 kafka 采样解析处理。
数据全部放在 neo4j 之类的图数据库中。
性能
考虑 batch 批量入库处理,unwind 解析入库。
应用内
可以通过代码的静态扫描获取。
流水线+gitlab 之类的代码仓库静态调用扫描。
调用拓扑图
C...
2023-07-25 00:00:00 |
Trace
-
TransmittableThreadLocal (TTL) 解决异步执行时上下文传递的问题
TTL 的作用
用ttl解决异步调用存在的问题(在这里我们也一并说了不再啰嗦)
上边我们也说了,MDC底层 DefaultThreadContextMap 是用 ThreadLocal 来保存的链路信息,而ThreadLocal是同一个线程,才会有相同的副本数据,而当我们在项目中使用线程池时候,主线程和子线程肯定是不一样的,那么这种情况下就得考虑如何将主线程的值传递给子线程,让子线程也能...
2023-07-25 00:00:00 |
Trace
-
分布式链路追踪-13-美团 可视化全链路日志追踪
拓展阅读
全链路压测自动化实践
1. 背景
1.1 业务系统日益复杂
随着互联网产品的快速发展,不断变化的商业环境和用户诉求带来了纷繁复杂的业务需求。
业务系统需要支撑的业务场景越来越广、涵盖的业务逻辑越来越多,系统的复杂度也跟着快速提升。
与此同时,由于微服务架构的演进,业务逻辑的实现往往需要依赖多个服务间的共同协作。
总而言之,业务系统的日益复杂已经成为一种常态。
1.2...
2023-07-25 00:00:00 |
Trace
-
分布式链路追踪-12-bilbili 可视化全链路日志追踪
背景
基于ClickHouse的Billions2.0日志方案上线后(B站基于Clickhouse的下一代日志体系建设实践),虽然能够降低60%的存储成本,但仍然存在几个比较明显的问题,需要进一步的优化和解决。
一、存储成本的优化
对于大规模的日志数据,存储成本一直是困扰企业的一个问题。我们采用了基于ClickHouse的解决方案,该方案实现了高效的数据编码和压缩率,有效降低了存储成本...
2023-07-25 00:00:00 |
Trace
-
分布式链路追踪-11-10行代码让日志存储降低 80%
核心问题
日志如何分类?
日志如何格式标准?
日志乱象
日志是日常开发中最有可能被忽视,最容易被滥用的一个模块。
被忽视是因为打日志实在是一个再简单不过的事,前人设计好了一个logback.xml,后面只需要依样画葫芦定义一个logger,随手一个info调用就搞定,他甚至不确定这条日志能不能打出来,也不知道会打在哪个文件,反正先跑一次试试,不行就换error。
被滥用是因为不同...
2023-07-25 00:00:00 |
Trace
-
分布式链路追踪-10-http client
Q1: java http client 有哪些常见的?介绍一下
在 Java 中,有几个常见的 HTTP 客户端库可以用来发送 HTTP 请求和处理响应。以下是一些常见的 Java HTTP 客户端库,以及它们的简要介绍:
HttpURLConnection:
HttpURLConnection 是 Java 标准库提供的原生 HTTP 客户端。它提供了基本的 HTTP...
2023-07-25 00:00:00 |
Trace
-
分布式链路追踪-09-adaptive collect 自适应采样算法 java 实现
Q1: 详细说明日志中的自适应采样
自适应采样(Adaptive Sampling)是一种日志记录技术,用于在应用程序或系统中收集和记录日志信息,以便更有效地管理和分析日志数据。传统的日志记录方法通常会导致大量的日志数据被生成,这可能会对存储资源和日志分析过程造成不必要的压力。
自适应采样旨在通过智能地选择要记录的日志事件,从而减少生成的日志数量,同时保留对系统行为和问题的关键洞察。
...
2023-07-25 00:00:00 |
Trace