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
吴晟 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
吴晟 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
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
吴晟 Wu Sheng
8c989b74e9
Release 8.14.0, begin for 8.15.0 iteration ( #440 )
2023-01-12 11:00:25 +08:00
alan
0d8f758bf0
fix CVE-2022-41915 ( #434 )
2022-12-28 17:26:25 +08:00
Marcin Grzejszczak
4f9c2d8527
Adds Micrometer Observation instrumentation ( #401 )
2022-12-06 18:51:12 +08:00
Stephen Ni
51161ae6a5
Report the agent version to OAP ( #397 )
2022-11-29 09:16:00 +08:00
吴晟 Wu Sheng
91dfb707ec
Bump up byte-buddy to 1.12.19 ( #388 )
2022-11-18 10:40:08 +08:00
吴晟 Wu Sheng
70b3e88b0f
Release 8.13.0, begin 8.14.0 iteration ( #378 )
2022-11-06 21:46:51 +08:00
alan
54e3542406
Bump up grpc to 1.50.0 to fix CVE-2022-3171 ( #350 )
2022-10-18 00:08:51 +08:00
吴晟 Wu Sheng
b8f99e95e5
Begin 8.13.0 iteration, 8.12.0 release is on vote ( #301 )
...
* [maven-release-plugin] prepare release v8.12.0
* [maven-release-plugin] prepare for next development iteration
* Create changes-8.12.0.md
* Update CHANGES.md
2022-09-01 16:51:48 +08:00
pg.yang
92665b8add
Add plugin to support NATS Java client ( #298 )
2022-08-29 19:44:20 +08:00
YoyoFx
881a42d228
Fix CVE-2022-24823 and CVE-2022-25647 Vulnerability ( #288 )
2022-08-05 08:17:03 +08:00
吴晟 Wu Sheng
7b256a61c1
* Upgrade byte-buddy to 1.12.13, and adopt byte-buddy APIs changes. ( #287 )
2022-08-02 09:14:31 +08:00
Leibniz.Hu
a60a61b83d
Add support for RESTEasy 4.x ( #265 )
...
- Most of the codes are copied from RESTEasy 3.x
- The plugin test cases are copied from https://github.com/apache/skywalking-java/pull/169 , which have been approved by its original author @carlfranz (https://github.com/carlfranz ) through https://github.com/apache/skywalking-java/pull/265#issuecomment-1169876704
- Plugin codes are polished to adopt RESTEasy new APIs
- Test cases passed.
2022-06-29 23:10:55 +08:00
吴晟 Wu Sheng
8de87f5556
Begin 8.12.0 iteration ( #214 )
...
* [maven-release-plugin] prepare release v8.11.0
* [maven-release-plugin] prepare for next development iteration
* Create changes-8.11.0.md
* Update CHANGES.md
2022-06-18 12:05:56 +08:00
吴晟 Wu Sheng
0ac754730c
Begin 8.11.0 iteration ( #155 )
2022-04-13 08:51:17 +08:00
吴晟 Wu Sheng
395ce4f86a
Release 8.9.0 and set next version to 8.10.0 ( #101 )
...
* [maven-release-plugin] prepare release v8.9.0
* [maven-release-plugin] prepare for next development iteration
2022-01-28 21:23:43 +08:00
吴晟 Wu Sheng
5bd41ec0af
Bump up gRPC to 1.44.0, fix relative CVEs. ( #100 )
2022-01-28 16:01:44 +08:00
kezhenxu94
005e334dbc
Upgrade grpc-java to 1.42.1 and protoc to 3.19.1 to allow using native Mac osx-aarch_64 artifacts ( #74 )
2021-11-29 11:59:17 +08:00
wankai123
ec1b7a19a4
Initialize 8.9.0 iteration ( #59 )
2021-10-27 22:57:09 +08:00
xu1009
9101f691fb
Add okhttp2.x plugin ( #49 )
...
Co-authored-by: litexu <litexu@tencent.com>
2021-10-25 22:40:37 +08:00
吴晟 Wu Sheng
43f2069080
Upgrade byte-buddy to 1.11.18 ( #30 )
2021-09-23 11:42:52 +08:00
Jiajing LU
a7a74a4067
Chore: Add benchmark and improve docs for exception-ignore plugin ( #25 )
...
* add benchmark and improve docs
Signed-off-by: Megrez Lu <lujiajing1126@gmail.com>
* modify changelog and copy benchmark results to the docs
2021-09-14 16:38:54 +08:00
吴晟 Wu Sheng
9c206bea5c
Add compiling doc ( #23 )
2021-09-13 18:14:36 +08:00
kezhenxu94
a6b174a09d
Set up CI and clean up ( #3 )
2021-08-27 07:50:30 +08:00
Wu Sheng
00b5149ecf
Remove unnecessary moduels
2021-08-26 22:03:53 +08:00
吴晟 Wu Sheng
1c5e22a7be
Begin 8.8.0 iteration ( #7395 )
...
* [maven-release-plugin] prepare release v8.7.0
* [maven-release-plugin] prepare for next development iteration
2021-07-30 23:01:09 +08:00
吴晟 Wu Sheng
1ba738a04b
Update pom.xml ( #7391 )
2021-07-29 22:43:08 +08:00
kezhenxu94
ab6285c5a4
Add JDK 16 to test matrix, move bom to backend profile ( #7139 )
2021-06-20 23:24:02 +08:00
kezhenxu94
3536b3c1c4
Extract dependency management to a bom ( #7136 )
2021-06-20 20:57:26 +08:00
Gao Hongtao
ca155dee05
Upgrade several old dependencies ( #7090 )
2021-06-10 08:35:31 +08:00
吴晟 Wu Sheng
5eb1021639
Initialize 8.7.0 iteration ( #7078 )
2021-06-08 07:41:09 +08:00
吴晟 Wu Sheng
17e820f156
Begin 8.6.0 iteration ( #6721 )
2021-04-09 23:01:00 +08:00
hailin0
78487ad983
Upgrade lombok to 1.18.16 ( #6506 )
2021-03-07 18:54:45 +08:00
吴晟 Wu Sheng
cdfe6ab358
Begin the 8.5.0 iteration ( #6302 )
...
* [maven-release-plugin] prepare release v8.4.0
* [maven-release-plugin] prepare for next development iteration
2021-02-02 08:01:49 +08:00
Zhenxu Ke
2739b71d77
chore: fix occasional build failure on Mac ( #6293 )
2021-01-31 22:52:48 +08:00
Zhenxu Ke
98d0430b91
chore: set up license-eye to check license header ( #6200 )
2021-01-14 22:08:37 +08:00
Zhenxu Ke
6101163513
Support Envoy {AccessLog,Metrics}Service API V3 ( #6116 )
2021-01-01 21:48:38 +08:00
Lu Jiajing
9b7e663cc1
Update byte-buddy to 1.10.19 ( #6037 )
2020-12-21 14:07:39 +08:00
吴晟 Wu Sheng
af19c72a7e
8.3.0 tagged, open for 8.3.0 iteration. ( #5920 )
...
* [maven-release-plugin] prepare release v8.3.0
* [maven-release-plugin] prepare for next development iteration
2020-11-29 11:01:20 +08:00
kezhenxu94
8da9bf94ab
ALS analyzer based on Envoy metadata exchange ( #5800 )
2020-11-09 00:01:12 +08:00
kezhenxu94
f92a7bf897
Start next iteration 8.3.0 ( #5719 )
...
* [maven-release-plugin] prepare release v8.2.0
* [maven-release-plugin] prepare for next development iteration
2020-10-24 19:30:29 +08:00
吴晟 Wu Sheng
103cf00672
Support JDK 11 compiling and upgrade dependencies ( #5579 )
...
* Upgrade dependencies and make the JDK11 compiling passed.
* Update license and fix license check file.
* Add CI for JDK11 compiling.
* Update doc.
2020-09-29 10:34:21 +08:00
Thomas M. DuBuisson
d2eabdc35a
Add a muse configuration file ( #5557 )
...
* Add a muse configuration file
A muse configuration and file is necessary to educate the MuseDev CI
system on how to build Skywalking.
* Exclude .muse/* files from license check
2020-09-25 14:58:00 +08:00
xbkaishui
f397c1bb49
support build individual module ( #5489 )
...
* support build single module
* enforce maven version must greater than 3.6
* update build doc to support maven3.6+
2020-09-16 08:12:42 +08:00
Lu Jiajing
9442a51c11
JsonLogger implementation ( #5356 ) ( #5357 )
2020-08-29 23:17:29 +08:00
zhang-wei
3d0522f9de
Add OALListener missing code ( #5296 )
2020-08-12 08:12:53 +08:00
吴晟 Wu Sheng
2f2840cbf5
Begin 8.2.0 iteration. ( #5211 )
...
* [maven-release-plugin] prepare release v8.1.0
* [maven-release-plugin] prepare for next development iteration
2020-07-31 20:15:27 +08:00