Skywalking流程简析及源码调试 编程技术

Skywalking流程简析及源码调试

如之前的文章所介绍,Skywalking主要由Agent、OAP、Storage、UI四大模块组成(如下图): Agent和业务程序运行在一起,采集链路及其它数据,通过gRPC发送给OAP(部分Agent采用http+json的方式);OAP还原链路(图中的Tracing),并分析产生一些指标(图中的Metric),最终存储到Storage中。本文从源码角度来串联一下这整个流程( ...
阅读全文
Maven包冲突的原理及解决方法 Java

Maven包冲突的原理及解决方法

Apache Maven ,是一个软件(特别是Java软件)项目管理及自动构建工具。在没有Maven的上古年代,项目中引入jar包需要手动下载一个个的去下载,但是随着代码数量的增加,引入的jar包数量自然会增加,随之而来的就是jar包冲突的问题了。 2.产生jar包冲突的原因 众所周知,一个项目中不能存在两个全限定类名一致的Class类,并且jar包的本质就是打包好的Class类文件,...
阅读全文
从0-1开发Java性能剖析工具 Java

从0-1开发Java性能剖析工具

  背  景    在这个应用 满天飞 的时代,作为一代宠儿,我们每个人都肩负着使命:保证我们应用的服务质量。服务质量包括:应用的可用性、可靠性、响应指标等。 本文的主题更多的是和系统的 响应指标相 关。 本文作者来自京东生态运营部-保险研发中心工作,从去年6.18开始,就开始连续负责保险系统的6.18、11.11大促的运筹准备...
阅读全文
干货分享丨jvm系列:dump文件深度分析 编程技术

干货分享丨jvm系列:dump文件深度分析

摘要: java内存dump是jvm运行时内存的一份快照,利用它可以分析是否存在内存浪费,可以检查内存管理是否合理,当发生OOM的时候,可以找出问题的原因。那么dump文件的内容是什么样的呢? JVM dump java内存dump是jvm运行时内存的一份快照,利用它可以分析是否存在内存浪费,可以检查内存管理是否合理,当发生OOM的时候,可以找出问题的原因。那么dump文件的内容是什么样...
阅读全文
干货分享丨jvm系列:dump文件深度分析 编程技术

干货分享丨jvm系列:dump文件深度分析

摘要: java内存dump是jvm运行时内存的一份快照,利用它可以分析是否存在内存浪费,可以检查内存管理是否合理,当发生OOM的时候,可以找出问题的原因。那么dump文件的内容是什么样的呢? JVM dump java内存dump是jvm运行时内存的一份快照,利用它可以分析是否存在内存浪费,可以检查内存管理是否合理,当发生OOM的时候,可以找出问题的原因。那么dump文件的内容是什...
阅读全文
skywalking实现分布式系统链路追踪 编程技术

skywalking实现分布式系统链路追踪

一、背景 随着微服务的越来越流行,我们服务之间的调用关系就显得越来越复杂,我们急需一个 APM 工具来分析系统中存在的各种性能指标问题以及调用关系。目前主流的APM工具有 CAT 、 Zipkin 、 Pinpoint 以及 SkyWalking ,本文主要简单介绍一下 SkyWalking 的搭建。 二、SkyWalking的组成 SkyWalking 主要的几个组成模块。 ...
阅读全文
一次 JVM 进程退出分析 编程技术

一次 JVM 进程退出分析

最近我们在测试把 APM 平台迁移到 ES APM,有同学反馈了一个有意思的现象,部署在 docker 中 jar 包项目,在新版 APM 里进程启动完就退出了,被 k8s 中无限重启。 这篇文章写了一下排查的思路,主要包含了下面这些内容。 一个 JVM 进程什么时候会退出 守护线程、非守护线程 从源码角度看 JVM 退出的过程 APM 底层就是使用一个 javaagent 的 jar 包来做...
阅读全文
javaagent使用指南 Java

javaagent使用指南

javaagent使用指南 今天打算写一下 Javaagent,一开始我对它的概念也比较陌生,后来在别人口中听到 字节码插桩 , bTrace , Arthas 后面才逐渐了解到Java还提供了这么个工具。 JVM启动前静态Instrument # Javaagent 是什么? Javaagent是java命令的一个参数。参数 javaagent 可以用于指定一个 jar...
阅读全文
入侵JVM? Java Agent原理浅析和实践 编程技术

入侵JVM? Java Agent原理浅析和实践

在平时的开发中,我们不可避免的会使用到Debug工具,JVM作为一个单独的进程,我们使用的Debug工具可以获取JVM运行时的相关的信息,查看变量值,甚至加入断点控制,还有我们平时使用JDK自带的JMAP、JSTACK等工具,可以在JVM运行时动态的dump内存、查询线程信息,甚至一些第三方的工具,比如说京东内部使用的JEX、pfinder,阿里巴巴的Arthas,优秀的开源的框架skywalki...
阅读全文
性能分析工具SkyWalking插件开发指南 Java

性能分析工具SkyWalking插件开发指南

引言 在日常项目中,我们常常会遇到线上性能问题,尤其在微服务的场景下,调用链错综复杂,如何才能快速的定位和解决问题,然后享受美好的夏日时光。枯藤老树昏鸦,空调WiFi西瓜,葛优同款沙发,夕阳西下,我就往上一趴。岂不美哉? SkyWalking是一个观察性分析平台和应用性能管理系统(APM)。由华为吴晟等人开发,目前已经是Apache顶级项目。SkyWalking提供分布式追踪、服务网格遥测分析...
阅读全文
Loading...