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