Commit Graph

60 Commits

Author SHA1 Message Date
Jared Tan a6d0366c22 support min function. (#4072)
* support min function.

* fix logical bug and update test case.

* the same here.
2019-12-16 22:20:30 +08:00
kezhenxu94 eea5d027cc
Add Armeria Java agent plugin (#4024) 2019-12-11 15:57:45 +08:00
Gao Hongtao 6475ab3d1d Add apdex function to OAL (#3855)
* 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
2019-11-29 12:54:33 +08:00
于玉桔 6ffd92792d Support spring-tx in optional plugin (#3857)
* plugin code

* NPE FIX
2019-11-19 10:05:01 +08:00
于玉桔 db0b7486a5 fix component-libraries.yml miss component:rest-high-level-client (#3859)
* fix component-libraries.yml miss component:rest-high-level-client

* Update component-libraries.yml

Add mapping.
2019-11-14 17:59:59 +08:00
mrproliu c640b512cd Provide agent plugin netty-socketio (#3640)
* 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
2019-10-23 13:06:17 +03:00
Yanick.xia d68c0883ed Fix more resonable error (#3619)
* 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
2019-10-16 19:33:54 +03:00
mrproliu 58804174e1 Provide plugin for Ehcache 2.x (#3575)
* support ehcache 2.x
2019-10-10 22:39:37 +08:00
kezhenxu94 114a74f35a
Fix some miscellaneous bugs (#3567) 2019-10-07 17:35:22 +08:00
吴晟 Wu Sheng 8ebf3aac04
Support timeout configuration in agent and backend. (#3491)
* Support timeout configuration in agent and backend.

* Fix CI

* no message
2019-09-20 15:02:28 +08:00
Louis Tsui 72f07b812a Add Light4j plugin (#3323)
* 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
2019-09-18 21:43:17 +08:00
stone.wlg bb0b3d369f provide cassandra java driver 3.x plugin (#3410)
* add cassandra java driver 3.x plugin
2019-09-12 16:14:48 -07:00
吴晟 Wu Sheng 2a2679eefb
Fix Pxx calculate bug. (#3391) 2019-09-02 10:14:33 +08:00
Andy Ai 8bf7e346ee Support play 2.x (#3207)
* Support play 2.x
2019-08-29 17:00:51 +08:00
kezhenxu94 db9759fcc2 Check license header strictly (#3274)
* Check license header strictly

* Ignore header template

* Include more files to check list
2019-08-16 14:37:44 +08:00
于玉桔 a0e816771c Webflux plugin optimization (#3243)
* webflux
2019-08-13 22:52:01 +08:00
于玉桔 73cf05c5b9 fix component-libraries typo (#3241) 2019-08-10 17:07:18 +08:00
彭勇升 pengys f658d9eb4d Simplify the PxxMetrics and ThermodynamicMetrics to improve performance (#3162)
* Feature of database session

* Make it configurable.

* Change the metrics process flow.
before: metrics entrance -> aggregate worker -> remote worker -> trans worker -> minute, hour, day, month persistence worker -> storage
after: metrics entrance -> aggregate worker -> remote worker -> minute persistence worker ->  trans worker -> hour, day, month persistence worker -> storage

* IntKeyLongValueHashMap instead of IntKeyLongValueArray.

* Make the OAP server can't startup.

* Finish

* Rename the method and fixed some test case issues.

* Rename field.

* no message
2019-07-25 19:08:36 +08:00
吴晟 Wu Sheng d256fc348e OAP internal RemoteService protocol change and code refactor (#3128)
* Remove the worker id, and add worker name for remote handler only.

* Remote metrics and inventory classes mapping too.

* Refactor codes.
2019-07-20 23:47:17 +08:00
吴晟 Wu Sheng 5b039e9747 All NEW OAL Runtime Engine (#3109)
* 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
2019-07-18 19:47:23 +08:00
于玉桔 48ffd09239 Spring @Async plugin support (#2902)
* spring_async_plugin

* fix

* fix

* fix

* fix

* format fix

* rename

* fix

* fix version

* Update SWCallable.java

* Update Supported-list.md

* Update Supported-list.md
2019-07-02 07:46:25 +08:00
吴晟 Wu Sheng 0225711e26
Check duplicate providers in bootstrap (#2976)
* Enhance module manager
2019-07-01 15:54:12 +08:00
daming 6ff33d8816 Restore solrj-plugin (#2888)
* restore solrj-plugin

* restore solrj-plugin
2019-06-17 18:48:18 +08:00
吴晟 Wu Sheng 0f9c27d481
Revert SolrJ plugin. (#2871)
* Revert SolrJ plugin.

* Remove an unexpected test case.

* Revert "Remove an unexpected test case."

This reverts commit 359990e18b0c0ae1a6e1005ff985bf237ec05619.

* Clear context.

* Fix a leak.
2019-06-14 09:24:58 +08:00
daming 6ae517423c Provide plugin for Solr-7.x(client) (#2730)
* 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
2019-06-05 22:54:45 +08:00
彭勇升 pengys 5036e83343 Good news of an important feature: time series implementation in Elasticsearch storage. (#2808)
* 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.
2019-06-03 18:46:42 +08:00
FuCheng,Yan bc6f06f964 Support RESTEasy 3.x (#2665)
* feat(agent sdk): resteasy plugin

* fix(agent sdk): fix component define

* fix(agent sdk): fix file license

* fix(agent sdk): fix file license

* docs(agent sdk): add supported list

* fix(agent sdk): fix file license

* fix(agent sdk): fix response error tag

* fix(agent sdk): fix

* fix(agent sdk): adapter 3.5+

* fix(agent sdk): remove unreasonable async handling
2019-05-24 22:14:43 +08:00
于玉桔 98b495ebcc Spring cloud gateways 2.1.x plugin (#2517)
* spring cloud gateways plugin
2019-05-20 17:06:40 +08:00
彭勇升 pengys 63fb961c0d New OAP annotations, they are friendly for streaming loader. (#2670)
* New stream annotation.
- Inventory annotation example:
@Stream(name = ServiceInventory.INDEX_NAME, scopeId = DefaultScopeDefine.SERVICE_INVENTORY, storage = @Storage(builder = ServiceInventory.Builder.class, deleteHistory = false), kind = StreamKind.Inventory)

- Metrics annotation example:
@Stream(name = ServiceRelationClientSideMetrics.INDEX_NAME, scopeId = DefaultScopeDefine.SERVICE_RELATION, storage = @Storage(builder = ServiceRelationClientSideMetrics.Builder.class), kind = StreamKind.Metrics)

- Record annotation example:
@Stream(name = SegmentRecord.INDEX_NAME, scopeId = DefaultScopeDefine.SEGMENT, storage = @Storage(builder = SegmentRecord.Builder.class), kind = StreamKind.Record)

- TopN annotation example:
@Stream(name = TopNDatabaseStatement.INDEX_NAME, scopeId = DefaultScopeDefine.DATABASE_SLOW_STATEMENT, storage = @Storage(builder = TopNDatabaseStatement.Builder.class), kind = StreamKind.TopN)

* no message

* Stream annotation finish.

* Make stream processors to be the singleton class.

* Fixed the compile errors.

* Modify the OAL module for this annotation refactor.

* Add apache license header.

* Duplicate import.

* Fixed check style error.
2019-05-15 22:42:38 +08:00
于玉桔 1b6bd5f81d study sharding sphere (#2679) 2019-05-15 19:12:09 +08:00
彭勇升 pengys ed78dabe8b Rename metric and indicator to metrics. (#2643)
* Rename metric to metrics.

* Fixed test case execute failure issues.
2019-05-10 08:05:37 +08:00
Brandon Fergerson ce1c7aadfc Vert.x Core 3.x Plugin (#2386)
* vertx plugin impl
2019-04-16 23:46:49 +08:00
彭勇升 pengys 1fd5c5790a
Divide two static classes (#2411)
* 1. Remove static worker instances holder.
2. Remove static worker instance id generator.

* Fixed test case failure.
2019-03-30 15:37:19 +08:00
Ahoo Wang 3438151693 Sync SmartSql provider setting to all of component-libraries.yml (#2394)
* Add SmartSql provider components in component-libraries config

* sync SmartSql provider setting -> fix https://github.com/apache/incubator-skywalking/issues/2390
2019-03-20 23:06:13 -07:00
吴晟 Wu Sheng b4cb7e0bca
Envoy metric support and a bug fix (#2321)
* Extend envoy metric service, scope and OAL lexer/parser.

* Finish metric extension and oal.

* Make test env works.

* Finish test of envoy connection and memory metric.

* Change document.

* Finish docker compose test.
2019-03-07 17:05:46 +08:00
Lemon 4a54c7687d Add clr metrics scope and oal script (#2297)
* Add CLR metric scope and oal_script

* Add max indicator

* Fix checkstyle
2019-03-02 09:36:48 +08:00
于玉桔 0929ff3453 Support Zookeeper plugin (#2211)
* Zookeeper plugin
2019-02-15 22:13:44 +08:00
吴晟 Wu Sheng 4babd6ff73 Support Top sql (#2239)
* 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
2019-02-12 23:13:02 +08:00
于玉桔 a36394d9bc Support lettuce plugin (#2152)
* Support lettuce plugin

* lettuce plugin bugfix

* lettuce plugin fix license issue

* lettuce plugin fix cluster and config issue

* plugin lettuce compatible with low 5.0.x version

* lettuce plugin support version accurately describes on Supported-list.md

* plugin lettuce compatible with low 5.0.2 version

* lettuce plugin fix wrong batch method intercept point

* move lettuce to optional plugins

* fix ci issue

* fix ci issue

* Modify the description file

* Pom code optimization

* Optimization operation name

* Optimization operation name2
2019-01-26 13:09:03 +08:00
于玉桔 43b216aa92 Support redisson plugin (#2083)
* plugin support redisson
2019-01-11 22:32:09 +08:00
吴晟 Wu Sheng 6499d4f583
Implement Prometheus to oap backend telemetry (#2133)
* Finish the basic codes of telemetry.

* Add many telemetry in oap.

* Fix a test case.

* Finish all telemetry metric.

* Fix format.

* Make telemetry works.

* Support JVM metrics.

* Add doc for telemetry.

* Fix typo.

* Fix #2135
2019-01-08 23:20:13 +08:00
langyan1022 6a4e7ffc6c fix missing ojdbc component id in component-libraries.yml (#2122)
* add ojdbc component id
2019-01-04 20:56:38 +08:00
彭勇升 pengys 7c8a683c2f
gRPC client usage improve (#1946)
* Close the clients which are unreachable.
Remote client manager test case and comments.

* Test the GRPCRemote client.

* 1. Catch the throwable for onComplete method cause of it will throw exception when connection lost.
2. Check the gRPC channel state, send message when state is ready, wait 5 second when state is not ready.

Notice: gRPC channel getState with true parameter will trigger reconnect operation.

* gRPC client will reconnect to the server when network recorvered.

* Recovery application.yml

* Recovery proto module commit id.

* no message

* Fixed compile error.
2018-11-22 20:50:27 +08:00
吴晟 Wu Sheng b6241b2ad2
Optimize collector settings and indicator (#1841)
* Support maxConcurrentCallsPerConnection and maxMessageSize in grpcServer

* Make percent percent is 1/10000

* Fix test cases.

* Make service instance indicator dispatch based on server side only.

* Set init data right in AlarmMeta.

* Make endpoint query based on server side only.
2018-10-29 20:45:44 +08:00
吴晟 Wu Sheng d9556c38fc
Make Mesh and Istio receivers ready (#1821)
* Make receiver more effective

* Add Istio test case and all source dispatch in

* Refactor mock data

* FIx rat.

* Support call component.

* Fix ThermodynamicIndicator bug.

* Fix test cases.

* Fix missing calculate in db merging.

* Add codes for debug.

* 1. Fixed elasticsearch bulk process not fresh bug. (#1819)

2. Fixed the bug of source register no queue but wait the end for batch tag.

* Remove debug log, and restore TTL timer for real scenarios.
2018-10-26 15:17:33 +08:00
彭勇升 pengys 6c92fc5484 1. Delete service component indicator. (#1809)
2. Make service relation and endpoint relation to record component id.
3. Delete service mapping indicator.
4. Make service inventory to record mapping service id.
5. Refactor global topology query and service topology query.
2018-10-25 11:19:31 +08:00
chenpengfei d941892664 Add Undertow 2.x plugin (#1700)
* Add Undertow 2.x plugin

* Undertow: Interceptor method executeRootHandler in class Connectors

* Change version number to 6.0.0-alpha-SNAPSHOT
2018-09-26 09:30:42 +08:00
吴晟 Wu Sheng 7e23f49539
Generate all metric for official release, also new func (#1679)
* New generated indicators for real backend system.

* Support cpm and new indicators.

* Fix CI and change document.

* Remove an useless line.
2018-09-17 12:02:01 +08:00
吴晟 Wu Sheng fd83aa55af Support new indicator core. (#1669)
* Support new indicator core.

* Block 2 unaccessible methods.

* Add service call as manual indicator and refactor the core DIspatcherManager
2018-09-13 16:38:50 +08:00
吴晟 Wu Sheng 973ad9e35d
Support time bucket transfer for all indicators. (#1664)
* Add transfer time bucket methods.

* prepare to merge

* Support time bucket transfer.
2018-09-12 18:44:13 +08:00