Commit Graph

600 Commits

Author SHA1 Message Date
Zixin Zhou d53f04b7bf
Add Caffeine plugin as optional (#743) 2024-12-29 08:16:05 +08:00
yqw570994511 be3d09240a
[Feature] Support Tracing for GlobalFilter and GatewayFilter in Gateway (#736) 2024-12-16 15:03:14 +08:00
youjie23 fc86413aae
Support mongo ``db.instance`` tag、``db.collection`` tag and ``AggregateOperation`` span in mongodb-3.x-plugin and mongodb-4.x-plugin (#728) 2024-11-28 13:20:50 +08:00
weixiang1862 7536424165
Add agent self-observability. (#716) 2024-09-15 18:04:09 +08:00
pg.yang 24ec663a34
Upgrade nats plugin to expand support to 2.16.5 (#711) 2024-07-27 12:36:04 +08:00
darkness-2nd 744eb1e5d8
Support Kafka 3.7+ (#707) 2024-07-25 16:33:03 +08:00
寻找的人 0fc3cd86e8
Add a plugin that supports the Solon framework. (#697) 2024-06-29 09:44:23 +08:00
吴晟 Wu Sheng e54d8a534c
Remove Oracle scenario from testing. (#699) 2024-06-22 09:36:26 +08:00
Chen Ziyan f736b371d3
Support for tracing the callbacks of async methods in elastiicsearch-6.x/7.x-plugin (#694) 2024-05-28 00:18:56 +08:00
Chen Ziyan ffbd90c3d3
Fix bugs in Redisson plugin (#693) 2024-05-22 14:28:58 +08:00
Chen Ziyan 4dfc1e85b5
Fix method name missing in spring-plugins:scheduled-annotation-plugin with spring 6.1.x (#691) 2024-05-14 20:21:27 +08:00
Chen Ziyan d37ee271c4
Add support for C3P0 connection pool tracing (#683) 2024-04-26 14:01:13 +08:00
dingjiefei bc20c6e888
remove idleCount in druid plugin (#679) 2024-04-10 22:14:14 +08:00
pg.yang 30d60b9c61
Update Jedis 4.x plugin to support Sharding and Cluster models. (#677) 2024-03-31 20:13:03 +08:00
张呈熹 a751e324f6
Support across thread tracing for SOFA-RPC (#675) 2024-03-25 10:53:40 +08:00
吴晟 Wu Sheng 4adb343091
Archive the expired plugins `impala-jdbc-2.6.x-plugin`. (#673) 2024-03-07 11:31:08 +08:00
Chen Ziyan 5cd52658c6
Support for ActiveMQ-Artemis messaging tracing. (#670) 2024-01-29 16:01:20 +08:00
Chen Ziyan bbb177a893
Support tracing for async producing, batch sync consuming, and batch async consuming in rocketMQ-client-java-5.x-plugin (#665) 2024-01-21 10:29:39 +08:00
Chen Ziyan d5b99f9434
add support for HttpExchange along with webflux-webclient-6.x (#664) 2024-01-11 19:58:42 +08:00
Chen Ziyan 7aec68263b
Support for tracing webflux-6.x and gateway-4.x (#661) 2023-12-21 16:04:21 +08:00
xubinghao c5d62cb97a
Support forkjoinpool plugin in JDK11 (#656) 2023-12-18 17:01:53 +08:00
Chen Ziyan fdc1e97c48
Fix NoSuchMethodError in mvc-annotation-commons&change deprecated method (#658) 2023-12-15 14:45:18 +08:00
peachisai 0b80f3d424
Add a netty-4.1.x plugin to trace http (#625) 2023-10-29 16:18:25 +08:00
hxd123456 087475ebbe
Add mongoDB plugin report db instance info (#618)
* [#11252]add mongodb v4 plugin,support report instance info
2023-10-08 11:21:33 +08:00
w2dp 6f80861657
Fix an error status bug in the httpasyncclient plugin (#608)
Co-authored-by: 刘颖 <liuying03196@51shebao.com>
2023-09-14 13:36:29 +08:00
袁世超 44b8f669a9
Optimize ElasticSearch 6.x 7.x plugin compatibility (#607) 2023-09-12 14:33:33 +08:00
xyyz150 738201c33a
add rocketmq-client-java-5.x plugin (#598) 2023-08-28 21:25:23 +08:00
peachisai e31b9bb6a2
Add nacos-client 2.x plugin (#593) 2023-08-18 08:45:46 +08:00
Yang-Yule e7394a87da
Support asynchronous invocation in jetty client 9.0 and 9.x plugin (#590) 2023-08-08 12:02:48 +08:00
Leibniz.Hu 6baa4a7baa
Add support for RESTEasy 6.x (#587) 2023-07-27 07:18:05 -07:00
xu1009 d8dcc79bad
fix jedis 2.x plugin bug and add test for redis cluster (#580)
* fix bug and add test for redist cluster

* add test to flow

---------

Co-authored-by: litexu <litexu@tencent.com>
2023-07-10 21:27:10 +08:00
DarknessTM c9a61701f1
Support access the tracer context in spring gateway filter (#539)
Co-authored-by: darknesstm <askkoy@163.com>
2023-07-07 20:26:18 +02:00
peachisai 88d8e6398f
Support to trace redisson lock (#567) 2023-07-02 15:16:23 +02:00
dd1k d42e24583d
Add plugin to support Aerospike Java client (#565) 2023-06-29 23:32:05 +08:00
weixiang1862 e464f18ad9
Add WebSphere Liberty 23.x plugin.(#10887) (#560) 2023-06-25 16:50:18 +08:00
Gong Dewei 267aba8fad
Improve bytebuddy class enhance for retransform classes (#561)
* SWAuxiliaryTypeNamingStrategy
Auxiliary type name pattern: <origin_class_name>$<name_trait>$auxiliary$<auxiliary_type_instance_hash>

* DelegateNamingResolver
Interceptor delegate field name pattern: <name_trait>$delegate$<class_name_hash>$<plugin_define_hash>$<intercept_point_hash>

* SWMethodNameTransformer
Renamed origin method pattern: <name_trait>$original$<method_name>$<method_description_hash>

* SWImplementationContextFactory
Method cache value field pattern: cachedValue$<name_trait>$<origin_class_name_hash>$<field_value_hash>
Accessor method name pattern:  <renamed_origin_method>$accessor$<name_trait>$<origin_class_name_hash>

Here is an example of manipulated enhanced class with new naming policies of auxiliary classes, fields, and methods

```java
 import sample.mybatis.controller.HotelController$sw$auxiliary$19cja42;
 import sample.mybatis.controller.HotelController$sw$auxiliary$p257su0;
 import sample.mybatis.domain.Hotel;
 import sample.mybatis.service.HotelService;

 @RequestMapping(value={"/hotel"})
 @RestController
 public class HotelController
 implements EnhancedInstance {
     @Autowired
     @Lazy
     private HotelService hotelService;
     private volatile Object _$EnhancedClassField_ws;

     // Interceptor delegate fields
     public static volatile /* synthetic */ InstMethodsInter sw$delegate$td03673$ain2do0$8im5jm1;
     public static volatile /* synthetic */ InstMethodsInter sw$delegate$td03673$ain2do0$edkmf61;
     public static volatile /* synthetic */ ConstructorInter sw$delegate$td03673$ain2do0$qs9unv1;
     public static volatile /* synthetic */ InstMethodsInter sw$delegate$td03673$fl4lnk1$m3ia3a2;
     public static volatile /* synthetic */ InstMethodsInter sw$delegate$td03673$fl4lnk1$sufrvp1;
     public static volatile /* synthetic */ ConstructorInter sw$delegate$td03673$fl4lnk1$cteu7s1;

     // Origin method cache value field
     private static final /* synthetic */ Method cachedValue$sw$td03673$g5sobj1;

     public HotelController() {
         this(null);
         sw$delegate$td03673$ain2do0$qs9unv1.intercept(this, new Object[0]);
     }

     private /* synthetic */ HotelController(sw.auxiliary.p257su0 p257su02) {
     }

     @GetMapping(value={"city/{cityId}"})
     public Hotel selectByCityId(@PathVariable(value="cityId") int n) {
         // call interceptor with auxiliary type and parameters and origin method object
         return (Hotel)sw$delegate$td03673$ain2do0$8im5jm1.intercept(this, new Object[]{n}, new HotelController$sw$auxiliary$19cja42(this, n), cachedValue$sw$td03673$g5sobj1);
     }

     // Renamed origin method
     private /* synthetic */ Hotel sw$origin$selectByCityId$a8458p3(int cityId) {
/*22*/         return this.hotelService.selectByCityId(cityId);
     }

     // Accessor of renamed origin method, calling from auxiliary type
     final /* synthetic */ Hotel sw$origin$selectByCityId$a8458p3$accessor$sw$td03673(int n) {
         // Calling renamed origin method
         return this.sw$origin$selectByCityId$a8458p3(n);
     }

     @Override
     public Object getSkyWalkingDynamicField() {
         return this._$EnhancedClassField_ws;
     }

     @Override
     public void setSkyWalkingDynamicField(Object object) {
         this._$EnhancedClassField_ws = object;
     }

     static {
         ClassLoader.getSystemClassLoader().loadClass("org.apache.skywalking.apm.dependencies.net.bytebuddy.dynamic.Nexus").getMethod("initialize", Class.class, Integer.TYPE).invoke(null, HotelController.class, -1072476370);
         // Method object
         cachedValue$sw$td03673$g5sobj1 = HotelController.class.getMethod("selectByCityId", Integer.TYPE);
     }
 }
```

Auxiliary type of Constructor : 
```java
class HotelController$sw$auxiliary$p257su0 {
}
```

Auxiliary type of  `selectByCityId` method: 
```java
class HotelController$sw$auxiliary$19cja42
implements Runnable,
Callable {
    private HotelController argument0;
    private int argument1;

    public Object call() throws Exception {
        return this.argument0.sw$origin$selectByCityId$a8458p3$accessor$sw$td03673(this.argument1);
    }

    @Override
    public void run() {
        this.argument0.sw$origin$selectByCityId$a8458p3$accessor$sw$td03673(this.argument1);
    }

    HotelController$sw$auxiliary$19cja42(HotelController hotelController, int n) {
        this.argument0 = hotelController;
        this.argument1 = n;
    }
}
```
2023-06-24 20:50:10 +08:00
xzyJavaX b72e984289
fix npe in guava eventbus plugin (#559)
Co-authored-by: 熊哲源 <xiongzheyuan@shouqianba.com>
2023-06-21 14:32:18 +08:00
weihubeats 6621f82739
add RocketMQ 5.x plugin (#536) 2023-06-07 22:05:08 +08:00
xu1009 af4ddc61c9
Support jetty 11 (#545) 2023-06-06 09:39:34 +08:00
xu1009 9e26f26f0b
Support monitor grizzly thread pool (#533) 2023-05-25 19:30:35 -04:00
xu1009 28fcf17642
Support grizzly web server trace (#528) 2023-05-15 08:18:52 +08:00
xu1009 6e6aafe310
fix jedis can not get host info when use jedis 3.3.x+ (#526) 2023-05-08 22:50:17 +08:00
xu1009 dc9f7d130d
support jersey rest framework (#520) 2023-05-02 17:19:15 +08:00
xu1009 3ad9f249d9
support jetty server work thread pool metric monitor (#517)
* support jetty server work thread pool metric monitor

Co-authored-by: litexu <litexu@tencent.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2023-05-02 16:34:06 +08:00
xu1009 9144a06ca1
clickhouse-jdbc-plugin support trace sql parameters when enable plugin.jdbc.trace_sql_parameters (#515)
Co-authored-by: litexu <litexu@tencent.com>
2023-04-25 18:12:19 +08:00
xu1009 02dad132b2
Support forkjoinpool plugin (#505) 2023-04-17 17:45:09 +08:00
Jiajing LU e08c4583a3
Exclude synthetic methods for WitnessMethod (#504) 2023-04-14 17:23:47 +08:00
mrproliu 81afeddd08
Update the endpoint name format of the `Undertow` (#497) 2023-04-02 11:12:24 +08:00
xzyJavaX 122d0064f0
fix tomcat-10x-plugin and add test case to support tomcat7.x-8.x-9.x (#466) 2023-03-03 17:31:02 +08:00
weiyang.zhang e648ca2145
Adapt Armeria's plugins to the latest version 1.22.x (#459) 2023-02-26 21:25:43 +08:00