Commit Graph

127 Commits

Author SHA1 Message Date
lijial 0950c1ad6e
ArrayBlockingQueueBuffer del IF_POSSIBLE strategy (#6053)
* ArrayBlockingQueueBuffer del IF_POSSIBLE strategy

* update CHANGES.md

Co-authored-by: 李家良 <jialiang.li@tongdun.cn>
2020-12-22 16:05:04 +08:00
吴晟 Wu Sheng e6265ba5be
Fix DataCarrier's `org.apache.skywalking.apm.commons.datacarrier.buffer.Buffer` implementation isn't activated in `IF_POSSIBLE` mode. (#6048) 2020-12-22 07:54:15 +08:00
吴晟 Wu Sheng af19c72a7e
8.3.0 tagged, open for 8.3.0 iteration. (#5920)
* [maven-release-plugin] prepare release v8.3.0

* [maven-release-plugin] prepare for next development iteration
2020-11-29 11:01:20 +08:00
zcai2 48479b74df
test: fix flaky test in comsumerTest (#5846)
Co-authored-by: Cai, Zhouxiang <zc31@illinois.edu>
Co-authored-by: Zhenxu Ke <kezhenxu94@apache.org>
2020-11-16 16:19:47 +08:00
Evan 08781b41a8
add transmission latency for MQ case (#5666)
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
Co-authored-by: kezhenxu94 <kezhenxu94@apache.org>
2020-11-01 11:01:04 +08:00
kezhenxu94 f92a7bf897
Start next iteration 8.3.0 (#5719)
* [maven-release-plugin] prepare release v8.2.0

* [maven-release-plugin] prepare for next development iteration
2020-10-24 19:30:29 +08:00
Jared Tan 31a217c944
chore: remove unused dependencies. (#5674) 2020-10-16 00:31:24 +08:00
kezhenxu94 0171ff6a01
Promote Integer to Long before multiplying to avoid numeric overflow (#5602) 2020-10-02 19:53:48 +08:00
Daming f39c0dd274
fix to release incorrectly lock when it is failed to obtain lock (#5610)
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-10-01 22:49:39 +08:00
Xin,Zhang 1cddb60a00
add @SuppressWarnings(NonAtomicVolatileUpdate) (#5606)
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-10-01 17:28:18 +08:00
zhang-wei 736dc3d3ec
Remove some unused variables (#5598) 2020-10-01 14:51:07 +08:00
Xin,Zhang 772f1d2e82
Replace Class.newInstance() with getDeclaredConstructor().newInstance() (#5600)
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-10-01 12:56:28 +08:00
Kdump 8a8df3550e
fix Classcanbestatic (#5597)
Inner class is non-static but does not reference enclosing class

ref: https://errorprone.info/bugpattern/ClassCanBeStatic

Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-10-01 08:18:00 +08:00
吴晟 Wu Sheng 103cf00672
Support JDK 11 compiling and upgrade dependencies (#5579)
* Upgrade dependencies and make the JDK11 compiling passed.

* Update license and fix license check file.

* Add CI for JDK11 compiling.

* Update doc.
2020-09-29 10:34:21 +08:00
Lu Jiajing 9442a51c11
JsonLogger implementation (#5356) (#5357) 2020-08-29 23:17:29 +08:00
Lu Jiajing 5bfac1b50f
Remove style-check exception for logger (#5363) 2020-08-21 18:26:25 +08:00
李文广 b8e5ff516c
Remove Buffer redundant strategy judgment code. (#5277) 2020-08-09 16:21:36 +08:00
吴晟 Wu Sheng 2f2840cbf5
Begin 8.2.0 iteration. (#5211)
* [maven-release-plugin] prepare release v8.1.0

* [maven-release-plugin] prepare for next development iteration
2020-07-31 20:15:27 +08:00
Gao Hongtao 3fdfdf3b83
Storage elasticsearch health check (#5099) 2020-07-19 23:37:13 +08:00
吴晟 Wu Sheng 5de0d2c6f6
Set version to 8.1.0 for next iteration. (#4916)
* [maven-release-plugin] prepare release v8.0.0

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

* Remove all shardingsphere cases.
2020-06-12 23:44:42 +08:00
kezhenxu94 7b071bd7f7
Fix nested query and type conversion in MySQL, remove unused codes (#4738) 2020-05-04 13:54:12 +08:00
吴晟 Wu Sheng 31385159c2
Support to use empty string to override existing config. (#4635) 2020-04-11 13:05:57 +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 778b86e1de
Update ConsumeDriver.java (#4610)
spelling fix
2020-04-06 07:17:31 +08:00
吴晟 Wu Sheng fa9a44b750
Version number changed including a little documentation. (#4597) 2020-03-31 12:57:20 +08:00
吴晟 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
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 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
John Niang 41c63672c0
Refactor ConfigInitializer and improve map type config (#4321)
* Refactor ConfigInitializer

* Rename some variable names and add some java docs

Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
Co-authored-by: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2020-02-06 17:09:38 +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
吴晟 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
Muxin 84792873b8 typo error (#3914) 2019-11-21 21:11:27 +08:00
吴晟 Wu Sheng d7038fe67b
Refactor DataCarrier, support ArrayBlockingQueueBuffer as implementor (#3849)
* Refactor DataCarrier, support ArrayBlockingQueueBuffer as the implementation for blocking queue buffer.

* Fix style issue.

* Remove import.

* Remove uesless codes.
2019-11-15 23:33:40 +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
kezhenxu94 321a88f575 Bugfix: endpoint grouping rules may be not unique (#3510) 2019-09-23 22:32:28 +08: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
Stalary 3d00d83fc6 ADD: add operationName length threshold (#3357)
* ADD: add operationName length threshold

* MOD:move operationName threshold to Config, simplified code

* MOD:update agent set-up document, clean code

* MOD:add agent.operation_name_threshold conf prefix
2019-08-28 22:18:11 +08:00
吴晟 Wu Sheng a3241f0a59
Support op group name in agent config core. (#3299)
* Support op group name in agent config core.

* Provide core API for operation name grouping, rest template plugin update, and doc update.

* Fix doc

* Fix test case.

* Fix missing changes.

* add shuyun to powered-by.md (#3341)

* add shuyun to powered-by.md

* update powered-by.md

* Remove static method.
2019-08-27 15:07:44 +08:00
Alvin ffe1df579f Enhance agent logger. (#3250)
* Add pattern logger to replace the easy logger.
* Doc update
* Support console log
2019-08-14 14:31:24 +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
Daming 8faa356403 Using ArrayList to instead of LinkedList (#3093)
* Using ArrayList to instead of LinkedList
2019-07-17 13:26:00 +08:00
Roshi 7f3ff150ab One more time for heigher performance (#2930)
V3(this commit) has 20% performance improvement leverages from no `false-sharing` of CPU cache mechanism.
  /**
     * Benchmark                                                 Mode  Cnt         Score         Error  Units
     * AtomicRangeIntegerTest.testGetAndIncrementV1Performance  thrpt    5  13496720.554 ±  240134.803  ops/s
     * AtomicRangeIntegerTest.testGetAndIncrementV2Performance  thrpt    5  39201251.850 ± 1005866.969  ops/s
     * AtomicRangeIntegerTest.testGetAndIncrementV3Performance  thrpt    5  45832615.061 ± 2987464.163  ops/s
     */
2019-06-29 15:18:03 +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
龟仙老人 f414d72dd5 Rewrite AtomicRangeInteger for higher performance (#2874)
Typical test benchmark for performance improvement. Check PR for more detail.

/**
     * # JMH version: 1.21
     * # VM version: JDK 1.8.0_111, Java HotSpot(TM) 64-Bit Server VM, 25.111-b14
     * # VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/bin/java
     * # VM options: -Dfile.encoding=UTF-8
     * # Warmup: 3 iterations, 10 s each
     * # Measurement: 5 iterations, 1000 ms each, 1000 calls per op
     * # Timeout: 10 min per iteration
     * # Threads: 1024 threads, ***WARNING: Synchronize iterations are disabled!***
     * # Benchmark mode: Throughput, ops/time
     * # Benchmark: org.apache.skywalking.apm.commons.datacarrier.common.AtomicRangeIntegerTest.testNewGetAndIncrementPerformance
     *
     * # Run progress: 0.00% complete, ETA 00:01:10
     * # Fork: 1 of 1
     * # Warmup Iteration   1: 2078993549.108 ops/s
     * # Warmup Iteration   2: 6408026002.297 ops/s
     * # Warmup Iteration   3: 5455960135.636 ops/s
     * Iteration   1: 165330.972 ops/s
     * Iteration   2: 95420.526 ops/s
     * Iteration   3: 173340.089 ops/s
     * Iteration   4: 94214.669 ops/s
     * Iteration   5: 261606.088 ops/s
     *
     *
     * Result "org.apache.skywalking.apm.commons.datacarrier.common.AtomicRangeIntegerTest.testNewGetAndIncrementPerformance":
     *   157982.469 ±(99.9%) 265443.465 ops/s [Average]
     *   (min, avg, max) = (94214.669, 157982.469, 261606.088), stdev = 68934.825
     *   CI (99.9%): [≈ 0, 423425.934] (assumes normal distribution)
     *
     *
     * # JMH version: 1.21
     * # VM version: JDK 1.8.0_111, Java HotSpot(TM) 64-Bit Server VM, 25.111-b14
     * # VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/bin/java
     * # VM options: -Dfile.encoding=UTF-8
     * # Warmup: 3 iterations, 10 s each
     * # Measurement: 5 iterations, 1000 ms each, 1000 calls per op
     * # Timeout: 10 min per iteration
     * # Threads: 1024 threads, ***WARNING: Synchronize iterations are disabled!***
     * # Benchmark mode: Throughput, ops/time
     * # Benchmark: org.apache.skywalking.apm.commons.datacarrier.common.AtomicRangeIntegerTest.testOriGetAndIncrementPerformance
     *
     * # Run progress: 50.00% complete, ETA 00:00:43
     * # Fork: 1 of 1
     * # Warmup Iteration   1: 3345520433.355 ops/s
     * # Warmup Iteration   2: 4823749249.799 ops/s
     * # Warmup Iteration   3: 6676209367.819 ops/s
     * Iteration   1: 34885.954 ops/s
     * Iteration   2: 33128.147 ops/s
     * Iteration   3: 31300.865 ops/s
     * Iteration   4: 19188.602 ops/s
     * Iteration   5: 34664.282 ops/s
     *
     *
     * Result "org.apache.skywalking.apm.commons.datacarrier.common.AtomicRangeIntegerTest.testOriGetAndIncrementPerformance":
     *   30633.570 ±(99.9%) 25249.253 ops/s [Average]
     *   (min, avg, max) = (19188.602, 30633.570, 34885.954), stdev = 6557.151
     *   CI (99.9%): [5384.317, 55882.822] (assumes normal distribution)
     *
     *
     * # Run complete. Total time: 00:01:26
     *
     * REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
     * why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
     * experiments, perform baseline and negative tests that provide experimental control, make sure
     * the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
     * Do not assume the numbers tell you what you want them to tell.
     *
     * Benchmark                                                  Mode  Cnt       Score        Error  Units
     * AtomicRangeIntegerTest.testNewGetAndIncrementPerformance  thrpt    5  157982.469 ± 265443.465  ops/s
     * AtomicRangeIntegerTest.testOriGetAndIncrementPerformance  thrpt    5   30633.570 ±  25249.253  ops/s
     */
2019-06-15 13:43:36 +08:00
zhangwei bfd46151ad Replace add with addAll, reduce the invoke time a little. (#2766) 2019-05-27 23:08:11 +08:00
SataQiu 1f39b19937 fix some spelling mistakes (#2615) 2019-05-07 11:40:35 +08:00
Ming Deng 16103c6738 Using PowerMockito to mock System.getent; (#2593)
* Using PowerMockito rathen then using reflection to mock System.getent;

* Run Test

* Trigger CI only on the master
2019-05-07 10:32:43 +08:00
Michael Hausegger ac2cc7339d Added Unit Tests to increase code coverage (#2571) 2019-05-03 08:29:24 +08:00