APM

Classpath problems while Instrumenting Springboot application

▼魔方 西西 提交于 2020-12-30 14:32:27
问题 I have a springboot application which I'm trying to instrument using bytebuddy. I'm running into classpath issues which I'm not able to understand. Firstly, the following is other literature on this: https://github.com/raphw/byte-buddy/issues/473 https://github.com/raphw/byte-buddy/issues/87 Unable to instrument apache httpclient using javaagent for spring boot uber jar application https://github.com/raphw/byte-buddy/issues/109 https://github.com/raphw/byte-buddy/issues/473 https://github.com

Classpath problems while Instrumenting Springboot application

戏子无情 提交于 2020-12-30 14:32:15
问题 I have a springboot application which I'm trying to instrument using bytebuddy. I'm running into classpath issues which I'm not able to understand. Firstly, the following is other literature on this: https://github.com/raphw/byte-buddy/issues/473 https://github.com/raphw/byte-buddy/issues/87 Unable to instrument apache httpclient using javaagent for spring boot uber jar application https://github.com/raphw/byte-buddy/issues/109 https://github.com/raphw/byte-buddy/issues/473 https://github.com

同九义,为何 SkyWalking 一枝独秀?

别等时光非礼了梦想. 提交于 2020-04-05 19:21:51
本文作者:拉勾教育专栏作者 徐俊明 随着互联网时代的发展,很多企业为了快速响应业务的变化,开始使用微服务架构。微服务架构的系统常常被切分为多个独立的子系统并以集群的方式部署在数十甚至成百上千的机器上。 -- 《31讲带你搞懂 SkyWalking 》 你好,我是你的 SkyWalking 老师徐郡明。今天呢,我给大家讲解一下APM 系统的概念以及目前市面上常见的 APM 实现,SkyWalking 的整体架构以及 Service、Endpoint、ServiceInstance 等核心概念 01PART 常见 APM 系统 APM 系统(Application Performance Management,即应用性能管理) 国内比较常见的 APM 如下 : 1. CAT: 由国内美团点评开源的,基于 Java 语言开发,目前提供 Java、C/C++、Node.js、Python、Go 等语言的客户端,监控数据会全量统计。国内很多公司在用,例如美团点评、携程、拼多多等。CAT 需要开发人员手动在应用程序中埋点,对代码侵入性比较强。 2. Zipkin: 由 Twitter 公司开发并开源,Java 语言实现。侵入性相对于 CAT 要低一点,需要对web.xml 等相关配置文件进行修改,但依然对系统有一定的侵入性。Zipkin 可以轻松与 Spring Cloud 进行集成,也是

浅谈skywalking的TraceSegmentServiceClient

风格不统一 提交于 2020-03-24 11:46:57
本文参考原文- http://bjbsair.com/2020-03-22/tech-info/5102/ 序 本文主要研究一下skywalking的TraceSegmentServiceClient TracingContextListener skywalking-6.6.0/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/TracingContextListener.java public interface TracingContextListener { void afterFinished(TraceSegment traceSegment); } TracingContextListener定义了afterFinished方法,其参数为TraceSegment TraceSegment skywalking-6.6.0/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/context/trace/TraceSegment.java public class TraceSegment { ​ private ID traceSegmentId;

聊聊skywalking的log4j2-activation

自古美人都是妖i 提交于 2020-03-19 23:01:51
3 月,跳不动了?>>> 序 本文主要研究一下skywalking的log4j2-activation skywalking-plugin.def skywalking-6.6.0/apm-sniffer/apm-toolkit-activation/apm-toolkit-log4j-2.x-activation/src/main/resources/skywalking-plugin.def toolkit-log4j2=org.apache.skywalking.apm.toolkit.activation.log.log4j.v2.x.TraceIdConverterActivation toolkit-log4j2=org.apache.skywalking.apm.toolkit.activation.log.log4j.v2.x.async.AsyncLoggerConfigInstrumentation toolkit-log4j2=org.apache.skywalking.apm.toolkit.activation.log.log4j.v2.x.async.Log4jLogEventInstrumentation toolkit-log4j2=org.apache.skywalking.apm.toolkit.activation.log.log4j.v2.x

聊聊skywalking的lettuce-plugin

丶灬走出姿态 提交于 2020-03-14 11:14:26
序 本文主要研究一下skywalking的lettuce-plugin skywalking-plugin.def skywalking-6.6.0/apm-sniffer/optional-plugins/lettuce-5.x-plugin/src/main/resources/skywalking-plugin.def lettuce-5.x=org.apache.skywalking.apm.plugin.lettuce.v5.define.AbstractRedisClientInstrumentation lettuce-5.x=org.apache.skywalking.apm.plugin.lettuce.v5.define.AsyncCommandInstrumentation lettuce-5.x=org.apache.skywalking.apm.plugin.lettuce.v5.define.ClientOptionsInstrumentation lettuce-5.x=org.apache.skywalking.apm.plugin.lettuce.v5.define.RedisChannelWriterInstrumentation lettuce-5.x=org.apache.skywalking.apm.plugin.lettuce.v5

聊聊skywalking的http-async-client-plugin

拈花ヽ惹草 提交于 2020-03-10 23:12:53
序 本文主要研究一下skywalking的http-async-client-plugin skywalking-plugin.def skywalking-6.6.0/apm-sniffer/apm-sdk-plugin/httpasyncclient-4.x-plugin/src/main/resources/skywalking-plugin.def httpasyncclient-4.x=org.apache.skywalking.apm.plugin.httpasyncclient.v4.define.HttpAsyncClientInstrumentation httpasyncclient-4.x=org.apache.skywalking.apm.plugin.httpasyncclient.v4.define.SessionRequestInstrumentation httpasyncclient-4.x=org.apache.skywalking.apm.plugin.httpasyncclient.v4.define.HttpAsyncRequestExecutorInstrumentation skywalking的http-async-client-plugin定义了三个增强,分别是HttpAsyncClientInstrumentation

聊聊skywalking的httpclient-plugin

混江龙づ霸主 提交于 2020-03-09 21:58:35
序 本文主要研究一下skywalking的httpclient-plugin skywalking-plugin.def skywalking-6.6.0/apm-sniffer/apm-sdk-plugin/httpClient-4.x-plugin/src/main/resources/skywalking-plugin.def httpclient-4.x=org.apache.skywalking.apm.plugin.httpClient.v4.define.AbstractHttpClientInstrumentation httpclient-4.x=org.apache.skywalking.apm.plugin.httpClient.v4.define.InternalHttpClientInstrumentation httpclient-4.x=org.apache.skywalking.apm.plugin.httpClient.v4.define.MinimalHttpClientInstrumentation httpclient-4.x=org.apache.skywalking.apm.plugin.httpClient.v4.define.DefaultRequestDirectorInstrumentation httpClient-4.x

聊聊skywalking的async-annotation-plugin

一笑奈何 提交于 2020-03-08 10:28:08
序 本文主要研究一下skywalking的async-annotation-plugin AsyncExecutionInterceptorInstrumentation skywalking-6.6.0/apm-sniffer/apm-sdk-plugin/spring-plugins/async-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/async/define/AsyncExecutionInterceptorInstrumentation.java public class AsyncExecutionInterceptorInstrumentation extends ClassInstanceMethodsEnhancePluginDefine { @Override public ConstructorInterceptPoint[] getConstructorsInterceptPoints() { return new ConstructorInterceptPoint[0]; } @Override public InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() {

聊聊skywalking的spring-annotation-plugin

风流意气都作罢 提交于 2020-03-06 21:35:56
序 本文主要研究一下skywalking的spring-annotation-plugin AbstractSpringBeanInstrumentation skywalking-6.6.0/apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/AbstractSpringBeanInstrumentation.java public abstract class AbstractSpringBeanInstrumentation extends ClassInstanceMethodsEnhancePluginDefine { private static final String INTERCEPTOR_CLASS = "org.apache.skywalking.apm.plugin.spring.annotations.SpringAnnotationInterceptor"; public static final String INTERCEPT_GET_SKYWALKING_DYNAMIC_FIELD_METHOD =