Commit Graph

102 Commits

Author SHA1 Message Date
吴晟 Wu Sheng 61f98c81f0
Move the main branch to 7.1.0 iteration. (#4537)
* [maven-release-plugin] prepare release v7.0.0

* [maven-release-plugin] prepare for next development iteration
2020-03-19 10:38:41 +08:00
yoje ced5cb2828
Add finagle plugin (#4441)
* Add finagle plugin (#4433)

* fix failed checks for pr(#4441)
* Add licenses for some files
* Update Supported doc
* Add finagle to test component-libraries.yml

* Add finagle automatic tests into CI

* Add comments

* update comments

* Remove CompatibilityChecker

* Move query-protocol submodule to the right version

* Remove `enhancedInstance.setSkyWalkingDynamicField` in `ClientTracingFilterInterceptor`.

* Update expectedData.yaml of finagle tests

* Use lazy ContextCarrier injection.

* Add comments for `ContextCarrierHelper`

* Fix ContextHolderFactory to avoid context pollution

Co-authored-by: huangyongjie <huangyongjie@tigerbrokers>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-03-11 13:04:58 +08:00
kezhenxu94 8dd0ce18a5
Add missing test for component-libraries.yml (#4398)
### Motivation:

Add test to guarantee that the components defined in class ComponentsDefine are in sync with those in file component-libraries.yml.

### Modifications:

- Add missing component in component-libraries.yml.

- Add test to verify the class and the yml are in sync.

- Fix wrong component id of Undertow.

### Result:

Components definitions in class ComponentsDefine and yaml are in sync, and will be verified in every pull request.
2020-02-23 09:28:47 +08:00
kezhenxu94 5b255ba3e3
Set up more strict code styles and fix existing issues (#4337)
Motivation:

Review code styles with some bots automatically.

Modifications:

Set up ReviewDog in GitHub Action to review code style.

Add more check rules to checkstyle plugin.

Result:

Obvious code styles can be reviewed and commented automatically.
2020-02-11 17:10:49 +08:00
Daming 9005d1e82c
Provide AVRO plugin (#4276)
* Provide Avro plugin
* provide testcase for avro-plugin

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-01-30 17:49:43 +08:00
mrproliu 90f3c4de55 Sniffer processing profile task and report status and snapshot (#4220)
* sniffer processing profile task and report status and snapshot

* resolve testServiceDependencies test case error, use same register with `TraceSegmentServiceClient`

* resolve names

* change profile to single one thread run.

* 1. change to the ArrayList, because known the max size
2. rename issue resolved

* add profiling status enum

* change sniffer use full name issue

* 1. remove `prepareProfiling` method, build profiling status when construct `TracingContext`
2. add `TracingThreadListenerManager`, notify when tracing main thread finish
3. change ProfileThread start when process new profile task

* remove unnecessary getter

* add test assert error message

* adding `AgentServiceRule`

* revert original assert

* remove unnecessary getter

* resolve issues

* reduce findService invoke

* resolve style error

* recheck profiling when change first span operatin name

* resolve issues
1. remove `ContextManager#profilingRecheck`, only check on `TracingContext`
2. rename comments
3. resolve volatile array setting

* remove article link

* add `ProfileTask#maxSamplingCount` check

* resolve conflict (Downstream -> Commands)

* 1. change profilingSegmentSlots init on construct
2. if is profiling, recheck dont need to stop
3. total profiling count increment on first dump

* remove unused return val

* remove some `@param` and `@return`

* add profile task check result data bean

* change profiler slot to `AtomicReferenceArray`

* resolved java doc error

* fix doc error, remove meaningless descriptions

* resolve missed profile receiver on oap starter

* resolve method invoke error

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-01-18 18:38:03 +08:00
kezhenxu94 019af3e345
Drop support of protocol v1 (sw3) (#4244)
* Drop support of protocol v1 (sw3)

* Remove versioning logic further

* Remove more version5-only classes

* Commit missing files

* Update submodule and address review comment

* Fix failed tests
2020-01-17 20:33:52 +08:00
zhang-wei 5026556bb4
sync browser protocol (#4208) 2020-01-10 09:35:19 +08:00
mrproliu 4cf0600f35 Provide profile task downstream to sniffer (#4172)
* Provide profile task downstream to sniffer

* fix agent unit testcase issue

* add profile switch config on sniffer

* fix es error

* 1. add @DefaultImplementor on the sniffer profile task service
2. change ProfileTaskExecutionService#PROFILE_TASK_READY_SCHEDULE to final and remove volatile
2. fix style error

* change timeFromStartMills use `<` to compare

* 1. add `maxSamplingCount` to profile task
2. make profile task limit to the common package

* 1. change `agent.active_profile` to `profile.active` and make true on default
2. add `maxSamplingCount` in profile task
3. use `createTime` to check has new command list
4. add task re-check before process profile task

* 1. add `profile-receiver` document
2. change `ProfileTaskExecutionService` use single schedule thread pool
3. cache dont need fetch data when no data, use auto-fresh mechanism only

* remove navigate time judge, fix comment wrong meaning
2020-01-09 09:35:39 +08:00
Kanro 4e03d5e6d7 Add kotlin coroutine plugin (#4165)
* Kotlin coroutine plugin write in Java

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-01-04 22:51:59 +08:00
吴晟 Wu Sheng 4012545ed4
Add the new protocol for browser. (#4164) 2020-01-02 23:20:40 +08:00
吴晟 Wu Sheng 6c20f4a41b
Add service type from register and support browser as service type (#4157)
* Add service type from register and support browser as service type

* Add service type at agent side.

* Fix format.

* Fix a test.

* Fix formats.

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-01-01 18:01:41 +08:00
Gao Hongtao 4211eff558 Fix os maven plugin issues for Eclipse m2e (#4144)
* Fix mave-os plugin issues for Eclipse m2e

* Add os-msven-plugin.version property
2019-12-29 13:49:27 +08:00
吴晟 Wu Sheng b570996006
Update JDK compiling level to 8, and remove zip dist. (#4119)
* Update JDK compiling level to 8, and remove zip dist.

* Exclude annotation and shade API.

* Fix more exclusion.

* 1. Update grava and gson 2. Fix compile issue. 3. Keep protoc and maven plugin in old version. Some incompatible of 3rd party grpc proto.

* Fix dependency conflicts, license and notice issue, and dependency check script issue

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2019-12-25 15:55:24 +08:00
吴晟 Wu Sheng d7f7799c80
Set the main branch to 7.0.0-SNAPSHOT (#4115)
* [maven-release-plugin] prepare release v6.6.0

* [maven-release-plugin] prepare for next development iteration
2019-12-24 16:37:13 +08:00
kezhenxu94 3f48790c36 [Feature] Add Java agent plugin for Jdk Threading classes (#4067)
* Add Java agent plugin for Jdk Threading

* Fix expected data according to changes in master

* Update agent.config

* Fix failed plugin test
2019-12-17 00:12:14 +08:00
kezhenxu94 eea5d027cc
Add Armeria Java agent plugin (#4024) 2019-12-11 15:57:45 +08:00
于玉桔 6ffd92792d Support spring-tx in optional plugin (#3857)
* plugin code

* NPE FIX
2019-11-19 10:05:01 +08:00
aderm e11d20715d Add elasticsearch 6.x plugin & elasticsearch 6.x test scenario (#3803)
* Add elasticsearch 6.x plugin & elasticsearch 6.x test scenario
2019-11-13 13:55:28 +08:00
吴晟 Wu Sheng 3fbaec42dc
Move to 6.6.0 SNAPSHOT (#3839)
* [maven-release-plugin] prepare release v6.5.0

* [maven-release-plugin] prepare for next development iteration
2019-11-12 22:33:39 +08:00
mrproliu c640b512cd Provide agent plugin netty-socketio (#3640)
* add plugin netty-socketio https://github.com/mrniko/netty-socketio

* delete create exit span interceptor.

* delete create exit span interceptor testcase.

* delete create exit span interceptor testcase.

* add constructor test unit

* change bind on random port in test case

* reverse upstream master whitespace

* resolve build_id param

* delete health check segment test case

* add ContextManager.isActive check before use activeSpan invoke

* remove unnecessary code and blank line
2019-10-23 13:06:17 +03:00
mrproliu 58804174e1 Provide plugin for Ehcache 2.x (#3575)
* support ehcache 2.x
2019-10-10 22:39:37 +08:00
jsbxyyx e3ecf51eba test: add service reset command test case (#3552)
* test: add service reset command test case

* test: update test case
2019-10-07 11:21:55 +08:00
lipenghui a87425147c Add pulsar apm plugin (#3476)
* Add pulsar apm plugin.

* Fix check style

* Fix pulsar consumer component define.

* Add pulsar to component-libraries.yml

* Fix error interceptor class.

* Add pulsar to agent support list.

* Add Pulsar to ComponentsDefine and component-libraries.yml

* Move create entry span log of consumer from after method to before method

* Fix send callback issue when exception cause.

* Fix test issues

* Move pulsar plugin to optional plugins

* Add none messages tests for interceptor of producer and consumer.

* Remove unused comments.

* Move pulsar plugin back to the apm-sdk-plugin

* Fix comments

* remove set startTime for entry span(default is set by System.currentTimeMillis)

* Fix comments
2019-09-25 13:24:54 +08:00
Louis Tsui 72f07b812a Add Light4j plugin (#3323)
* Add Light4J 1.6.x plug-in

* Add unit test for Light4J plug-in

* Add missing id to server-starter

* Remove mentions of version 1.6.x

Some local testing showed that the plugin successfully generated traces for a light4j project built with light-codegen v2.x. Therefore, there is no need for a separate plugin for v2.x and no distinction needs to be made with light4j v1.6.x.

* Update supported light4j versions

* Use ContextSnapshot to maintain trace

In a typical Light4j project, the ExceptionHandler#handleRequest is the asynchronous execution point. The flow is ExceptionHandler#handleRequest -> HttpServerExchange#dispatch -> ... -> ExceptionHandler#handleRequest. This means that handleRequest is being intercepted twice and each time a LocalSpan is created. Without handling thread propagation, the trace segment gets split up.

By saving a ContextSnapshot into the enhanced object (ExceptionHandler), we can determine if it is necessary to continue the segment.

* Update logic for span creation in trace

By default, the Light4J plugin now overrides the Undertow plugin's entry span with its own. This new entry span is created just before execution of the ExceptionHandler#handleRequest in the I/O thread. The entry span is generated here because it is considered the starting point of the Light4J handler chain.

There is now also the option to enable detailed span creation when tracing requests through Light4J. These local spans mark which middleware and business handlers are involved with handling the HTTP request to a Light4J service.

* Update skywalking version

* Update light4j version

* Fix LightInstrumentation javadoc

* Remove import violating checkstyle

This import was added from the link reference in the javadoc. The javadoc has now been changed to just reference the method name.

* Move light4j agent config property

* Sync UI
2019-09-18 21:43:17 +08:00
stone.wlg bb0b3d369f provide cassandra java driver 3.x plugin (#3410)
* add cassandra java driver 3.x plugin
2019-09-12 16:14:48 -07:00
吴晟 Wu Sheng ce20fe107d
Move to 6.5.0 (#3439)
* [maven-release-plugin] prepare release v6.4.0

* [maven-release-plugin] prepare for next development iteration
2019-09-08 16:24:21 -07:00
Andy Ai 8bf7e346ee Support play 2.x (#3207)
* Support play 2.x
2019-08-29 17:00:51 +08:00
于玉桔 a0e816771c Webflux plugin optimization (#3243)
* webflux
2019-08-13 22:52:01 +08:00
kezhenxu94 45a2196f02 Clean up: remove unused codes (#3246) 2019-08-11 17:36:39 +08:00
吴晟 Wu Sheng b247dc979e
Move project master branch to 6.4.0-SNAPSHOT (#3220)
* [maven-release-plugin] prepare release v6.3.0

* [maven-release-plugin] prepare for next development iteration
2019-08-05 21:19:17 +08:00
li.can 6e837153f2 Add jdk http plugin (#3171)
* add http

* update plugin

* Add StaticMethodsAroundInterceptor to be injected.

* move to options plugin

* move folder

* update pom

* support https

* add witness class

* Make JDK9-11 available for bootstrap instrumentation

* Remove temp folder of old bootstrap instrumentation requirement.

* remove witness ,work for jdk6,7,8,9,10,11

* Make JDK 12 works.

* move jdk-http-plugin to bootstrap-plugins folder

* add httpsclient

* update README.md
2019-08-03 10:26:20 +08:00
kezhenxu94 49f50a24a4 Support upgrade backend w/o rebooting agents (#3170)
* Support upgrade backend w/o rebooting agents
2019-08-02 09:25:17 +08:00
彭勇升 pengys 1057463812 Correct spelling errors in the network protocol. (#3091)
* Correct spelling errors in the network protocol.

* update protocol submodule commit id.
2019-07-16 09:19:48 +08:00
于玉桔 48ffd09239 Spring @Async plugin support (#2902)
* spring_async_plugin

* fix

* fix

* fix

* fix

* format fix

* rename

* fix

* fix version

* Update SWCallable.java

* Update Supported-list.md

* Update Supported-list.md
2019-07-02 07:46:25 +08:00
吴晟 Wu Sheng 4faa950c14
Move master to 6.3.0 (#2968)
* [maven-release-plugin] prepare release v6.2.0

* [maven-release-plugin] prepare for next development iteration
2019-06-29 13:49:36 +08:00
吴晟 Wu Sheng 11f9d64577
Submodules sync. (#2946)
* Submodules sync.

* Update
2019-06-26 08:08:23 +08:00
daming 6ff33d8816 Restore solrj-plugin (#2888)
* restore solrj-plugin

* restore solrj-plugin
2019-06-17 18:48:18 +08:00
吴晟 Wu Sheng 0f9c27d481
Revert SolrJ plugin. (#2871)
* Revert SolrJ plugin.

* Remove an unexpected test case.

* Revert "Remove an unexpected test case."

This reverts commit 359990e18b0c0ae1a6e1005ff985bf237ec05619.

* Clear context.

* Fix a leak.
2019-06-14 09:24:58 +08:00
daming 6ae517423c Provide plugin for Solr-7.x(client) (#2730)
* new branch for solrj-plugin

* rollback and add module solrj-plugin

* preparing to pr

* to resolve reviewers' suggestions

* remove unused code

* remove unused code

* remove unused comments

* To avoid NPE

* fix typo

* Change to JRE6

* fix pom.xml merge incorrectly. and java.net.URL instead of Regex

* Using RuntimeContext instead of ThreadLocal

* To reduce unnecessary tags

* add test cases

* fix validation fail

* add solrj-plugin into component-libraries & Supported-list

* to trace all patch to avoid recheck status of span

* remove unnecessary properites

* remove unnecessary tags

* Add the config to document of setup
2019-06-05 22:54:45 +08:00
FuCheng,Yan bc6f06f964 Support RESTEasy 3.x (#2665)
* feat(agent sdk): resteasy plugin

* fix(agent sdk): fix component define

* fix(agent sdk): fix file license

* fix(agent sdk): fix file license

* docs(agent sdk): add supported list

* fix(agent sdk): fix file license

* fix(agent sdk): fix response error tag

* fix(agent sdk): fix

* fix(agent sdk): adapter 3.5+

* fix(agent sdk): remove unreasonable async handling
2019-05-24 22:14:43 +08:00
于玉桔 98b495ebcc Spring cloud gateways 2.1.x plugin (#2517)
* spring cloud gateways plugin
2019-05-20 17:06:40 +08:00
Zhang Yonglun c7c1774ab1 Provide plugin for ShardingSphere (#1934)
* Provide plugin for ShardingSphere (#1933)
2019-05-15 17:56:39 +08:00
吴晟 Wu Sheng 9b87086d72
Move to 6.2 (#2563)
* Move submodule plugin.

* Always auto-submodule

* [maven-release-plugin] prepare release v6.1.0

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

* Change keys location.
2019-04-30 12:16:50 +08:00
SataQiu 4862c4fb1d update git modules url (#2531) 2019-04-28 15:09:13 +08:00
Brandon Fergerson ce1c7aadfc Vert.x Core 3.x Plugin (#2386)
* vertx plugin impl
2019-04-16 23:46:49 +08:00
彭勇升 pengys 32c4bced8a Downstream command protocol example. (#2380)
* Downstream command protocol example.

* Add wait seconds arguments into meta data reset command.

* Style consistent issue fixed.

* Add serialNumber arguments for agent to check if the command duplicate.

* Command separate.

* Update TraceIgnoreCommand.java

Keep TraceIgnoreCommand just named `TraceIgnore`
2019-03-23 11:30:22 -07:00
Lemon 9b055cc5d4 Update proto commit (#2383) 2019-03-19 20:37:19 +08:00
于玉桔 0929ff3453 Support Zookeeper plugin (#2211)
* Zookeeper plugin
2019-02-15 22:13:44 +08:00
于玉桔 a36394d9bc Support lettuce plugin (#2152)
* Support lettuce plugin

* lettuce plugin bugfix

* lettuce plugin fix license issue

* lettuce plugin fix cluster and config issue

* plugin lettuce compatible with low 5.0.x version

* lettuce plugin support version accurately describes on Supported-list.md

* plugin lettuce compatible with low 5.0.2 version

* lettuce plugin fix wrong batch method intercept point

* move lettuce to optional plugins

* fix ci issue

* fix ci issue

* Modify the description file

* Pom code optimization

* Optimization operation name

* Optimization operation name2
2019-01-26 13:09:03 +08:00