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.
* 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>
* Add apdex function to OAL
* Add empty line
* Setup config watcher
* Add identifier type to function parameter
* Add config test
* Update score algorithm
* Replace responseCode with status
* Add comments about apdex score algorithm
* Add docs
* Add e2e test case
* Update test case
* Fix disptch class generating error
* Update value name of apdex metric
* Tuning threshold
* Fix single tolerated point bug
* 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
* Fix#3402
* Fix unecessary blankline
* Optimize rebuild logic
* Fix checkstyle fail
* Add concurrency test
* Fix text mistakes
* Optimize refresh logic && new test for return clients never change by refresh logic
* Make unit test more clearness
* Add more unit test && fix a bug
* Rename variable && format by skywalking style
* 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
* Change OAL generator tool to runtime.
Step 1. change project structure. API links and maven pom.
* Part of metrics class generation
* Metrcis class generated.
* Set up the basic structure of new OAL engine.
* Finish metrics generation.
* Support dispatcher generation.
* Format codes.
* Generate dispatcher all methods.
* Implement disable in hardcode.
* Clear up
* Fix compile startup.
* Update license and document of new OAL engine.
* Fix rat.
* Disable class output in default
* Copy from @kezhenxu94 's test PR, https://github.com/apache/skywalking/pull/3110
* Wait for the mount command to finish
* Revert SolrJ plugin.
* Remove an unexpected test case.
* Revert "Remove an unexpected test case."
This reverts commit 359990e18b0c0ae1a6e1005ff985bf237ec05619.
* Clear context.
* Fix a leak.
* 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
* The new feature of Elasticsearch storage with the time series implementation.
* Time bucket util improve.
* Fixed some Gramma error.
* Update ttl.md
Polish English a little.
* Update ttl.md
Add more explicit description of TTL
* Update ttl.md
* Update StorageModuleElasticsearchConfig.java
Set otherMetricsDataTTL = 0 as default, make user more clear.
* Rename the timeSeriesAble to capableOfTimeSeries
* Fixed a test case failure.
* The prototype of topN sql worker.
* Add scope and new manual dispatcher.
* no message
* Finish topN persistence codes. Not test yet. And query have not added.
* Finish the top n database statement persistent.
* Support different slow thresholds for different db types.
* Fix wrong db default threshold
* Finish new query protocol binding.
* Provide query empty implementation and sync ui.
* Finish all codes, hope it works :P
I will run the tests tonight.
* Fix
* Fix
* Fix a startup issue.
* Add time bucket to persistent.
* Fix wrong query result column name.
* Fix Database query.
* Fix checkstyle.
* Fix wrong order logic, and add a test case to verify, to fix https://github.com/apache/incubator-skywalking/pull/2239#discussion_r255948249