Giter VIP home page Giter VIP logo

fuzhengwei / itstack-demo-agent Goto Github PK

View Code? Open in Web Editor NEW
105.0 6.0 67.0 25 KB

目前市面的全链路监控系统基本都是参考Google的Dapper来做的,本专题主要通过六个章节的代码实战,来介绍如何使用javaagent以及字节码应用,来实现一个简单的java代码链路流程监控。 章节列表 - 基于JavaAgent的全链路监控一《嗨!JavaAgent》 - 基于JavaAgent的全链路监控二《通过字节码增加监控执行耗时》 - 基于JavaAgent的全链路监控三《ByteBuddy操作监控方法字节码》 - 基于JavaAgent的全链路监控四《JVM内存与GC信息》 - 基于JavaAgent的全链路监控五《ThreadLocal链路追踪》 - 基于JavaAgent的全链路监控六《开发应用级监控》 关注微信公众号,bugstack虫洞栈,回复获取源码

Home Page: https://bugstack.cn/

Java 100.00%

itstack-demo-agent's Introduction

itstack-demo-agent 基于JavaAgent的全链路监控

目前市面的全链路监控系统基本都是参考Google的Dapper来做的,本专题主要通过六个章节的代码实战,来介绍如何使用javaagent以及字节码应用,来实现一个简单的java代码链路流程监控。

章节列表


微信公众号:bugstack虫洞栈,欢迎您的关注&获取源码!

微信公众号:bugstack虫洞栈,欢迎您的关注&获取源码!

itstack-demo-agent's People

Contributors

fuzhengwei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

itstack-demo-agent's Issues

itstack-demo-agent-02-MyMonitorTransformer

enhanceMethod方法中的字节码增强建议修改为CtBehavior.insert*方法 。 之前那种方式在增强方法中有调用其他类方法时,可能会有问题
// 前置增强: 打入时间戳
method.addLocalVariable("start", CtClass.longType);
method.insertBefore("start = System.nanoTime();");
final StringBuilder source = new StringBuilder();
// 保留原有的代码处理逻辑
// 后置增强,计算输出方法执行耗时
source
.append("System.out.print("method:[")
.append(methodName).append("]");").append("\n")
.append("System.out.println(" cost:[" +(System.nanoTime() - start)+ "ns]");")
;
method.insertAfter(source.toString());

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.