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
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
GuiSong
c04a714725
[Feature] Support to configure custom decode method for kafka configurations ( #540 )
2023-05-31 18:03:35 +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
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
02dad132b2
Support forkjoinpool plugin ( #505 )
2023-04-17 17:45:09 +08:00
吴晟 Wu Sheng
89e5262f99
Polish docs for preparing release. ( #490 )
2023-03-29 11:21:50 +08:00
mrproliu
d357bdef7a
Support keep trace profiling when cross-thread ( #479 )
2023-03-14 17:55:28 +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
空青
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
Alceatraz Warprays
6466b2751d
Update trace-ignore-plugin.md ( #452 )
...
/agent/optional-plugins/apm-trace-ignore-plugin/apm-trace-ignore-plugin.config does not exist anymore, `optional-plugins` contains no folder in the latest release.
2023-02-07 12:00:31 +08:00
2han9wen71an
b4bf6fd75d
How to make SkyWalking agent works in `OSGI` environment? ( #450 )
2023-02-04 19:29:41 +08:00
吴晟 Wu Sheng
8dde931b72
Correct missing package name in native manual API docs. ( #449 )
2023-02-03 22:09:56 +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
叶梦飞
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
吴晟 Wu Sheng
5cffa078e1
Add a config `agent.enable`(default: true) to support disabling agent ( #439 )
2023-01-11 17:14:23 +08:00
dylanforest
a68b447878
Support to customize the collect period of JVM relative metrics. ( #428 )
2022-12-26 22:34:30 +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
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
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
mrproliu
615aa8eab4
Update document format in plugin test ( #383 )
2022-11-14 21:46:44 +08:00
Brandon Fergerson
9559fad4c0
correct toolkit naming ( #380 )
2022-11-11 08:41:07 +08:00
Jiajing LU
1ef7cb4117
Support plugin tests on arm64/v8(aarm) platforms ( #379 )
2022-11-08 22:02:16 +08:00
pg.yang
d4d21cad50
Polish up kafka,nats,activemq,rabbitmq plugins to set peer at comsumer side ( #377 )
2022-11-06 18:57:19 +08:00
pg.yang
35a3f5a59b
Mention Virtual MQ support in the changelog ( #374 )
2022-11-03 22:13:54 +08:00
wuwen
64a33b24a4
Support mannual propagation of tracing context to next stream for webflux. ( #371 )
2022-11-03 14:41:45 +08:00
pg.yang
1148ec3801
Polish up activemq plugin to fix missing broker tag on consumer side ( #363 )
2022-10-23 14:26:54 +08:00
zhyyu
6d5bbe8e5f
Plugin-test configuration.yml dependencies support docker service command field ( #357 )
2022-10-19 21:21:59 +08:00
pg.yang
23b3c2d35e
Unify MQ related plugins' tags for virtual MQ ( #351 )
2022-10-18 10:11:05 +08:00
kezhenxu94
418595dbb1
Fix dead link ( #349 )
2022-10-17 10:15:38 +08:00
Brandon Fergerson
02fc1aee94
docs: correct spelling ( #346 )
2022-10-10 23:45:20 +08:00
wangsan
a54fb8865d
add baidu-brpc-java-3.x plugin ( #321 )
...
* add baidu-brpc3 trace plugin
Co-authored-by: wangqingpeng <wangqingpeng@baidu.com>
2022-09-25 17:57:54 +08:00
吴晟 Wu Sheng
d0aa2c5165
Add docs for virtual database tags ( #307 )
...
* Add docs for virtual database tags
* Update CHANGES.md
2022-09-11 20:46:57 +08:00
pg.yang
6fce184cfe
Update guava-cache,jedis,memcached,ehcache plugins to adopt uniform tags ( #303 )
2022-09-10 21:58:55 +08:00
Lv Lifeng
1c14a87067
Add plugin to support impala jdbc driver ( #302 )
2022-09-10 21:10:46 +08:00
pg.yang
62bb071824
Optimize ConfigInitializer to enhance map/list field field ( #305 )
...
* Optimize ConfigInitializer to output warning messages when the config value is truncated.
* Fix the default value of the Map field would merge rather than override by new values in the config.
* Support to set the value of Map/List field to an empty map/list.
* Update `configuration` doc about overriding default value as empty map/list accordingly.
2022-09-09 00:02:55 +08:00
pg.yang
ce1f8c0c2c
Upgrade jedis plugin to support 3.x(stream),4.x ( #300 )
2022-09-01 13:45:53 +08:00
pg.yang
92665b8add
Add plugin to support NATS Java client ( #298 )
2022-08-29 19:44:20 +08:00
pg.yang
4b564ade64
Add plugin to support micronaut ( #291 )
2022-08-19 18:20:32 +08:00