Commit Graph

672 Commits

Author SHA1 Message Date
Jared Tan 42d79bf08d
Fix too many mang ipv4 records reported by the agent when deployed in container. (#4817) 2020-05-25 16:15:10 +08:00
吴晟 Wu Sheng a10e044932
Group Parameterized Endpoints (#4802)
* Group Parameterized Endpoints. Configure the grouping rules for parameterized endpoints, to improve the meaning of the metrics.
2020-05-20 22:50:22 +08:00
Evan 17757b7046
Add Baidu to the powered-by page (#4798) 2020-05-17 20:01:01 +08:00
吴晟 Wu Sheng 2dd9a3fd19
Add v8 upgrade document and fix some tiny doc issues. (#4787)
* Add v8 upgrade document and fix some tiny doc issues.

* Add link to STAM paper.
2020-05-14 18:43:32 +08:00
mrproliu 8af10bed11
Support regex to include or exclude the names in alarm module (#4775)
* Support regex to include or exclude the names, requested through mail list, https://lists.apache.org/x/thread.html/rb6d91093776cf61880425449d3d25f9d560cd32363c0075de9a85d13@%3Cdev.skywalking.apache.org%3E

Co-authored-by: Mrproliu <mrproliu@lagou.com>
Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-05-13 14:34:16 +08:00
TerrellChen cd41b223b8
Delete removed method in 8.0.0 (#4778) 2020-05-12 23:21:25 +08:00
吴晟 Wu Sheng 39adda09f3
Make the default application.yml more friendly in the configuration s… (#4777)
* Make the default application.yml more friendly in the configuration section.

* Fix an issue in python e2e.
2020-05-12 16:55:31 +08:00
mrproliu 749af3e04e
Alarm support multiple scope (#4769)
* Support service relation and database access alarm

* support service instance relation alarm

* support endpoint relation alarm

* document and format the name

* resolve issues

* add database access and endpoint relation rule example

* resolve code format

* remove unnecessary getter and setter package declare

* remove unnecessary fields

Co-authored-by: Mrproliu <mrproliu@lagou.com>
2020-05-11 00:28:10 +08:00
吴晟 Wu Sheng 2880699860
Make OAL controlled by the receivers. (#4767)
* Split the official_analysis.oal into different parts

* Add Envoy OAL define.

* Fix license.
2020-05-09 21:39:19 +08:00
mrproliu 816878897c
Support multiple ways to analyze segments in rest (#4745)
* support multiple segments analyze

* Support multiple ways to analyze segment data

* Change to support single or list of the segment data, add the document

* fix document and change the lua agent commit id

Co-authored-by: Mrproliu <mrproliu@lagou.com>
2020-05-08 22:54:36 +08:00
kikupotter b5c9a64fa9
Update powered-by.md (#4760)
* Update powered-by.md

* Update powered-by.md

Change order

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-05-08 18:45:22 +08:00
吴晟 Wu Sheng 377315edbb
Make sure the DB service could be generated. (#4757) 2020-05-08 11:14:16 +08:00
songzhendong d713076f01
Update the path of tls_key_generate.sh script (#4756) 2020-05-08 08:59:19 +08:00
Efe Kaptan d19ba41678
Mariadb JDBC plugin (#4740)
* Add Mariadb JDBC plugin and provide tests

* Refactor component name

* Reformat plugin description and remove healthcheck span from the test

Co-authored-by: Efe Kaptan <Efe.Kaptan@webtrekk.com>
Co-authored-by: zhang-wei <pknfe@outlook.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-05-07 20:54:30 +08:00
kezhenxu94 c9ac104120
Add python project into the project page (#4752)
* Add python project into the project page

* Update README.md

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-05-07 08:25:59 +08:00
Jared Tan d51c788113
support user to customize an endpoint (#4716)
* support user to customize an endpoint with toolkit.

* fix code style.

* add md.

* Update docs/en/setup/service-agent/java-agent/Application-toolkit-trace.md

Co-Authored-By: 吴晟 Wu Sheng <wu.sheng@foxmail.com>

* add test case.

* fix expecteddata.tml.

* fix data.

* fix expecteddata.tml.

* remove operationId in expectedData.yaml.

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-04-29 19:39:52 +08:00
吴晟 Wu Sheng 217bb624f6
Support percentile function in the meter system. (#4725)
* Support percentile function in the meter system.

* Update document.

* Fix formats.
2020-04-29 08:43:26 +08:00
吴晟 Wu Sheng 7c84e77bf2
Support histogram function in Meter system. (#4719)
* Support histogram function in Meter system.
* Add histogram in the document.
* Support infinite-
2020-04-27 14:38:38 +08:00
innerpeacez 3bc6cb270c
k8s doc https://github.com/apache/skywalking-kubernetes (#4715)
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-04-26 12:38:20 +08:00
吴晟 Wu Sheng 071708a4a3
Support default value in labeled-value and heatmap query. (#4711)
* Support default value in labeled-value and heatmap query.

* Update a little document.
2020-04-25 21:24:15 +08:00
J-Cod3r 2b41aea639
log4j2 support AsyncAppender print tid (#4670)
* log4j2 support AsyncAppender print tid
2020-04-25 17:35:22 +08:00
zhang-wei 0babc1a6ff
Modification Plugin-test.md (#4706)
* modification doc

* modification doc

* Update docs/en/guides/Plugin-test.md

* Update docs/en/guides/Plugin-test.md

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: Brandon Fergerson <fergerson92@gmail.com>
2020-04-25 14:51:09 +08:00
吴晟 Wu Sheng b635e254c4
Provide Meter(metrics) system (#4694)
Here are the basic and simple usages of the MeterSystem APIs.

## Meter Creation
New meter could be created based on metrics name, function, scope and data type. 
1. Metrics name is still the storage entity name.
2. Functions are every similar with the OAL function, just accepting different input.
```java
final MeterSystem meterSystem = MeterSystem.meterSystem(getManager());
meterSystem.create("test_long_metrics", "avg", ScopeType.SERVICE, Long.class);
```
NOTICE, this creation should only be called in the `module#prepare` stage, otherwise, `Can't create new metrics anymore` exception will be raised after the **CORE** module `start` stage finished. You may find out, there is a chance `create` could be executed successfully in your own `module#start` stage, but it it just because of the sequence of provider loaded by the class loader, **no guarantee, so please don't do that**.

## Runtime Calculation
`AcceptableValue` is the object created at the runtime to accept new metrics value.
```java
         final MeterSystem service = getManager().find(CoreModule.NAME).provider().getService(MeterSystem.class);
        Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(new Runnable() {
            @Override
            public void run() {
                final AcceptableValue<Long> value = service.buildMetrics("test_long_metrics", Long.class);
                value.accept(MeterEntity.newService("abc"), 5L);
                value.setTimeBucket(TimeBucket.getMinuteTimeBucket(System.currentTimeMillis()));
                service.doStreamingCalculation(value);
            }
        }, 2, 2, TimeUnit.SECONDS);
```

## Meter Functions
Right now, only `avg` function has been implemented. I submit this PR as soon as possible to get your feedback. I will add more functions.

## Notice
1. Make slow trace query available in the sampled record. Logically, they are the same thing. The UI doesn't need to concern about the trace as a special case.
2. Endpoint dependency will be removed from the dashboard. Because no query available for it. We will provide a new page for that in 8.1
3. Comparison page will be removed due to dashboard is powerful enough to replace it.
2020-04-24 23:33:13 +08:00
Weiyi Liu cf7482a79c
Fix typo. (#4693) 2020-04-23 11:25:40 +08:00
Jared Tan ecd7d99799
fix profile main function file link. (#4650) 2020-04-14 19:57:19 +08:00
songzhendong b3b8aaea6b
Add Tomcat 9 's Java agent deployment instructions(Linux) (#4645) 2020-04-13 18:12:54 +08:00
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
mrproliu 5646dfbb23
fix wrong correlation header name document (#4638)
Co-authored-by: Mrproliu <mrproliu@lagou.com>
2020-04-12 07:51:11 +08:00
吴晟 Wu Sheng 44cae97c25
Set up restrict length rules for service, instance and endpoint (#4633)
* Set up restrict length rules for service, instance and endpoint

* Adjust two env names.
2020-04-10 17:59:21 +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
Brandon Fergerson 50a5416117
Update Plugin-test.md (#4623) 2020-04-08 20:22:04 +08:00
吴晟 Wu Sheng fa9a44b750
Version number changed including a little documentation. (#4597) 2020-03-31 12:57:20 +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
Scott 54d8c95cf2
Add sf express to the powered by page. (#4577) 2020-03-27 08:54:33 +08:00
Randy Abernethy a45fb308f8
Syntax, grammar and basic cleanup. (#4575)
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-03-27 07:54:41 +08:00
kezhenxu94 509b20e7ce
Add JDK13, JDK14 to build matrix (#4574)
Motivation:

Guarantee that the agent supports JDK13 and JDK14

Modifications:

Add JDK13 and JDK14 to build matrix

Result:

Build with JDK13 and JDK14
2020-03-26 22:13:28 +08:00
heguoya cb5ff88d95
Add yunda express to the powered by page. (#4571)
* Update powered-by.md

* Update powered-by.md

Change order.

* Update powered-by.md

Change to official company name.

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-03-26 12:34:30 +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
songzhendong d53b27de1a
Update How-to-build.md (#4568)
Modify Eclipse and IDEA  steps
2020-03-25 17:07:28 +08:00
kezhenxu94 e7f66c911e
[CI] Reorganize the Plugin Tests to speed up the PR checks (#4566) 2020-03-24 23:33:15 +08:00
吴晟 Wu Sheng 7c9b6cf054
Fix a typo. (#4558)
* Update How-to-release.md

* Update How-to-release.md

Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-03-24 08:57:47 +08:00
吴晟 Wu Sheng 2ec8e2ad7b
Update the announce process. (#4553)
* Update the announce process.

* Update How-to-release.md

Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-03-23 15:54:24 +08:00
吴晟 Wu Sheng 259a147682
Add miss doc about collecting parameters in the profiled traces. (#4552) 2020-03-23 09:41:02 +08:00
cngdkxw 2e9f001633
Add spring cloud feign 2.x plugin (#4526) 2020-03-20 20:28:30 +08:00
吴晟 Wu Sheng 1c7529a559
Add a miss link about apdex documentation. (#4543) 2020-03-20 08:24:35 +08:00
mrproliu 919c8af377
SkyWalking Cross Process Correlation Headers Protocol (#4509)
* provide the data transmission protocol

Co-authored-by: Mrproliu <mrproliu@lagou.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
Co-authored-by: zhang-wei <pknfe@outlook.com>
2020-03-19 11:39:44 +08:00
吴晟 Wu Sheng 5d12e586c3
Add the UI usage documentation (#4533)
* Add UI documentation.

* Fix

* Fix size.
2020-03-18 12:16:57 +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