Commit Graph

1188 Commits

Author SHA1 Message Date
qiaoxingxing f25e6600b4
fix doc Application-toolkit-tracer extract data from map (#617) 2023-09-28 04:14:12 -05:00
xyyz150 738201c33a
add rocketmq-client-java-5.x plugin (#598) 2023-08-28 21:25:23 +08:00
peachisai e31b9bb6a2
Add nacos-client 2.x plugin (#593) 2023-08-18 08:45:46 +08:00
Leibniz.Hu 6baa4a7baa
Add support for RESTEasy 6.x (#587) 2023-07-27 07:18:05 -07: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
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 9362f87bac
Update README.md (#308)
We don't recommend 8.8.0- versions anymore, as Java agent is good at backwards compatibility with recent years releases of backend in the theory. 8.x docs are going to removed soon in next month.
2022-09-13 19:13:24 +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