原文链接
主要是比较了pinpoint/skywalking/cat部分
agent部分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| new AgentBuilder.Default(byteBuddy) .ignore( nameStartsWith("net.bytebuddy.") .or(nameStartsWith("org.slf4j.")) .or(nameStartsWith("org.apache.logging.")) .or(nameStartsWith("org.groovy.")) .or(nameContains("javassist")) .or(nameContains(".asm.")) .or(nameStartsWith("sun.reflect")) .or(allSkyWalkingAgentExcludeToolkit()) .or(ElementMatchers.<TypeDescription>isSynthetic())) .type(pluginFinder.buildMatch()) .transform(new Transformer(pluginFinder)) .with(new Listener()) .installOn(instrumentation);
try { ServiceManager.INSTANCE.boot(); } catch (Exception e) { logger.error(e, "Skywalking agent boot failure."); }
|
agent部分的设计思路:
参照dubbo的设计思路