SkyWalking——SkyWalking二次开发必备知识
SkyWalking二次开发必备知识
SkyWalking 的 Java 探针端是如何实现无侵入式埋点的?
在探针开发或者排查线上问题的时候,应该如何进行远程调试?
SkyWalking 最新支持的 Service Mesh 到底是什么?
一、JavaAgent 介绍
1.1 概念简介
SkyWalking 探针在使用上是无代码侵入的,而这种无侵入的自动埋点基于 Java 的 JavaAgent 技术。
启动时加载的 JavaAgent(以下所说的 JavaAgent 均代表启动时加载的 JavaAgent)是 JDK 1.5 中引入的 java.lang.Instrument
包,该包提供了一些工具使得在类加载时期修改 Class 类成为了可能。这实际上就是提供了一种虚拟机级别的 AOP,此特性为用户提供了在 JVM 将字节码文件读入内存之后,使用对应的字节流在 Java 堆中生成一个 Class 对象之前,对其字节码进行修改的能力,而JVM 也会使用用户修改过的字节码进行 Class 对象的创建。
SkyWalking 探针依赖于 JavaAgent 在一些特殊点(某个类的某些方法)拦截对应的字节码数据并进行 AOP 修改。当某个调用链路运行至已经被 SkyWalking 代码过的方法时,SkyWalking 会通过代理逻辑进行这些关键节点信息的收集、传递和上报,从而还原出整个分布式链路。
分类:
SkyWalking专题精讲
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具