Commit Graph

43 Commits

Author SHA1 Message Date
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
Daming fbdfc42b4d
add e2e test for kafka transporter (#42) 2021-10-18 09:46:16 +08:00
Daming 7d36faaf0f
Add Kafka LogReporter and make grpc log reporter sharing grpc channel with reporters (#20) 2021-09-23 10:50:34 +08:00
吴晟 Wu Sheng 6950bb137f
Rename common modules. (#2) 2021-08-27 00:27:39 +08:00
kezhenxu94 cf03304a48
Simplify GitHub workflows by using `uses` in `composite` actions (#7487)
`uses` is recently allowed in `composite` actions, we can simplify our workflows control files further.
2021-08-19 11:47:48 +08:00
kezhenxu94 9b6c0d1b23
chore: for scheduled tasks, only run on main repo not fork repos (#7121) 2021-06-15 23:49:08 +08:00
Zhenxu 518843633f
Cancel duplicated workflows (#7043) 2021-05-31 23:10:45 +08:00
liqiangz 7a53331367
Support alarm tags (#6820) 2021-04-25 17:22:43 +08:00
zhang-wei 1c52995cbf
Supplement the E2E test for skywalking-client-js (#6409) 2021-02-21 22:29:50 +08:00
mrproliu 75f03acba7
Adopt Zabbix protocol (#6176)
Happy Chinese New Year !!
2021-02-10 22:40:07 +08:00
Zhenxu Ke 30a88b555f
Skip CI in some cases to save resources (#6340) 2021-02-07 16:19:55 +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 34684cefcf
Fix scheduled tasks timezone in GHA (#6161) 2021-01-09 10:36:16 +08:00
Zhenxu Ke afc44d4a3d
Unify the service name rule in `metadata-service-mapping.yml` of `mx-… (#6131) 2021-01-08 13:54:04 +08:00
mrproliu 4aa9f301d0
Add alarm tests in the e2e (#5961) 2020-12-08 16:47:28 +08:00
kezhenxu94 66dd848e84
test: E2E Elasticsearch 7.x highest and lowest versions (#5779) 2020-11-03 16:42:13 +08:00
kezhenxu94 a5300880d7
[CI] Cancel outdated jobs when new builds are fired (#5558) 2020-11-02 00:19:57 +08:00
kezhenxu94 239eaa01fd
test: set up ALS E2E test (#5675) 2020-10-15 23:20:46 +08:00
吴晟 Wu Sheng 235fbe729c
Fix 3 format issue of CI control file. (#5625)
* Fix 3 format issue of CI control file.

* Fix more.
2020-10-02 18:17:55 +08:00
吴晟 Wu Sheng 2b737e24e4
Embrace the maven cache in the GitHub action. (#5619)
* Add cache for maven local repo.

* FIx formats.
2020-10-01 19:05:28 +08:00
mrproliu 925c0d74c7
Provide server-side meter (#4972) 2020-07-25 21:17:32 +08:00
kezhenxu94 4a8f86f817
Use the built-in ability to check out submodules (#4728) 2020-04-28 20:32:56 +08:00
kezhenxu94 c11ad038cc
Count the coverage in E2E tests and Plugin tests (#4651) 2020-04-15 23:09:05 +08:00
mrproliu 1601cc107c
Support `java` -> `nginx` -> `java` e2e test, and v3 protocol (#4637) 2020-04-11 22:31:28 +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
kezhenxu94 f51ba3a94d
[Chore] Fix license headers and rename E2E job name (#4551)
* Fix license headers and rename E2E job name

* Fix RAT plugin and enable both RAT and checkstyle plugin
2020-03-23 13:51:39 +08:00
kezhenxu94 dcd66ee6e9
Rewrite the E2E test framework and tests (#4510)
Motivation:

According the feedback from the community, the e2e tests are hard for
them to understand and get them started, so this pull request aims to
rewrite the e2e tests with some improvements:

- debuggable locally, now you can run every individual case directly
inside the IDE, just like running a plain unit test.

- same functionalities of multiple counterparts share the same codes,
cases like different storages and cluster coordinators share the same
codes, easy to add more similar cases.

- the "end" now extends to the Doccker images, meaning that some bugs
like #4483 and #4471 can be more easily and early to be discovered.

- codes style and license headers are checked

Modifications:

- adopt jupeter (a.k.a junit 5), testcontainers as the new test
framework, all containers are orchestrated by docker-compose.yml,
well-known technology that developers should be familiar with.

- rewrite all test cases and verify them.

- reorganize the workflows in GitHub Actions.

Result:

- new e2e test should be easy to add.

- closes https://github.com/apache/skywalking/issues/4472
2020-03-16 23:45:14 +08:00
kezhenxu94 69e3d80e24
Add selector property in application.yml (#4514)
### Motivation

 Ease the efforts of modifying configurations in automatic workflow and scripts, like Docker and helm chart.

 ### Modification

 Add a `selector` property into `application.yml` to enable switching configuration simply by environment variables or system properties, and filter the unselected options, leaving only selected one.

 ### Result

 - We can switch a configuration by environment variables or system property

 - Closes #4511
2020-03-15 23:28:14 +08:00
Gao Hongtao 78d14ebbd6
Enable OAP gRPC SSL transportation (#4470)
* Enable OAP gRPC SSL transportation

Porting to OpenSSL to enable SSL transportation. The server private
key is in the format of PCKS#8, certificates is x509 though.

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Add netty-tcnative-boringssl-static 2.0.26 licnese

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Update docs/en/setup/backend/grpc-ssl.md

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

* Update docs/en/setup/backend/grpc-ssl.md

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

* Add SSL to grpc remote client and sharing server

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Update documents

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Fix nits

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Fix test case

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Add e2e-ssl and remove other test cases temporarily

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Add TLS relevant files

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Decrease timeout

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Test config works

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* triger CI on oap-ssl branch

* Disable agent ca

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Switch to sharing server

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Add agent log to console

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Upload log files

* Change backend

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Revert "Change backend"

This reverts commit 7a085711e3653d3bf642aa84f73650e22595e383.

* Update backend

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Revert e2e

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Ignore TSL relevant files

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Polish codes

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Update certificates expires year to 2120

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-03-15 08:15:28 +08:00
Jared Tan aa21765628
support http api for upstream trace. (#4399)
* support http api.

* e2e

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-03-06 21:07:39 +08:00
Jared Tan 85cc9c36ac
fix agent auth e2e not activated. (#4428)
* fix e2e miss.
2020-02-29 22:20:43 +08:00
aderm 467ef8bffc
Update to actions/checkout@v2, fix checks error: reference is not a tree. (#4419) 2020-02-27 22:31:58 +08:00
Daming 29da5738bc
Provide influxdb as a new storage plugin (#4239)
* provide influxdb as a new storage plugin

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-02-19 18:00:57 +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
mrproliu 8e4c1e95d6 Merge e2e profile test project (#4268)
* merge e2e profile test project, Use `env` to distinguish different storage types

* remove maven child module

* change `env` -> `storage`

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-01-20 19:34:53 +08:00
吴晟 Wu Sheng 9149de2a6e Support multiple linear values and merging p50/75/90/95/99 into percentile (#4214)
* Support new percentile func with new alarm and exporter for this new func.

* Fix e2e and OAL script

* Fix wrong column.

* Fix percentile bug and oal engine bug.

* Update query protocol and add percentile test case

* Support new query

* Adopt GraphQL requirement

* Fix wrong type cast.

* Fix query in H2 and ES.

* Fix docs and comments.

* Fix an e2e compile issue

* Fix javadoc issue and e2e test issue.

* Change CPM to Apdex in TTL test.

* Fix OAL for TTL e2e

* Add metrics query for service percentile.

* Fix OAL engine bug. Method deserialize is not working when more than two field types are IntKeyLongValueHashMap

* Support multiple IntKeyLongValueHashMap fields in remote. About serialize/deserialize methods.

* Fix graphql statement error in e2e.

* Fix serialize not working and add generated serialize/deserialize of percentile into test cases.

* Fix test case format

* Remove generated code test.

* Fix failed e2e test

* Use avg resp time to apdex in the TTL test.

* ADD multiple linear metrics check for endpoint in e2e cluster.

* Support `-` to represent no threshold and doc of alarm about this.

* Move break to right place.

* Fix wrong break(s)

* Fix break and add a test case for multiple values alarm.

* Fix format.

* Add more doc for this new feature and GraphQL query protocol.

Co-authored-by: Jared Tan <jian.tan@daocloud.io>
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2020-01-12 22:10:50 +08:00
mrproliu d38a8eaaa7 Provide thread monitor create task feature (#4145)
* provide thread monitor task service to create

* provide thread monitor task GraphQL implements

* 1. change thread monitor field names
2. fix `getThreadMonitorTaskList` query time bucket error

* provide config stream processor

* update submodule `query-protocol`

* resolve e2e-mysql error

* remove useless storage interface method.

* rename `ThreadMonitorTask` to `ProfileTask`

* change e2e-profile to the top level

* fix profile test analyze error

* remove StringUtil#isBlank.

* 1. remove create profile task duration unit
2. remove GraphQL getTask list duration field
3. add `profileTaskQueryMaxSize` in `storage` -> `elasticsearch(7)` configuration, default get 200 profile task

* provide e2e different storage tests

* 1. fix rat check
2. remove DurationUtils.java#toSecond
3. remove ProfileTaskQueryEs7DAO

* fix e2e code format error

* provide es6 and es7 storage e2e tests

* change e2e profile es module artifactId

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
2019-12-31 20:49:45 +08:00
kezhenxu94 ea9acc5c24
Add E2E test case to verify compatibility between 6.x agents and 7.x … (#4132) 2019-12-26 15:26:08 +08:00
吴晟 Wu Sheng fd24a29b3b
Move e2e and istio e2e to master and release recheck. (#4048)
* Move e2e and istio e2e to master recheck.

* Try to run tests on tag(release)

* Add `v*` tag to trigger test only, as this is the release tag.

* Trigger CI again
2019-12-13 09:31:21 +08:00
吴晟 Wu Sheng a95627a0d8 Set up project builds on Windows and MacOS. (#4045)
* Set up project build on Windows and MacOS.

* Fix whitespace

* Fix missing phrases.

* Change command for windows.

* Fix typo.

* 1. Remove new local m2 repository
2. Remove CI-with-IT on Windows and MacOS due to no Docker service existing
3. Change mvnw to mvn on Windows.

* Remove cache.

* Merge into one command
2019-12-13 00:10:10 +08:00
zhang-wei 3741f4e386 [Feature] Service instance dependency (#3978)
* dispatcher

* getServiceInstanceTopology implementation

* CacheUpdateTimer

* fix compilation failure

* fix compilation failure

* fix esDao

* Update dao list

* dispatcher

* getServiceInstanceTopology implementation

* CacheUpdateTimer

* fix compilation failure

* fix compilation failure

* fix esDao

* Update dao list

* test e2e

* add official_analysis.oal & update getServiceInstanceTopology

* test instance topo for single service

* fix gql

* fix verifyServiceInstances

* verifyServiceInstanceTopo

* fix verifyServiceInstanceTopo

* fix ServiceInstanceInventory#name

* fix ServiceInstanceInventory#name

* e2e test

* fix action

* fix provider port

* fix Instance Node Type

* re run

* fix expected-data

* add e2e mysql

* set @Test timeout

* fix ci

* increase timeout

* re check

* test ttl es7

* test ttl

* fix action

* merge group

* test ttl es7

* replace official_analysis.oal

* replace official_analysis.oal

* comments

* add TODO

* add TODO

* fix filed name
2019-12-09 08:23:21 +08:00
Daming 4cec38b12b Set up github action for E2E and Plugins Tests (#3953) 2019-11-28 21:20:30 +08:00