Go to file
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
.github Add new GitHub template 2018-01-16 17:07:14 +08:00
.mvn/wrapper Speed up ci/e2e builds (#3130) 2019-07-21 10:08:39 +08:00
apm-application-toolkit Move to 6.5.0 (#3439) 2019-09-08 16:24:21 -07:00
apm-checkstyle Add bootstrap-plugin/toolkit-activation to import check list (#3290) 2019-08-20 09:56:41 +08:00
apm-commons Move to 6.5.0 (#3439) 2019-09-08 16:24:21 -07:00
apm-dist Move to 6.5.0 (#3439) 2019-09-08 16:24:21 -07:00
apm-protocol Add Light4j plugin (#3323) 2019-09-18 21:43:17 +08:00
apm-sniffer Add Light4j plugin (#3323) 2019-09-18 21:43:17 +08:00
apm-webapp Move to 6.5.0 (#3439) 2019-09-08 16:24:21 -07:00
docker Update docker-entrypoint.sh (#3465) 2019-09-11 19:15:18 -07:00
docs Add Light4j plugin (#3323) 2019-09-18 21:43:17 +08:00
licenses Reorganize the receiver proto (#2426) 2019-03-30 18:25:31 -07:00
oap-server Add Light4j plugin (#3323) 2019-09-18 21:43:17 +08:00
skywalking-ui@206a514ae7 Add Light4j plugin (#3323) 2019-09-18 21:43:17 +08:00
test/e2e Add TTL E2E test (#3437) 2019-09-09 22:06:57 -07:00
tools Add dependency licenses check (#3221) 2019-08-07 09:45:23 +08:00
.gitignore ignore .checkstyle and .externalToolBuilders for eclipse (#3212) 2019-08-05 23:46:34 +08:00
.gitmodules Add TTL E2E test (#3437) 2019-09-09 22:06:57 -07:00
.travis.yml Integrate Jenkins CI (#2864) 2019-06-13 17:06:21 +08:00
CHANGES.md Add changelog for 6.4.0 release. (#3398) 2019-09-03 15:26:24 -07:00
CODE_OF_CONDUCT.md Update COC to Apache edition (#890) 2018-03-06 18:51:01 +08:00
CONTRIBUTING.md Remove many incubator/incubating things. (#2499) 2019-04-21 11:11:09 +08:00
HEADER Update package name to org.apache.skywalking 2017-12-10 16:32:39 +08:00
Jenkinsfile Support gateway without agent (#3308) 2019-08-30 16:17:41 +08:00
Jenkinsfile-E2E Add TTL E2E test (#3437) 2019-09-09 22:06:57 -07:00
LICENSE Reorganize the receiver proto (#2426) 2019-03-30 18:25:31 -07:00
Makefile Update docker building tool (#2677) 2019-05-16 09:37:56 +08:00
NOTICE Update year to 2019 (#2113) 2019-01-02 18:16:24 +08:00
README.md Update demo environment (#3149) 2019-07-24 10:31:36 +08:00
appveyor.yml Using PowerMockito to mock System.getent; (#2593) 2019-05-07 10:32:43 +08:00
codeStyle.xml Update copyright to Apache Foundation. 2017-12-09 23:38:32 +08:00
mvnw Moves to Maven wrapper to stabilize the version in use (#1569) 2018-08-22 19:04:15 +08:00
mvnw.cmd Moves to Maven wrapper to stabilize the version in use (#1569) 2018-08-22 19:04:15 +08:00
pom.xml Move to 6.5.0 (#3439) 2019-09-08 16:24:21 -07:00

README.md

Apache SkyWalking

Sky Walking logo

SkyWalking: an APM(application performance monitor) system, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.

GitHub stars Twitter Follow

Maven Central Build Status

Abstract

SkyWalking is an open source APM system, including monitoring, tracing, diagnosing capabilities for distributed system in Cloud Native architecture. The core features are following.

  • Service, service instance, endpoint metrics analysis
  • Root cause analysis
  • Service topology map analysis
  • Service, service instance and endpoint dependency analysis
  • Slow services and endpoints detected
  • Performance optimization
  • Distributed tracing and context propagation
  • Database access metrics. Detect slow database access statements(including SQL statements).
  • Alarm

SkyWalking supports to collect telemetry (traces and metrics) data from multiple sources and multiple formats, including

  1. Java, .NET Core, NodeJS and PHP auto-instrument agents in SkyWalking format
  2. Manual-instrument Go agent in SkyWalking format.
  3. Istio telemetry format
  4. Envoy gRPC Access Log Service (ALS) format in Istio controlled service mesh
  5. Envoy Metrics Service format.
  6. Zipkin v1/v2 format.
  7. Jaeger gRPC format.

Document

Downloads

Please head to the releases page to download a release of Apache SkyWalking.

Code of conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please follow the REPORTING GUIDELINES to report unacceptable behavior.

Live Demo

Host in Beijing. Go to demo.

Video on youtube.com

RocketBot UI

Screenshot

Dashboard
Topology Map Trace

Compiling project

Follow this document.

Contact Us

  • Submit an issue
  • Mail list: dev@skywalking.apache.org. Mail to dev-subscribe@skywalking.apache.org, follow the reply to subscribe the mail list.
  • Join #skywalking channel at Apache Slack
  • QQ Group: 392443393(2000/2000, not available), 901167865(available)

Who Uses SkyWalking?

A wide variety of companies and organizations use SkyWalking for research, production and commercial product. Here is the User Wall of SkyWalking.

Users are encouraged to add themselves to the PoweredBy page.

Landscapes



  

SkyWalking enriches the CNCF CLOUD NATIVE Landscape.


Our project enriches the OpenAPM Landscape!

License

Apache 2.0 License.