![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
skywalking
文章平均质量分 79
从概念到实战到源码
辉度
这个作者很懒,什么都没留下…
展开
-
skywalking09 - 异步线程路线续接(中)
匿名内部类,lambda的异步线程的链路续接原创 2022-01-21 16:47:19 · 1668 阅读 · 0 评论 -
skywalking09 - 异步线程链路续接(下)
skywalking09 - 异步线程链路续接(下)–源码分析在上篇,我们提到了,多线程可能会导致链路断开,而可以通过三种方式将其接上。那你有没有好奇,为什么它会断开,它又是怎么接上的呢?链路为何断开要知道链路为何断开,我们就需要知道,正常情况下的链路是如何工作的,几个Span之间是如何接在一起的。我们可以通过第四篇提到的@Trace注解进行入手,这个注解会增加一个Span。正常情况下@Trace添加Span对skywalking源码有一定了解的你一定知道,其对类做修改增强的时候,会定义一个该原创 2021-11-20 19:56:43 · 1881 阅读 · 0 评论 -
skywalking09 - 异步线程链路续接(上)
skywalking09 - 异步线程链路续接(上)不知道你是不是也出现过,明明打了@Trace,但是死活从http请求的链路进来看不到,反而,它还独自成一条链路,这样一来,根本连不成一个链路来追踪问题了。断掉的链路异步代码此处,用了线程池去异步执行一个实现Runnable接口的类。 @Trace public void trace() throws InterruptedException { Thread.sleep(10); doNothin原创 2021-11-20 18:58:26 · 3867 阅读 · 8 评论 -
skywalking08 - 链路追踪tag查找配置(下)
skywalking08 - 链路追踪tag查找配置(下) 在上篇中,已经讲述了如何配置tag进行查找,以及一些坑点,比如H2数据库会导致无法查找。那这一篇主要讲讲代码实现,比较轻松,简单的crud。查询入口方法通过一个org.apache.skywalking.oap.query.graphql.resolver.TraceQuery#queryBasicTraces方法,来获取的查询服务进行查找 public TraceBrief queryBasicTraces(final Tr原创 2021-10-13 20:19:51 · 923 阅读 · 0 评论 -
skywalking08 - 链路追踪tag查找配置(上)
skywalking08 - 链路追踪tag查找配置(上) 在上一篇文章中,我们提到了**“skywalking收集链路时,使用的URL都是通配符,在链路中,无法针对某个pageId,或者其他通配符的具体的值进行查找。或许skywalking出于性能考虑,但是对于这种不定的通用大接口,的确无法用于针对性的性能分析了。”** 那么在skywalking 8.2版本中引入的对tag搜索的支持,就能够解决这个问题,我们可以根据tag对链路进行一次过滤,得到一类的链路。让我们来看看如何配置的。效果原创 2021-10-13 16:20:47 · 4914 阅读 · 6 评论 -
skywalking07 - skywalking如何收集Controller的链路
skywalking07 - skywalking如何收集Controller的链路对于我们在java中常用的注解@Controller、@RestController,在运行时,将会产生链路,在“链路追踪”中可以进行查看,那么来看看怎么收集的Instrumentation 指明拦截的类在org.apache.skywalking.apm.plugin.spring.mvc.v5.define.AbstractControllerInstrumentation抽象类的实现类ControllerI原创 2021-10-09 11:17:29 · 1066 阅读 · 0 评论 -
skywalking番外01 - 如何扩展%tid的logback占位符
skywalking番外01 - 如何扩展%tid的logback占位符配置 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>./原创 2021-04-13 23:32:20 · 4057 阅读 · 4 评论 -
skywalking06 - skywalking也可以作为日志中心收集日志了!
skywalking06 - skywalking也可以作为日志中心收集日志了!说起分布式日志收集,在技术选型上,一般有两大类: 第一类就是程序将日志写在本地文件,使用代理软件(flume/ filebeat之类)来收集,将其发送到对应的接收端,或是kafka这样的高性能队列集群中. 第二类是程序自己封装,将日志送到接受端.第一类代理类收集与程序运行无关,但是代理程序也可能存在挂掉而无法收集到日志的囧境,抑或是还需要一个监控系统来监控代理.第二类需要自己封装,要是没写好还容易丢失日志,或者严重的堆积原创 2021-04-11 00:01:33 · 9415 阅读 · 12 评论 -
skywalking05 - skywalking探针插件开发
skywalking05 - skywalking探针插件开发探针与toolkit注解的区别在上一章,我们通过了@Trace, @Tags, @Tag注解,对我们的方法进行了链路追踪. 但是它有这样三点不好:代码侵入, 直接写在了我们业务系统的代码里,但是它本身和业务一点都不相关.不可复用, 注解都加在具体的方法上,我们无法移植到其他工程中,完成链路追踪.限制性大, 只能注解在我们自己写的代码中,不能对其他三方包中的方法进行追踪.而探针则在这三个问题上,得到了解决.我们接下来的demo,将会原创 2021-02-05 21:19:18 · 1405 阅读 · 0 评论 -
skywalking04 - skywalking自定义链路追踪@Trace
skywalking04 - skywalking自定义链路追踪@Trace 当我们工程中,有些重要的方法,没有添加在链路中,而我们又需要时,就可以添加自定义链路追踪的Span,同时,我们还可以向链路的Span中添加一些自定义的属性(Tag)准备工程 工程我们采取上一章<skywalking03 - skywalking入门使用>使用到的demo工程,进行稍作改造.skywalking-plugin-example准备需要自定义链路追踪的方法private String tra原创 2021-02-05 19:15:11 · 7565 阅读 · 6 评论 -
skywalking03 - skywalking入门使用
skywalking03 - skywalking入门使用在部署好skywalking的后端(oap),以及界面(UI),我们就要尝试进行简单的使用了.本章所涉及的代码,以及skywalking官方的可运行安装包均提供在了github的demo工程里,可供阅后实践.skywalking-plugin-example准备一个DEMO工程 skywalking会收集工程中Controller的信息,作为他的端点(endpoint),所以我们准备一个Controller.skywalking03原创 2021-02-05 10:53:37 · 890 阅读 · 0 评论 -
skywalking02 - skywalking安装
skywalking02 - skywalking安装skywalking的安装教程在网上已经很多了,我觉得没必要重复写,分普通安装和docker安装,以及常用配置进行介绍\引入链接.建议按照官网进行安装.官网文档https://github.com/apache/skywalking/tree/master/docs整体安装步骤安装分析后端OAP需先安装好持久层的组件,或使用H2内存数据库安装UI界面安装Agent先准备好一个被代理的应用普通安装skywalkin原创 2021-01-27 22:14:50 · 393 阅读 · 0 评论 -
skywalking01 - skywalking介绍
skywalking01 - skywalking介绍什么是skywalking官网定义SkyWalking is an Observability Analysis Platform and Application Performance Management system.Provide distributed tracing, service mesh telemetry analysis, metric aggregation and visualization all-in-one原创 2021-01-27 21:36:12 · 427 阅读 · 3 评论