Commit Graph

1582 Commits

Author SHA1 Message Date
Chen Ziyan d37ee271c4
Add support for C3P0 connection pool tracing (#683) 2024-04-26 14:01:13 +08:00
ForrestWang123 1a01047007
Fix NPE in handleMethodException method of apm-jdk-threadpool-plugin. (#681) (#682)
Co-authored-by: forrestwang <forrest.wang@woo.network>
2024-04-19 08:51:09 +08:00
ForrestWang123 ec30b5f53d
Fix NPE in handleMethodException method of apm-jdk-threadpool-plugin. (#681)
Co-authored-by: forrestwang <forrest.wang@woo.network>
2024-04-18 21:19:50 +08:00
dingjiefei bc20c6e888
remove idleCount in druid plugin (#679) 2024-04-10 22:14:14 +08:00
吴晟 Wu Sheng eb1041675c
Release 9.2.0 begin 9.3.0 dev (#678) 2024-03-31 21:38:08 +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
cylx3126 466f173f98
Fix not tracing in HttpClient v5 when HttpHost(arg[0]) is null but `RoutingSupport#determineHost` works. (#674)
Skywalking hc5 plugin worked the same as hc4 plugin: if the arg[0] is null, skip creating the exitSpan. this will cause a bug in hc5: when the HttpHost is null but InternalHttpClient determines the host from ClassicHttpRequest, InternalHttpClient will send the request but Skywalking will not record it.
2024-03-12 23:12:34 +08:00
cylx3126 f227543fc3
Fix a bug in Spring Cloud Gateway if HttpClientFinalizer#send does not invoke, the span created at NettyRoutingFilterInterceptor can not stop. (#672) 2024-03-07 15:55:08 +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
吴晟 Wu Sheng b1c96da0d4
Rename system env name from `sw_plugin_kafka_producer_config` to `SW_PLUGIN_KAFKA_PRODUCER_CONFIG` (#668) 2024-01-22 13:50:20 +08:00
peachisai eebc4512ec
Convert the Redisson lock span into an async span (#667) 2024-01-21 12:10:39 +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
Brandon Fergerson 9c7f1316d0
fix: Vertx plugin, 400+ status codes should cause SLA fail (#662) 2024-01-04 08:56:31 +08:00
Gong Dewei 4f2f81e181
Fix re-transform bug when enhanced class proxy parent method (#659) 2023-12-23 00:01:30 +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
吴晟 Wu Sheng 4dd00e97e9
Release 9.1 and begin 9.2.0 (#652) 2023-12-01 23:31:19 -08:00
weixiang1862 6220af1172
Optimize plugin selector logic. (#651) 2023-11-30 17:24:30 -08:00
kezhenxu94 5063985516
Bump up grpc (#650) 2023-11-28 08:58:35 -08:00
Chen Ziyan e71b9e899e
Fix PostgreSQL Jdbc URL parsing exception (#649) 2023-11-17 21:37:13 +08:00
吴晟 Wu Sheng c82287e1dd
Add JDK21 Support (#647) 2023-11-10 14:56:48 +08:00
Gong Dewei db54c65d09
Optimize bytebuddy type description performance (#637)
### Improve the performance of type description of byte-buddy
The goal is to get the original class description at re-transform, so as to generate consistent results when the Skywalking agent is enhanced again (including implementing the EnhancedInstance interface, auxiliary fields and methods, etc.)

The previous type description used the `AgentBuilder.DescriptionStrategy.Default.POOL_FIRST` policy to get origin type description, which slows down the application startup, due to heavy I/O operations and parsing bytecode. 

New way is to remove dynamic fields, methods and interfaces generated by SkyWalking Agent from `TypeDescription`, and **make it as origin type descripton**.

**Key feature** :  
* No need to cache `TypeDescription` objects, less memory used.
* It only applies to the re-transform class processing flow and does not affect the startup process.

**Process flow:**
1. Find `TypeDescription` from commonly used type cache, such as primitive class.
2. Delegate to `AgentBuilder.DescriptionStrategy.Default.HYBRID`
3. Wrap `TypeDescription` by `SWTypeDescriptionWrapper` , remove fields, methods, interface generated by SkyWalking. 

**Relative Issue:**  https://github.com/apache/skywalking/issues/11460
2023-11-03 09:45:28 +08:00
Chen Ziyan 2721438820
Fix Impala Jdbc URL (including schema without properties) parsing exception (#644) 2023-11-02 15:32:31 +08:00
peachisai 0b80f3d424
Add a netty-4.1.x plugin to trace http (#625) 2023-10-29 16:18:25 +08:00
Wayne Chu c15ac3071e
Support collect ZGC memory pool metrics (#622) 2023-10-20 12:38:18 +08:00
抹布先生M 6c4af4e7d1
Fix oracle lower case tns url parse error. (#11399) (#621) 2023-10-13 04:44:56 -05: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
weixiang1862 5f61c5e31d
Optimize spring-cloud-gateway 2.1.x, 3.x witness class. (#610) 2023-09-15 14:39:48 +08:00
elmer e6f12b5a7a
add max length configuration for service_name and instance_name (#609) 2023-09-15 11:48:36 +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
xiaqi1210 922a5001fa
Fix the issue of createSpan failure caused by invalid request URL in HttpClient 4.x/5.x plugin (#603) 2023-09-13 08:17:20 +08:00
袁世超 44b8f669a9
Optimize ElasticSearch 6.x 7.x plugin compatibility (#607) 2023-09-12 14:33:33 +08:00
袁世超 bc7447a2c2
Fix hbase onConstruct NPE in the file configuration scenario (#602) 2023-09-01 09:51:54 +08:00
吴晟 Wu Sheng 6e47084501
Release 9.0.0 and set 9.1.0-SNAPSHOT for next iteration (#600)
* [maven-release-plugin] prepare release v9.0.0

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

* Create changes-9.0.0.md

* Update CHANGES.md

---------

Co-authored-by: Wu Sheng <“wu.sheng@foxmail.com”>
2023-08-29 11:57:56 +08:00
xyyz150 738201c33a
add rocketmq-client-java-5.x plugin (#598) 2023-08-28 21:25:23 +08:00
gzlicanyi afa257811b
Fix lettuce NullPointerException (#599) 2023-08-28 19:01:03 +08:00
peachisai 9a65fcbd6b
Staticize the tags for preventing synchronization in JDK 8 (#596) 2023-08-21 23:41:19 +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
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
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
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
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
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
mrproliu d357bdef7a
Support keep trace profiling when cross-thread (#479) 2023-03-14 17:55:28 +08:00
DarkerEcho f04866cf24
Fix thrift plugin generate duplicate traceid (#467) 2023-03-05 18:10:42 +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 8b93e4aa68
move apm-armeria-0.84.x-plugin and apm-armeria-0.85.x-plugin to apm-armeria-plugins (#465) 2023-02-26 22:42:27 +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
kezhenxu94 0b1af4fd18
Fix Spring 6 test case (#463) 2023-02-24 16:17:37 +08:00
Chenfx-git 20c8b98cd9
Fix servicecomb plugin trace break in cse case (#460) 2023-02-23 15:35:59 +08:00
Kanro 6b35f06d15
Fix gRPC plugin not working for server side in some case (#457) 2023-02-15 16:38:24 +08:00
Kanro bca5c8e628
Refactor kotlin coroutine plugin with CoroutineContext (#453) 2023-02-14 18:10:21 +08:00
Superskyyy (AWAY, busy graduating | Debug 人) 5250ecfe2e
Fix oracle url parser ignoring actual port (#456)
* Fix oracle url parser missed case

* Add changelog
2023-02-14 03:22:01 -05: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