Commit Graph

379 Commits

Author SHA1 Message Date
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
空青 9cb5a13d44
Add plugin to support clickhouse jdbc (#455)
* Add plugin to support clickhouse-jdbc-0.3.2.*
* Rename clickhouse-0.3.x-plugin to clickhouse-0.3.1-plugin
2023-02-12 22:50:19 +08:00
Kanro ad1389347a
Enhance kotlin coroutine plugin for stack tracing (#451) 2023-02-09 11:28:23 +08:00
xzyJavaX 492fb6e356
refactor pipeline in jedis-plugin (#445) 2023-02-03 20:56:03 +08:00
kezhenxu94 62266673ff
Add plugin for Spring 6, set development baseline to JDK 17, remove Powermock entirely (#444) 2023-01-31 19:29:32 +08:00
Marcin Grzejszczak 8a7fe75624
Activate Mircometer Observation CI test (#443) 2023-01-26 22:55:39 +08:00
叶梦飞 ac84d57023
Expose complete Tracing APIs in the tracing toolkit (#442) 2023-01-24 08:01:18 +08:00
xzyJavaX f366503d58
Enhance lettuce plugin to adopt uniform tags (#441) 2023-01-16 11:46:39 +08:00
xzyJavaX 92b076c281
Enhance redisson plugin to adopt uniform tags (#438) 2023-01-11 23:09:19 +08:00
Jiajing LU ea1c204c95
add Kafka Clients 3.x support (#429) 2022-12-23 13:48:50 +08:00
Marcin Grzejszczak 4f9c2d8527
Adds Micrometer Observation instrumentation (#401) 2022-12-06 18:51:12 +08:00
Stephen Ni a4c3c85258
Add tags `mq.message.keys` and `mq.message.tags` for RocketMQ producer span (#404) 2022-12-03 23:46:05 +08:00
pg.yang 364a4af4b1
Add micronauthttpclient,micronauthttpserver,memcached,ehcache,guavacache,jedis,redisson plugin config properties to agent.config (#402) 2022-12-01 22:16:08 +08:00
Stephen Ni df957f9d5a
Lock the maven-compiler-plugin version to avoid the warning log (#400) 2022-11-30 00:33:38 +08:00
Stephen Ni 6b33d053ea
Fix undertow-worker-thread-pool-scenario didn't lock Spring boot version (#399) 2022-11-28 22:54:47 +08:00
pg.yang add2bc42ca
Polish JDBC plugins to make DBType accurate (#396) 2022-11-23 14:36:18 +08:00
Stephen Ni d541b7bc63
Compatible with 3.x and 4.x RabbitMQ Client (#389) 2022-11-20 14:19:45 +08:00
Stephen Ni c90d24e66d
Upgrade agent-test-tools and polish dubbo plugin (#387) 2022-11-19 16:27:25 +08:00
Stephen Ni 7eb796bd28
Support collecting dubbo thread pool metrics (#382) 2022-11-17 09:56:19 +08:00
Stephen Ni bcbbc2bfcc
Rename`JDBI` to `JDBC` (#381) 2022-11-14 11:58:35 +08:00