Commit Graph

6982 Commits

Author SHA1 Message Date
吴晟 Wu Sheng c6331df795
Fix CHANGES.md. Move other features out of kernel update. (#589)
Other changes should be in the feature list.
2023-07-30 10:15:14 +08:00
xzyJavaX c38a19c6c6
fix the conditions for resetting uuid in dynamic configuration (#588) 2023-07-29 04:29:17 +09:00
Leibniz.Hu 6baa4a7baa
Add support for RESTEasy 6.x (#587) 2023-07-27 07:18:05 -07:00
xiaqi1210 fbabc3d3ab
avoid ThreadPoolExecutor duplicate enhancement (#582)
Co-authored-by: xiaqi <xiaqi@51xf.cn>
2023-07-25 06:50:30 -07:00
xzyJavaX d5ec43848f
merge two instrumentation classes to avoid duplicate enhancements in mysql plugins (#581) 2023-07-19 05:56:37 -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
xzyJavaX 6229b22a8f
update witness class in springmvc-annotation-5.x-plugin (#571)
Co-authored-by: 熊哲源 <xiongzheyuan@shouqianba.com>
2023-07-07 11:31:36 +02:00
alan b9075ce7ad
fix CVE-2023-2976 and CVE-2023-34462 (#570) 2023-07-05 14:41:01 +02:00
peachisai 88d8e6398f
Support to trace redisson lock (#567) 2023-07-02 15:16:23 +02:00
gzlicanyi 7005f2d466
Feature/fix clickhouse with druid (#566) 2023-07-01 00:01:40 +08: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
吴晟 Wu Sheng b9dd0f24b7
Update version to 9.0.0 with new change logs. (#563) 2023-06-25 09:18:28 +08:00
吴晟 Wu Sheng 8d0ecfcacb
Remove QQ groups from official channels (#562) 2023-06-24 20:57:14 +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
xiaqi1210 3497199f98
update changes.md for Fixing issue #10925 (#558) 2023-06-16 23:03:39 +08:00
gzlicanyi 7af3f06713
Fix the thread safety bug of finishing operation for the span named "SpringCloudGateway/sendRequest" (#555) 2023-06-16 22:25:50 +08:00
xiaqi1210 35388ac062
Fix the apm-jdk-threadpool-plugin does not work in certain scenarios (#556) 2023-06-16 21:26:34 +08:00
weihubeats 6621f82739
add RocketMQ 5.x plugin (#536) 2023-06-07 22:05:08 +08:00
gzlicanyi 5002da5a13
Feature/fix spring data hadoop (#546) 2023-06-06 16:21:03 +08:00
xu1009 af4ddc61c9
Support jetty 11 (#545) 2023-06-06 09:39:34 +08:00
xu1009 c891bb595d
remove zgc pause space (#544) 2023-06-01 22:04:59 +08:00
xu1009 97337063f8
Support jdk17 zgc (#541) 2023-06-01 13:06:15 +08:00
吴晟 Wu Sheng d074a0a063
Release 8.16.0 and set 8.17.0-SNAPSHOT for next iteration (#543) 2023-05-31 22:46:05 +08:00
gzlicanyi dc602b7d04
Fix deserialization of kafka producer json config in the kafka-reporter-plugin. (#542) 2023-05-31 21:27:18 +08:00
GuiSong c04a714725
[Feature] Support to configure custom decode method for kafka configurations (#540) 2023-05-31 18:03:35 +08:00
gzlicanyi ddc68e27e2
Fix the gson dependency in the kafka-reporter-plugin. (#538) 2023-05-26 07:02:18 -04:00
xu1009 9e26f26f0b
Support monitor grizzly thread pool (#533) 2023-05-25 19:30:35 -04:00
Cathy de730d7dde
Fix possible IllegalStateException when using Micrometer (#531) 2023-05-19 08:07:24 +08:00
吴晟 Wu Sheng 079ab17e59
Remove twitter handler from link check (#532)
Somehow Twitter changed the rules. This can't be checked by HTTP HEAD.
2023-05-18 08:27:31 +08:00
xu1009 28fcf17642
Support grizzly web server trace (#528) 2023-05-15 08:18:52 +08:00
guoxiolong 4eb07e3c15
Add JBoss support through mount agent by ModuleClassloader. (#527)
- Change the classloader to locate the agent path in AgentPackagePath, from `SystemClassLoader` to AgentPackagePath's loader.
2023-05-09 23:34:03 +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
Jiajing LU 04603b2027
Chore: fix exclusion rules in maven-shade-plugin (#525)
* exclude checkerframework j2objc, and protos
2023-05-08 12:12:02 +08:00
破晓长空 e09809f318
Fix ClassCastException when mssql inserting data (#10741) (#524) 2023-05-05 17:05:59 +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
吴晟 Wu Sheng 7a6334d2b5
Begin 8.16.0 iteration (#501)
* [maven-release-plugin] prepare release v8.15.0

* [maven-release-plugin] prepare for next development iteration

* Create changes-8.15.0.md

* Set changes.md for 8.16.0
2023-04-04 09:15:21 +08:00
吴晟 Wu Sheng f179b65994
Build a dummy(empty) javadoc of finagle and jdk-http plugins (#499)
* Build a dummy(empty) javadoc of finagle and jdk-http plugins

* Add javadoc check for the CI.
2023-04-03 15:24:31 +08:00
mrproliu 81afeddd08
Update the endpoint name format of the `Undertow` (#497) 2023-04-02 11:12:24 +08:00
mrproliu db7a14d167
Fix the profiling segment count not correct (#491) 2023-03-29 15:31:28 +08:00
吴晟 Wu Sheng 89e5262f99
Polish docs for preparing release. (#490) 2023-03-29 11:21:50 +08:00
xu1009 1f30e38864
Support MySQL plugin tracing SQL parameters when useServerPrepStmts (#489) 2023-03-28 22:45:55 +08:00
hyhyf c0b4447540
Fix a thread leak in `SamplingService` when updated sampling policy in the runtime. (#487) 2023-03-27 22:15:10 +08:00
SWHHEART e91514c634
Fix unexpected whitespace of the command catalogs in several Redis plugins. (#480) 2023-03-23 20:46:04 +08:00