Commit Graph

450 Commits

Author SHA1 Message Date
aderm 7f69a73d13 Add postgresql agent sql query param show (#3695)
* Add postgresql agent sql query param show
2019-10-28 08:43:57 +08:00
echooymxq 1b1e80b75a Optimize code (#3600) 2019-10-11 19:17:03 +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
wuguangkuo 60236a27d6 Add feature to control the maximum agent log files (#3475)
* Add feature to control the maximum history agent log files.
2019-09-19 14:12:17 +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
Jared Tan 6c347a1169 agent support custom properties. (#3367)
* agent support custom properties.
2019-09-17 14:44:42 +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
康智冬 70b825ce43 fix typo (#3388) 2019-09-01 08:35:32 +08:00
kezhenxu94 54614a0594 Support gateway without agent (#3308)
* Support Gateway without agent
2019-08-30 16:17:41 +08:00
Andy Ai 8bf7e346ee Support play 2.x (#3207)
* Support play 2.x
2019-08-29 17:00:51 +08: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
Alan Lau d3d06a1ed9 Add simple tests for DictionaryUtil. (#3301) 2019-08-22 13:44:26 +08:00
吴晟 Wu Sheng b051f6b094 Log message cached unexpected (#3303) 2019-08-22 11:14:51 +08:00
Alan Lau a71c3abef6 Add cached writer. (#3287)
* Add cached writer so we need not call whole method.

* Make writer volatile.

* Make writer to WRITER.

* Rewrite the writeFactory for add the cached writer and keep the unit tests stable.

* Give the default writer.

* Remove volatile.
2019-08-22 10:03:54 +08:00
kezhenxu94 37f367a3b7 Stabilize unit test (#3291)
* Stabilize unit test

The FileWriterTest creates files in the source directory(failed to
delete them due to a bug in the `deleteDir` method), making
them being checked by checkstyle plugin and failed to pass.

* Seperate compilation step
2019-08-20 15:04:50 +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
吴晟 Wu Sheng 0ae2228a86
Make auto instrumentation works when Module definition existing (#3199)
* Refactor open edge.

* Make refactor works.

* Revert log back.

* Remove unnecessary codes.

* Open edge for all internal binding interceptors.

* Add document about JDK 9+ module.

* Change bytebuddy to 1.10.1(unreleased)

* Change document

* 1. Adopt the latest bytebudy changes(snapshot only), commit b609711564.
2. Remove disruptor by ArrayBlockingQueue, because Disruptor can't work in both JDK 8(1) and 9-12, if we don't add `--add-modules jdk.unsupported`
3. Doc update.

* Update README.md
2019-08-15 07:46:28 +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
yangxb2010000 22018d6a9f fix createExitSpan bug (#3257) 2019-08-14 00:10:51 +08:00
Alvin 90d525b164 Improve agent grpc auto reconnect (#3240)
* improve auto connect

* add config

* use int instread of atomic

* update format

* update doc

* update var name and doc

* fix
2019-08-11 12:30:17 +08:00
qxo 1ae04cf2bb improve AsyncSpan API: make #asyncFinish and #prepareForAsync can not invoke more than once (#3201)
* improve AsyncSpan API: make #asyncFinish and #prepareForAsync can not invoke more than once
make the API more strong: make the plugin code bug fail-fast
2019-08-06 08:30:29 +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
吴晟 Wu Sheng ff0ffb99ca
Add agent version in gRPC connection establish stage (#3205) 2019-08-02 17:07:32 +08:00
kezhenxu94 4db007ee79 Fix wrong time unit (#3203) 2019-08-02 13:53:02 +08:00
kezhenxu94 49f50a24a4 Support upgrade backend w/o rebooting agents (#3170)
* Support upgrade backend w/o rebooting agents
2019-08-02 09:25:17 +08:00
吴晟 Wu Sheng 2b274f3cc0
Make JDK 12 works. (#3197) 2019-07-31 23:24:53 +08:00
吴晟 Wu Sheng b091c0ae48
Make bootstrap instrumentation available in JDK9 - 11 (#3194)
* Make JDK9-11 available for bootstrap instrumentation

* Remove temp folder of old bootstrap instrumentation requirement.
2019-07-31 15:30:11 +08:00
kezhenxu94 7958ba9aff Fix bug: state not updated when GRPC auto reconnect to the same server (#3181) 2019-07-29 12:57:07 +08:00
吴晟 Wu Sheng d66f775fe5
Remove javassist from agent dependency (#3176)
* Remove javassist dependency

*   Finish the PR.

* Change doc title level.

* Remove the duplicated codes.
2019-07-28 23:33:48 +08:00
li.can 860fb0843c Add StaticMethodsAroundInterceptor to be injected. (#3174) 2019-07-27 15:52:49 +08:00
吴晟 Wu Sheng c76fb4053e
Set up the bootstrap instrumentation plugin framework (#3152)
* POC: Intercept successfully.

* Refactor codes

* Build the new core

* Setup the new core.

* Push the javassist version to 3.23.2-GA, as it is the last version supports JDK 1.6 compile, according to https://github.com/jboss-javassist/javassist/blob/rel_3_23_2_ga/pom.xml#L149-L160

* Finish the all codes.

* Document updated for bootstrap instrumentation.

* Add a notice to document.

* Remove unexpected file.

* Set javassist version right. Add judge in core interceptors

* Fixe no log bridge implementation
2019-07-25 22:00:07 +08:00
彭勇升 pengys 0cf998022d If transform throw exception, the stream observer won't call the onCompleted method, then the stream observer will wait it finish until the timeout. (#3163) 2019-07-25 08:54:14 +08:00
li.can 137b142aab Support servlet 2.5 for Jetty,Tomcat,SpringMvc (#3120)
* servlet 2.5

* method exist

* update MethodUtil

* Update MethodUtil.java

Add a comment to the new core util method. @candyleer I am concerning this method will be used widely even unnecessary.
2019-07-22 15:21:59 +08:00
qxo f4ca4c8a6e fixed for #3135:createEntrySpan should get SamplingService only if it required ( carrier is valid) (#3137) 2019-07-21 23:10:03 +08:00
于玉桔 b1dea4c540 Provide a configuration to control the length of the peer field (#3105)
* Fix 3096
2019-07-20 16:50:28 +08:00
吴晟 Wu Sheng d2f52f28b4
Make #finish more stable in async APIs (#3115)
* Make finish more stable in async APIs
2019-07-18 23:08:46 +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
qxo c7916d9f27 improve ContextManager.stopSpan performance: call ThreadLocal only once (#3068)
* improve ContextManager.stopSpan and awaitFinishAsync performance: call ThreadLocal only once
For the [JMH benchmark test](https://gitlab.com/qxo1/Common-JMH-benchmark/-/jobs/251025992) :
On gitlab CI(java 8): call ThreadLocal once vs twice fast over 10%
My T480 java 8 : fast over 40%; java 11: fast over 50%;

[The JMH benchmark code ](https://github.com/qxo/Common-JMH-benchmark/blob/master/src/main/java/test/ThreadLocalGetXTimeBenchmark.java)

* Update apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/ContextManager.java

Co-Authored-By: kezhenxu94 <kezhenxu94@163.com>

* Update apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/ContextManager.java

Co-Authored-By: kezhenxu94 <kezhenxu94@163.com>

* Update apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/ContextManager.java

Co-Authored-By: 吴晟 Wu Sheng <wu.sheng@foxmail.com>
2019-07-18 00:17:04 +08:00
彭勇升 pengys 1057463812 Correct spelling errors in the network protocol. (#3091)
* Correct spelling errors in the network protocol.

* update protocol submodule commit id.
2019-07-16 09:19:48 +08:00
于玉桔 d996d7bf4a fix (#3057) 2019-07-12 19:52:03 +09:00
Gao Hongtao 01b963c109 Adding deadline to gRPC client (#2987)
* Set up 10 seconds deadline after gRPC client sending
 * The duration of deadline contains three segments: connecting,
   request and response

For blocking stub, I just set deadline before invoke service. For
bi-streaming stub, I found all of them are used as a blocking style,
that after getting streaming response client stub just close current
streaming. Base on above reality, I pick the same way as blocking one.
2019-07-03 14:34:04 +08:00
Xin,Zhang 47f7b98905 Fix the status is incorrect (#2982) 2019-07-01 23:32:45 +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
吴晟 Wu Sheng 55d71e0ec3
Update UI, revert #2952 and fix JVM CPU usage again (#2961)
* Update UI.

* Fix CPU time again

* Update UI.
2019-06-28 10:53:44 +08:00
吴晟 Wu Sheng 62d01382a7
Fix CPU is 0. (#2952) 2019-06-27 07:29:45 +08:00
吴晟 Wu Sheng 85acc1b191
Revert "Introduce dead line settings from gRPC document. (#2917)" (#2936)
This reverts commit db8c45465b.
2019-06-24 00:08:59 +08:00
吴晟 Wu Sheng d844a52587
Fix OOM by empty stack of exception. (#2931)
* Support bootstrap class enhance and fix OOM by empty stack of exception.

* Agent document update

* Remove a word.

* Fix wrong cause exception search.

* Fix the condition

* Revert bootstrap class loader enhance.

* Remove import.

* no message
2019-06-23 08:42:03 +08:00
吴晟 Wu Sheng db8c45465b Introduce dead line settings from gRPC document. (#2917) 2019-06-21 00:53:31 +08:00