Merge remote-tracking branch 'origin/master'
# Conflicts: # skywalking-storage-center/skywalking-storage/src/test/java/StorageClient.java
This commit is contained in:
commit
43ca1a0ee7
|
|
@ -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.
|
||||
38
README.md
38
README.md
|
|
@ -3,22 +3,16 @@ Sky Walking
|
|||
|
||||
<img src="http://wu-sheng.github.io/sky-walking/images/skywalking.png" alt="Sky Walking logo" height="90px" align="right" />
|
||||
|
||||
SkyWalking: Large-Scale Distributed Systems Tracing Infrastructure, 是一个对JAVA分布式应用程序集群的业务运行情况进行追踪、告警和分析的系统。
|
||||
SkyWalking: Large-Scale Distributed Systems Tracing Infrastructure, also known Distributed Tracer。
|
||||
|
||||
[](https://travis-ci.org/wu-sheng/sky-walking)
|
||||

|
||||
|
||||
# 简介 / 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
|
||||
<img src="http://wu-sheng.github.io/sky-walking/sample-code/screenshoot/chatapp/toutiao.JPG" alt="Sky Walking TouTiao" height="280px" align="left" />
|
||||
* 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
|
||||
<br/>
|
||||
<br/>
|
||||
<br/>
|
||||
|
|
@ -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
|
||||
[  ](https://bintray.com/wu-sheng/skywalking/com.a.eye.skywalking-agent/_latestVersion)
|
||||
|
||||
- 通过github-release[下载](https://github.com/wu-sheng/sky-walking/releases)
|
||||
|
|
|
|||
|
|
@ -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<AckSpan> ackSpanStreamObserver =
|
||||
spanStorageServiceStub.storageACKSpan(new StreamObserver<SendResult>() {
|
||||
@Override
|
||||
|
|
@ -87,7 +87,7 @@ public class StorageClient {
|
|||
requestSpanStreamObserver.onCompleted();
|
||||
|
||||
|
||||
if (i % 500_000 == 0) {
|
||||
if(i % 1_000 == 0){
|
||||
System.out.println(i);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue