diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..37f7b1531 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,20 @@ +### Welcome all contributors and everyone from [skywalking-developer org](https://github.com/skywalking-developer) + +Please observe the following rules: +* All Issues and Features will be managed the [**Issues Page**](https://github.com/wu-sheng/sky-walking/issues). +* All Issues ( features or bugs ) descriptions should be in English. + +## For Common Contributors +1. You should create new Issues ( features or bugs ) +1. We will review your issues, and have a disccusion with you. +1. If your issues been confirms, I can develop on your fork repo, and send PR when finished. + +## For [skywalking-developer org](https://github.com/skywalking-developer) member +1. All issues will be tagged **Feature4OrgDeveloper**, if they are refer to **skywalking-developer org**. +1. If Everyone want to develop on any feature, you should comment on the Issue, and set a deadline for yourself. +1. You should create a branch on **skywalking-developer/sky-walking**, named as `features/issueId`, such as `features/11` (link to Issues 11 on this **Issues Page** ) +1. When finish your feature, you send a **pull request** to **wu-sheng/sky-walking**, and we can discuss the detail (design, mechanism, performance, etc.). When everything is look good to the whole team, I will merge the feature. And, Wo-ah, you will begin an official contributor of **sky-walking** + +--- + +All features or bug-fix codes have been merged into this repo, they belong to sky-walking team, with [GPL-3.0](https://github.com/wu-sheng/sky-walking/blob/master/LICENSE) protocol. diff --git a/README.md b/README.md index e4b57e15b..fd8cb6be5 100644 --- a/README.md +++ b/README.md @@ -3,22 +3,16 @@ Sky Walking Sky Walking logo -SkyWalking: Large-Scale Distributed Systems Tracing Infrastructure, 是一个对JAVA分布式应用程序集群的业务运行情况进行追踪、告警和分析的系统。 +SkyWalking: Large-Scale Distributed Systems Tracing Infrastructure, also known Distributed Tracer。 [![Build Status](https://travis-ci.org/wu-sheng/sky-walking.svg?branch=master)](https://travis-ci.org/wu-sheng/sky-walking) ![license](https://img.shields.io/aur/license/yaourt.svg) -# 简介 / abstract -* 核心理论为[Google Dapper论文:Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](http://research.google.com/pubs/pub36356.html),英语有困难的同学可参考[国内翻译](http://duanple.blog.163.com/blog/static/70971767201329113141336/) -* 本分析系统能通过动态字节码技术,对现有的JAVA应用或J2EE应用进行监控和数据收集,并针对应用进场进行准实时告警。此外提供大量的调用性能分析功能,解决目前的监控系统主要监控进程、端口而非应用实际性能的问题。 -* 支持国内常用的dubbo、dubbox、motan、httpclient等常见RPC框架,支持应用异常的邮件告警 -* skywalking-sdk层面提供的埋点API,同步阻塞访问时间小于100μs -* 通过[byte-buddy](https://github.com/raphw/byte-buddy),插件将通过动态字节码机制,避免代码侵入性,完成监控。动态代码模式埋点,同步阻塞访问时间应在200-300μs -* 通过[DataCarrier](https://github.com/wu-sheng/DataCarrier),提供高效的并行处理能力 -* 提供一定的日志数据分析和展现能力,减少或者避免使用团队的二次开发 -* SkyWalking is an open source Large-Scale Distributed Systems Tracing Infrastructure, also been known as APM(Application Performance Management) tool. SkyWalking provides a solution to help monitor and analysis a Large-Scale Distributed Systems. -* SkyWalking supports popular rpc frameworks, such as [dubbo](https://github.com/alibaba/dubbo), [dubbox](https://github.com/dangdangdotcom/dubbox), [motan](https://github.com/weibocom/motan) etc., supports email-alert when application occurs unexpected exception。 -* SkyWalking's basic API, execution time of blocking saving span must less than 100μs. +# Abstract +* An open source Large-Scale Distributed Systems Tracing Infrastructure, also known a ditributed tracer. +* Based on [Google Dapper Paper: Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](http://research.google.com/pubs/pub36356.html), [Simplified Chines](http://duanple.blog.163.com/blog/static/70971767201329113141336/) +* Supports popular rpc frameworks, such as [dubbo](https://github.com/alibaba/dubbo), [dubbox](https://github.com/dangdangdotcom/dubbox), [motan](https://github.com/weibocom/motan) etc., supports email-alert when application occurs unexpected exception。 +* Execution time of creating span than 100μs. * By using [byte-buddy](https://github.com/raphw/byte-buddy) (Thanks to [raphw](https://github.com/raphw)), plugins use dynamic byte code generation to avoid invasive codes. plugins API, execution time of blocking saving span must between 200μs and 300μs, including execution time of dynamic byte code. * By using [DataCarrier](https://github.com/wu-sheng/DataCarrier), provide parallel high-throughput processing capability. * Provide trace log analysis and presentation capabilities, Reduce or avoid add-on functions development. @@ -43,7 +37,7 @@ SkyWalking: Large-Scale Distributed Systems Tracing Infrastructure, 是一个对 * config package name or class name (Recommend to use in dev or test enviroment. Will cost too many in product enviroment.) -# 主要贡献者 / Contributors +# Contributors * 吴晟 [wusheng](https://github.com/wu-sheng)   wu.sheng@foxmail.com * 张鑫 [zhangxin](https://github.com/ascrutae)    @@ -59,12 +53,12 @@ In October 2016, Sky Walking won `OneAPM Open Source Achievement Award`. The awa Thanks all users of sky walking project. ___ -# 交流 +# Discussion Sky Walking TouTiao * Mail to:wu.sheng@foxmail.com -* QQ群:392443393,请注明“Sky Walking交流” -* 谁在使用Sky Walking?[点击进入](https://github.com/wu-sheng/sky-walking/issues/34)。同时请各位使用者反馈下,都在哪些项目中使用。 -* if you are using SkyWalking,[Report to us](https://github.com/wu-sheng/sky-walking/issues/34) please. +* QQ Group:392443393 +* If you are using SkyWalking,[Report to us](https://github.com/wu-sheng/sky-walking/issues/34) please. +* **Developer Org of sky-walking** is https://github.com/skywalking-developer


@@ -104,14 +98,14 @@ ___ # v2.0-2016 Quick Start -## 部署第三方软件 / Required of third party softwares -- JDK 1.7 +## Required of third party softwares +- JDK 1.8 - zookeeper 3.4.6 - mysql - redis-3.0.5 -## 插件支持的JDK / Supported jdk version -- 1.7以上版本 / support 1.7+ +## instrument javaagent jdk version +- support 1.6+ , instruments applications can run in jdk6 ## 编译与部署 / Build and deploy - 服务端发布版本[下载](https://github.com/wu-sheng/sky-walking/releases) (.tar.gz) @@ -122,7 +116,7 @@ ___ - [Code compilation instructions](BUILD_DOC.md) -## 下载官方的agent / Download offical agent +## Download offical agent [ ![Download](https://api.bintray.com/packages/wu-sheng/skywalking/com.a.eye.skywalking-agent/images/download.svg) ](https://bintray.com/wu-sheng/skywalking/com.a.eye.skywalking-agent/_latestVersion) - 通过github-release[下载](https://github.com/wu-sheng/sky-walking/releases) diff --git a/skywalking-storage-center/skywalking-storage/src/test/java/StorageClient.java b/skywalking-storage-center/skywalking-storage/src/test/java/StorageClient.java index 59bd31437..cd18e2c9f 100644 --- a/skywalking-storage-center/skywalking-storage/src/test/java/StorageClient.java +++ b/skywalking-storage-center/skywalking-storage/src/test/java/StorageClient.java @@ -9,7 +9,7 @@ import static com.a.eye.skywalking.network.grpc.SpanStorageServiceGrpc.newStub; public class StorageClient { private static ManagedChannel channel = - ManagedChannelBuilder.forAddress("127.0.0.1", 34000).usePlaintext(true).build(); + ManagedChannelBuilder.forAddress("10.128.35.79", 34000).usePlaintext(true).build(); private static SpanStorageServiceGrpc.SpanStorageServiceStub spanStorageServiceStub = newStub(channel); @@ -19,23 +19,23 @@ public class StorageClient { public static void main(String[] args) throws InterruptedException { - RequestSpan requestSpan = - RequestSpan.newBuilder().setSpanType(1).setAddress("127.0.0.1").setApplicationId("1").setCallType("1") - .setParentLevel("0.0.0").setLevelId(0).setProcessNo("19287") - .setStartDate(System.currentTimeMillis()).setTraceId( - TraceId.newBuilder().addSegments(201611).addSegments(1478661327960L).addSegments(8504828) - .addSegments(2277).addSegments(53).addSegments(3).build()).setUserId("1") - .setViewPointId("com.a.eye.skywalking.storage.block.index.BlockIndexEngine.newFinder").build(); - - AckSpan ackSpan = AckSpan.newBuilder().setParentLevel("0.0.0").setLevelId(0).setCost(10).setTraceId( - TraceId.newBuilder().addSegments(201611).addSegments(1478661327960L).addSegments(8504828) - .addSegments(2277).addSegments(53).addSegments(3).build()).setStatusCode(0) - .setViewpointId("com.a.eye.skywalking.storage.block.index.BlockIndexEngine.newFinder").build(); long startTime = System.currentTimeMillis(); - for (int i = 0; i < 10000; i++) { + for (int i = 0; i < 1000000; i++) { + RequestSpan requestSpan = + RequestSpan.newBuilder().setSpanType(1).setAddress("127.0.0.1").setApplicationId("1").setCallType("1") + .setLevelId(0).setProcessNo("19287").setStartDate(System.currentTimeMillis()).setTraceId( + TraceId.newBuilder().addSegments(201611).addSegments(System.currentTimeMillis()).addSegments(8504828) + .addSegments(2277).addSegments(53).addSegments(3).build()).setUserId("1") + .setViewPointId("http://localhost:8080/wwww/test/helloWorld").build(); + + AckSpan ackSpan = AckSpan.newBuilder().setLevelId(0).setCost(10).setTraceId( + TraceId.newBuilder().addSegments(201611).addSegments(System.currentTimeMillis()).addSegments(8504828) + .addSegments(2277).addSegments(53).addSegments(3).build()).setStatusCode(0) + .setViewpointId("http://localhost:8080/wwww/test/helloWorld").build(); + StreamObserver ackSpanStreamObserver = spanStorageServiceStub.storageACKSpan(new StreamObserver() { @Override @@ -87,7 +87,7 @@ public class StorageClient { requestSpanStreamObserver.onCompleted(); - if (i % 500_000 == 0) { + if(i % 1_000 == 0){ System.out.println(i); }