Commit Graph

125 Commits

Author SHA1 Message Date
kezhenxu94 00e8f2d886
Fix bug that the agent heart beats too frequently (#4640)
* Fix bug that the agent heart beats too frequently

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-04-12 20:48:44 +08:00
吴晟 Wu Sheng 6fe2041b47
Make 8.0.0 Core available. New protocol and register removed. (#4599)
Here are the list of changes we made in this pull request. Top 3 are the principle changes, others are following these principles.
1. New agent and mesh report protocol. 
2. New agent header protocol. 
3. Service register, instance register and network address register have been removed permanently.
4. Service traffic, instance traffic and network alias metrics are added to replace the service, instance and network address inventory.
5. Register process has been removed.
6. Metrics stream process supports insert only mode, especially for traffic entities.
7. Metrics stream process supports no-downsampling mode for traffic entities and network alias.
8. Remove all register mechanism and cache in the java agent.
9. Remove MONTH step in GraphQL query.
10. Update UI to remove MONTH step query, the max query range is 60 days now.
11. Simplify the TTL to metrics and record. And the unit has been formatted in Day unit. No specific TTL for ElasticSearch storage.
12. Buffer mechanism of trace receiver and mesh receiver has been removed due to no register.
13. New service id, instance id and endpoint id rules, including service relation, instance relation and endpoint relation id rules.
14. Java agent support `keep tracing` mode, meaning, agent generating tracing context even the backend is unconnected/unavailable.
15. Plugin test tool up to date, in order to support new protocol.
16. Plugin tests expected data files updated.
17. E2E tests updated.
18. Telemetry of Grafana config has been merged into one.
19. Documentation updates.
20. [TBD] InfluxDB storage implementation is not available, need @dmsolr to fix later, in order to reduce the master change block by this PR.
2020-04-10 11:03:24 +08:00
吴晟 Wu Sheng 4474907fef
[Inventory Design Change] Remove endpoint register and endpoint inventory (#4570)
* Finish step one, source and entity changed.

* Step 2, finish the basic and core DAO changes.

* Step 3. Change all source codes of backend, and make project compiling successfully.

* Make startup successful and persistence works.

* Fix dead codes in the MySQLTableInstaller.

* Fix mischange.

* Fix MySQL storage bootstrap error.

* Rollback dependency change.

* Simply enable tailing logs from container no mater it's in CI or not

* Fix segment table issue.

* Fix MySQL Instanller.

* Support Influxdb implementation of new endpoint traffic.

* Set and modify timeout to 90mins

* Remove unnecessary entity in the EndpointTraffic.

* Fix wrong entity builder and make name more clear.

* Fix 2 equal methods bug.

* Fix InfluxDB identifier(name) conflict issue.

* Fix endpoint topology query, endpoint id should be changed as a string.

* Fix a missing change.

* Fix a wrong commit.

* Column name can't be changed, due to it affect the hybrid metadb(h2/mysql) query, change it explicitly with double quotation marks.

* Fix formats.

* Remove endpoint/operation register from the agent. and change the plugin tests(without local tests). operationId relation codes have been removed from agent too.

* Try to fix the hytrix case.

* Fix 3 cases.

* Try to fix cases.

* Fix 2.

* Fix one.

* Fix the serviceId type mis-change.

* Fix int query

* Fix hystrix case.

* Fix a case.

* Fix EndpointCallRelationDispatcher set the source/dest endpoint without id encoding.

* Update documentation and add 2 test cases.

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-03-28 22:51:41 +08:00
yi.liang 1bc4082821
fix elasticsearch-5.x-plugin when use es6.x TransportClient error (#4517)
* up ui

* up ui

* fix elasticsearch-5.x-plugin on es6.x TransportClient error, Found class org.elasticsearch.common.transport.TransportAddress, but interface was expected
up elasticsearch-6.x-plugin support TransportClient

* fix elasticsearch-5.x-plugin on es6.x TransportClient error, Found class org.elasticsearch.common.transport.TransportAddress, but interface was expected
up elasticsearch-6.x-plugin support TransportClient

* fix elasticsearch-5.x-plugin on es6.x TransportClient error, Found class org.elasticsearch.common.transport.TransportAddress, but interface was expected
up elasticsearch-6.x-plugin support TransportClient

* const string witnesses
add some unit test
recommended to change ; to ,

* const string witnesses
add some unit test
recommended to change ; to ,

* up ES6.X test-plugin

* up es6.x test-plugin

* up es6.x test-plugin

* up es6.x test-plugin

* add DeleteIndexRequest

* up es6.x test-plugin

* remove TransportCaseController.java

* fix TransportActionNodeProxyExecuteMethodsInterceptorTest

Co-authored-by: yi.liang <yi.liang@zhangmen.cn>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: 梁懿 <liangyi@xforceplus.com>
Co-authored-by: aderm <394102339@qq.com>
2020-03-27 13:50:27 +08:00
mrproliu 569baf3236
Correlation protocol implement (#4555)
Co-authored-by: Mrproliu <mrproliu@lagou.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-03-26 09:02:14 +08:00
kezhenxu94 72f46f7499
Add missing `@Repeatable` to `@Tag` annotation (#4567)
* Add missing `@Repeatable` to `@Tag` annotation

* Remove some verified minor versions to speed up plugin tests
2020-03-25 09:58:16 +08:00
cngdkxw 2e9f001633
Add spring cloud feign 2.x plugin (#4526) 2020-03-20 20:28:30 +08:00
cngdkxw d5efc97c80
RestTemplate async plugin ClassCastException (#4507)
* ClassCastException

* resttemplate 4.x scenario

* add support versions & fix expectedData format-

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-03-13 23:13:51 +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
Daming da44d28547
Introduce Agent-Test-Tool suite (#4458)
* Introduce Agent-Test-Tool suite

* rename term
2020-03-08 09:15:41 +08:00
zhang-wei 2ac2d2555a
[test/plugin] immigrate h2 & struts scenario (#4395)
* immigrate test code

* enhance mysql case healthCheck

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-02-23 20:34:44 +08:00
aderm 67b7f22a40
1.add es agent resthighlevelclient of ClusterClientInstrumentation.2.… (#4386)
* 1.add es agent resthighlevelclient of ClusterClientInstrumentation.2.fix agent test removeOnExit parse error.

* Update configuration.yml

* revert removeOnExit param.

Co-authored-by: Daming <zteny@foxmail.com>
2020-02-21 14:00:19 +08:00
lsyf e57176d05e Fix ehcache:  add interceptor for Cache's private constructor and setName method 2020-02-18 22:33:33 +08:00
lsyf 74c1f7ef73 ehcache-2.x-scenario add EhcacheCloneInterceptor case 2020-02-18 13:07:16 +08:00
Daming ca6a5618c5
[test/plugin] remove the image on docker exit (#4374)
* remove image on docker exit

* polish
2020-02-17 17:10:37 +08:00
Trustin Lee 5fed153ee2
Add Armeria 0.98.0 to the supported version list (#4328)
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-02-15 12:27:03 +08:00
lxliuxuankb e5366c0921
Tag annotation supports returned expression (#4327)
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-02-12 14:03:02 +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
aderm 8c96fd49dd Update elasticsearch-7.x agent support version. (#4340)
* test/plugin/scenarios/elasticsearch-7.x-scenario/support-version.list

* update elasticsearch-7.x agent support version.

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-02-10 19:10:38 +08:00
John Niang 7cf79b1127
Move lombok dependency into root dependency manager for easier version management (#4309)
* Add lombok dependency into root pom.xml

* Update all depending lombok pom.xml(s)

* Change lombok version into latest(1.18.10)

* Revert lombok dependency config of test projects

* Remove redundant lombok dependency of submodule

* Move Lombok into dependencies node for applying globally
2020-02-03 10:44:50 +08:00
kezhenxu94 408a777d9d
Make traces verification loosely (#4306)
### Motivation:

Make E2E tests more stable.

### Modifications:

Verify the traces loosely as other tests, and remove the `verify` method which verifies traces strictly, as we have preparation that also generates traces.

### Result:

E2E tests are more stable.
2020-02-02 14:11:47 +08:00
jialong 5c6914fc9e
Make MVC plugin support inherited annotations from interface (#4278) 2020-02-01 16:18:22 +08:00
Kanro 97950807fa
Enhance gRPC plugin (#4177)
* Enhance gRPC plugin

Co-authored-by: Kanro <higan@live.cn>
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
Co-authored-by: GuoDuanLZ <739537111@qq.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-01-30 20:12:48 +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
John Niang 0e105a49bf
Upgrade remainder java compiler versions to 1.8 (#4286)
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-01-29 14:19:22 +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
Jared Tan 1310719645
add token authentication between agent and oap receiver. (#4197)
* add token authentication between agent and oap receiver.

* revert ui.

* fix code style.

* update docs.

* Update docs/en/setup/backend/backend-token-auth.md

Co-Authored-By: kezhenxu94 <kezhenxu94@apache.org>

* fix hits.

* filter

* revert yml.

* update logical.

* fix codestyle check.

* fix ci and add e2e test case.

* revert mistake commit.

* fix ci

* remove duplicate maven dependency.

* revert pom

* revert unchanged.

* update javadocs.

* update logical.

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-01-12 23:08:39 +08:00
dengliming 1881a040d4 Support plugin for mongodb v3.6.x (#4173)
* feat: add support plugin of mongodb v3.6.x

* update support-version.list

* update Supported-list.md

* update Supported-list.md

* Add witness class for v3.6

* update plugins-test.yaml

Co-authored-by: zhang-wei <pknfe@outlook.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: Weiyi Liu <liuweiyi@cmss.chinamobile.com>
2020-01-07 14:25:19 +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
aderm 6be84cfa78 update elasticsearch-7.x agent support version. (#4171)
* update elasticsearch-7.x agent support version.

* update supported-list.md doc & plugins-test.yaml
2020-01-04 19:56:35 +08:00
kezhenxu94 99100ed635
Split the `collect_http_params` as per plugins for better performance (#4170)
* Split the `collect_http_params` as per plugins for better performance

* Add missing change
2020-01-03 21:44:25 +08:00
kezhenxu94 f52f7f466a
Support collecting http parameters (#4162)
Plugins of Tomcat, Spring MVC, Armeria are supported for now
2020-01-03 07:51:26 +08:00
zhang-wei 7902c6242f
fix unused import (#4163) 2020-01-02 21:16:27 +08:00
Zhang Yonglun c5827f889a [Agent] Provide plugin for ShardingSphere 4.0.0-RC3 (#4140)
* shardingsphere 4.x RC3 test

* shardingsphere 4.x RC3 test

* shardingsphere 4.x RC3 test

* shardingsphere 4.x RC3 plugin

* shardingsphere 4.x RC3 plugin

* shardingsphere 4.x RC3 plugin

* shardingsphere 4.x RC3 plugin temp for a test

* shardingsphere 4.x RC3 plugin revert temp changes

* shardingsphere 4.x RC3 plugin change package name

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2019-12-31 17:52:29 +08:00
aderm f64f3c1433 [test/plugin] immigrate test activemq scenario. (#4151)
* [test/plugin] immigrate test activemq scenario.

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2019-12-31 15:31:39 +08:00
kezhenxu94 51e74ca4c4
[Feature] Add tag annotation to allow tagging span with annotation (#4152)
* [Feature] Add tag annotation to allow tagging span with annotation

* Use repeatable annotation syntax and add docs and example codes

* Fix failed unit test
2019-12-31 12:11:06 +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
Andy Ai 4aac3293ca [test/plugin] immigrate test play framework scenario (#4128)
* Add play-scenario

* Set play plugin as default

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: Weiyi Liu <liuweiyi@cmss.chinamobile.com>
2019-12-26 22:42:56 +08:00
Zhang Yonglun ab39cecb17 shardingsphere 4.x RC1 RC2 test (#4118) 2019-12-26 08:31:10 +08:00
kezhenxu94 30cbe38df7 Move Armeria plugin to default plugin list (#4130)
* Move Armeria plugin to default plugin list

* Move Armeria plugin to default plugin list

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2019-12-26 00:45:48 +08:00
吴晟 Wu Sheng 25a677b9c7
Move Webflux plugin into default list. (#4129)
* Move Webflux plugin into default list.

* Fix a typo.
2019-12-25 22:08:14 +08:00
吴晟 Wu Sheng 3dde94ff66
Move lettuce into default plugin (#4127)
* Move lettuce into default plugin

* Fix maven pom
2019-12-25 18:53:49 +08:00
于玉桔 1e9f929f97 [test/plugin] immigrate test zookeeper scenario. (#4106)
* zookeeper test

* update expected data file

* fix review code

* fixed

* bugfix

* update version

* fix bug

* fix

Co-authored-by: zhang-wei <pknfe@outlook.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2019-12-25 17:25:09 +08:00
于玉桔 7dc8065267 [test/plugin] immigrate test lettuce scenario. (#4113)
* lettuce test

* fix

* update version

*  a new one group

* revert

* update expect data

Co-authored-by: Weiyi Liu <liuweiyi@cmss.chinamobile.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2019-12-25 11:22:15 +08:00
zhang-wei ba192a9f13 [test/plugin] immigrate test servicecomb scenario (#4109)
* servicecomb scenario
2019-12-25 09:43:57 +08:00
kezhenxu94 bf6491f449
[Feature] Provide Java Agent for Apache HttpClient 3.x (#4111)
* Add Java Agent for Apache HttpClient 3.x

* Update Supported-list.md

* Update pom.xml
2019-12-24 23:20:44 +08:00
Zhang Yonglun 6fce5ca790 [test/plugin] immigrate test shardingsphere 3.x scenario. (#4093)
* shardingsphere 3.x test

* shardingsphere 3.x test refine

* shardingsphere 3.x test refine

* shardingsphere 3.x test refine

* shardingsphere 3.x test refine

* shardingsphere 3.x test refine

* shardingsphere 3.x test refine

* shardingsphere 3.x test refine

* Remove the local/exit span register mechanism

* for comments

* for comments
2019-12-21 11:59:33 +08:00
cyejing bc77fda5c1 Enhance webflux plugin, related to Spring Gateway plugin too. (#3945)
* webflux-reactive

* add support version comment, modify gateway

* add test case, modify name

* add docs

* remove healthCheck
2019-12-17 08:58:57 +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
吴晟 Wu Sheng 4e50132817
Remove the local/exit span register mechanism in Java agent scenario (#4059)
* Remove the local span and exit span register mechanism in Java agent scenario.

* Fix config, plugin, and document, as exit span is not required register anymore.

* Try to fix the test case expected data due to no register for exit span.

* Fix toolkit case.

* Remove exit span from plugin test framework document.

* Update protocol, FAQ, and CHANGELOG documents to highlight this change.

* Fix NPE when no entry span in the whole segment. Set endpoint to null in segment entity.

* Fix the snapshot and add inexistence operation name id.

* Fix several async cases.

* Fix undertow test case.

* Fix wrong error log name.

* Keep name consistent with 6.x concepts.

* Try to fix 3 async scenarios.

* Fix okhttp case.

* Fix Spring Async case.

* Fix another NPE

* Fix NPE when first span has no endpoint id when it is local or exit span.

* Still fill first operation name when no endpoint id.
2019-12-15 19:15:47 +08:00