skywalking夸线程支持

配置

plugin.jdkthreading.threading_class_prefixes=com.

com. 是业务自定义Runnable或者Callable的包名前缀,匹配规则是前缀匹配

使用限制:

  • 线程的Runnable或者Callable需要继承自定义实现
  • 不支持lambada表达式
  • 在线程池使用中,线程每次要new出来

例子:

自定义Runnable或者Callable

skywalking夸线程支持_第1张图片
线程池使用时,每次new线程

ThreadPoolTaskExecutor.execute 执行的时候每次创建线程类。这时候的线程类RestTemplateThread其实是task任务,不是具体的线程。线程池的线程其实是其自有的work线程
skywalking夸线程支持_第2张图片

实现原理

skywalking夸线程支持_第3张图片
每次在java.util.concurrent.Callable和java.lang.Runnable 创建的的时候都会进入构造器拦截器,将当前上下文传入skywalking的动态字段中
skywalking夸线程支持_第4张图片

你可能感兴趣的:(agent,skywalking,skywalking,java,jvm)