`
wu.sheng
  • 浏览: 66989 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
OpenTracing标准官方页面为:http://opentracing.io/spec.   译者:吴晟 译者注:作为OpenTracing的主要成员,为了OpenTracing标准的推广,通过opentracing-contrib/opentracing-specification-zh提供OpenTracing标准的中文译本。 此GitHub项目仅用于译本的提供,如果大家有任何关于规范的问题,并习惯使用英语,建议请前往官方讨论区 opentracing/specification。如果需要使用中文交流,也欢迎在此项目,通过issue的方式沟通。   项目地址:https:/ ...
什么是OpenTracing标准? OpenTracing(http://opentracing.io/)通过提供平台无关、厂商无关的API,使得开发人员能够方便的添加(或更换)追踪系统的实现。OpenTracing正在为全球的分布式追踪,提供统一的概念和数据标准。   OpenTracing ...
        DataCarrier作为一款轻量级的基础库,代码结果相当简单,如果通读一下代码,30-40分钟应该就能完成明确用途,这里为了方便大家更容易使用,简要介绍一下DataCarrier类库结果和使用方法。         官方的使用文档,使 ...
        随着Sky-Walking 2.0-2016版本的研发,各个模块中存在大量的内存级,非严格FIFO 发布/订阅队列的需求。所以,我们新建项目DataCarrier:一个轻量级的、嵌入式、高速处理的发布订阅队列库。         该项目立足于jdk1.6,提供更广泛的代码支持。         DataCarrier十分轻量化,发布版不到20k,并不依赖任何第三方组件。         采用多通道,固定内存分配的模式。DataCarrier在运行期间不会造成内存容量的增长,支持多线程并发产生数据,并提供多线程的消费批量消费能力。         可在运行态声明多个Dat ...
      2016年10月11日,在SkyWalking的首页(https://github.com/wu-sheng/sky-walking)上,第一次放出了全新2.0版本的架构图。2.0版本的核心目标是,在功能完善的情况下,移除对于Hadoop,HBase的依赖,降低部署和运维难度。2.0版本将在本月底启动正式的开发迭代工作。       在这里,首先介绍一下我们新的分布式架构 构建基于路由和存储的Skywalking数据存储中心集群,这个集群分为两个子集群:路由子集群和存储子集群 路由子集群,有些类似之前的SkyWalking-server,但是会更高效的处理数据,对外使用 ...
       最近关注skywalking的爱好者们会发现,skywalking一直处于重构和编译失败的状态。这次专门发表这边文章,解释这次重构的原因。        针对APM的应用监控,我们一般关注一下几个维度: 应用出错的异常点 应用调用速度缓慢的原因 应用各程序内部调用的时间分布情况、TPS 应用性能JVM相关参数和性能相关性 应用性能改进的目标和建议         这次的改造,主要针对第二点中,应用速度缓慢的问题。skywalking之前的版本,包括现在国内主流的APM厂商,都是采用在调用链入口调用结束后,组装JVM内的调用树结构,发送到服务端。这种方式有利于组装 ...
       据SkyWalking(https://github.com/wu-sheng/sky-walking)分布式监控系统的首次开源过去了3个月的时间,期间项目修改了大量的代码,提交和发布了大量新的埋点功能,修复了大量的BUG。        监控点的性能损耗,控制在100微妙以下。保证监控单次调用链存在50个监控点的情况,延迟在10毫秒以下。        在此期间,项目依靠新字节码技术的引入,彻底移除需要“修改项目源代码”这种具有侵入性的增加监控点的方法。提供了新的apache httpClient、MySQL Driver、Redis三种新监控点。并提供了一整套方便动态增 ...
       Google Drapper论文了解的人不少,类似的技术在很多公司也有使用,比较有名的就算淘宝的鹰眼吧。但是这些软件都在公司内部使用,没有开源。但随着现在各个系统的分布式结构越来越复杂,这样的系统变成了必不可少的。       目前有了一个开源的,基于JAVA的分布式追踪系统(Sky Walking),项目正在建设,和前期的alpha版本研发过程中,也正在部分项目中进行试运行。       项目主页:https://github.com/wu-sheng/sky-walking       已发布的版本:1.0-alpha1       系统放出了一些系统截图,可以查询分 ...
问题现象: nginx+websphere 当在websphere中使用sendRedirect时,会将websphere的端口传递到浏览器eg:正确的访问地址为:127.0.0.1使用sendRedirect后,变为127.0.0.1:9080 解决办法: 需要修改websphere配置 应用程序服务器 > server1 > Web 容器 > 定制属性 ,加入以下两个定制属性:com.ibm.ws.webcontainer.extractHostHeaderPort=truetrusthostheaderport=true  
ThreadLocal<T> ThreadLocal中的基本存储结构是ThreadLocalMap。其中使用到了一个基础对象:WeakReference<T>,WeakReference(弱引用)指当需要某个指向某对象的引用,但又不影响此对象的垃圾收集,应该使用此对象代替一般的 reference。即,这个对象在除了WeakReference以外没有其他引用指向时,可以被垃圾回收,此时弱引用会变为null值。 ThreadLocalMap使用和普通Map相同的方式,只是每个元素都是WeakReference的子类。保证线程回收时,对象能够被垃圾回收。 ...
StringBuffer/StringBuilder StringBuffer来自JDK 1.0,StringBuilder来自JDK 1.5。StringBuffer在1.5后被重构。两个类都基于1.5的AbstractStringBuilder。实现方式是一致的。StringBuffer的核心方法是线程安全的,使用了synchronized,StringBuilder则没有。 public final class StringBuffer extends AbstractStringBuilder public final class StringBuilder extends ...
HashMap<K,V> 此哈希表采用数组+单向链表的方式进行存储。数组中的每个元素,对应哈希算法下的一个哈希值。哈希值重复时,采用链表处理。 /** * The table, resized as necessary. Length MUST Always be a power of two. */ transient Entry[] table; /** * The number of key-value mappings contained in this map. */ tran ...
LinkedList<E>     此对象使用双向循环链表的方式进行。定义内部对象LinkedList.Entry<E>,用于存储链表中的每个节点,每个节点结构包括前一节点指针、后一节点指针、当前节点值。 private static class Entry<E> { ...
最近受到一次面试的启发,开始看jdk6的标准源码,在这里记录下自己看的过程中的体会,和大家分享。 从最常用的数据结构开始       ArrayList<E> 此对象的存储采用的是标准的Object数组(elementData)进行存储,同时使用一个整形记录数组(elementData)中实际数据的长度。 /** * The array buffer into which the elements of the ArrayList are stored. * The capacity of the ArrayList is the leng ...
      关于Android的位置访问,包含两部分,一个是通过GPS模块,获取位置信息,另外一个是调用GOOGLE MAP的API,显示位置信息。目前的需求,主要还是获取地址信息,这样可以通过与服务器的交互,获取与位置相关的信息。       首先需要得到获取地址信息的软件许可:      AndroidManifest.xml文件中加入:      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />      注意:很多帖子对于permission的位置说 ...
Global site tag (gtag.js) - Google Analytics