Skywalking
文章平均质量分 75
Skywalking 深入解析
Switchvov
这个作者很懒,什么都没留下…
展开
-
Skywalking-13:Skywalking模块加载机制
模块加载机制基本概述Module 是 Skywalking 在 OAP 提供的一种管理功能特性的机制。通过 Module 机制,可以方便的定义模块,并且可以提供多种实现,在配置文件中任意选择实现。模块相关配置文件可以参考:Backend setup、Configuration Vocabulary类图Skywalking 中模块管理相关功能都在 org.apache.skywalking.oap.server.library.module 包下。通过类图可以了解 Skywalking 模块机原创 2021-10-02 13:13:26 · 1135 阅读 · 0 评论 -
Skywalking-12:Skywalking SPI机制
SPI机制基本概述SPI 全称 Service Provider Interface ,是一种服务发现机制。通过提供接口、预定义的加载器( Loader )以及约定俗称的配置(一般在 META-INF 目录下),可以实现动态加载服务实现类。类图通过类图可以分析出, ServiceLoader 实现了 Iterable 接口,提供了迭代的功能。而 ServiceLoader 将迭代的实现委托给 LazyIterator 。LazyIterator 提供了延时迭代的能力,当有需要的时候,才去加原创 2021-10-02 13:03:45 · 380 阅读 · 0 评论 -
Skywalking-11:Skywalking查询协议——案例分析
以查询 Metrics 信息案例来分析 Skywalking 查询协议基本概述Skywalking 查询协议默认基于 GraphQL ,如果有需要也可以自定义扩展,提供一个实现了 org.apache.skywalking.oap.server.core.query.QueryModule 的查询模块即可。截取 Skywalking UI 发送的请求请求路径POST http://127.0.0.1:8080/graphql请求体{ "query": "query queryDa原创 2021-10-02 12:59:17 · 1434 阅读 · 0 评论 -
Skywalking-10:Skywalking查询协议——GraphQL
GraphQLGraphQL 基础参照Getting started with GraphQL Java and Spring Boot这篇文章学习即可PS:可以使用 brew install --cask graphql-playground 安装 graphql for mac 客户端。IDEA 怎么调试 GraphQL 应用安装 JS GraphQL 插件点击JS GraphQL安装插件GraphQL 定义schem原创 2021-10-02 12:49:06 · 1902 阅读 · 0 评论 -
Skywalking-09:OAL原理——如何通过动态生成的Class类保存数据
OAL 如何通过动态生成的 Class 类,保存数据前置工作OAL 如何将动态生成的 SourceDispatcher 添加到 DispatcherManager // org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService#load public void load(OALDefine define) throws ModuleStartException { if (oalD原创 2021-08-03 16:55:59 · 572 阅读 · 0 评论 -
Skywalking-08:OAL原理——如何动态生成Class类
OAL 如何动态生成 Class 类代码入口在 org.apache.skywalking.oal.rt.OALRuntime#start 方法 public void start(ClassLoader currentClassLoader) throws ModuleStartException, OALCompileException { if (!IS_RT_TEMP_FOLDER_INIT_COMPLETED) { prepareRTTempFo原创 2021-08-03 16:42:32 · 432 阅读 · 0 评论 -
Skywalking-07:OAL原理——解释器实现
OAL 解释器实现OAL 解释器是基于 Antlr4 实现的,我们先来了解下 Antlr4Antlr4 基本介绍Antlr4 使用案例参考Antlr4的使用简介这篇文章,我们实现了一个简单的案例:antlr案例:简单的计算器,下面来讲讲这个案例。首先,装好ANTLR v4(IDEA插件)插件,这个之后验证语法树的时候会用到。在 pom.xml 中配置 antlr4 的依赖和插件<dependency> <原创 2021-08-03 16:25:23 · 490 阅读 · 0 评论 -
Skywalking-06:OAL基础
OAL 基础知识基本介绍OAL(Observability Analysis Language) 是一门用来分析流式数据的语言。因为 OAL 聚焦于度量 Service 、 Service Instance 和 Endpoint 的指标,所以它学习和使用起来非常简单。OAL 基于 altlr 与 javassist 将 oal 脚本转化为动态生成的类文件。自从 6.3 版本后, OAL&原创 2021-08-03 15:42:10 · 875 阅读 · 0 评论 -
Skywalking-05:在Skywalking RocketBot上添加监控图表
在 Skywalking RocketBot上添加监控图表效果图该图的一些配置信息如下:标题为: JVM Thread State Count (Java Service)指标为: read all values in the duration instance_jvm_thread_new_thread_count,instance_jvm_thread_runnable_thread_count,instance_jvm_thread_blocked_thread_count,instan.原创 2021-07-28 22:21:17 · 507 阅读 · 0 评论 -
Skywalking-04:扩展Metric监控信息
扩展 Metric监控信息官方文档Source and Scope extension for new metrics案例:JVM Thread增加 Metrics修改 Thread的定义在 apm-protocol/apm-network/src/main/proto/language-agent/JVMMetric.proto协议文件中覆盖 message Thread的定义message Thread { int64 liveCount = 1; int64 daemo...原创 2021-07-28 22:06:12 · 1419 阅读 · 1 评论 -
Skywalking-03:Skywalking本地调试
live-demo与 skywalking源码联调构建项目找一个目录执行如下命令git clone https://github.com/apache/skywalking.git # clone skywalking项目cd skywalking # 进入skywalking目录git checkout v8.4.0 # 切换到v8.4.0版本git checkout -b new_v8.4.0 # 创建一个新分支git submodule init # 初始化子模块git submo..原创 2021-07-28 21:58:56 · 1143 阅读 · 0 评论 -
Skywalking-02:如何写一个Skywalking trace插件
如何写一个Skywalking trace插件javaagent原理美团技术团队-Java 动态调试技术原理及实践类图实现ConsumeMessageConcurrentlyInstrumentationpublic class ConsumeMessageConcurrentlyInstrumentation extends ClassInstanceMethodsEnhancePluginDefine { // 需要增强的类 private static final St.原创 2021-07-27 19:51:42 · 474 阅读 · 0 评论 -
Skywalking-01:Skywalking介绍
Skywalking介绍Application performance monitor tool for distributed systems, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.SkyWalking is an Observability Analysis Platform and Application原创 2021-07-27 19:48:23 · 551 阅读 · 0 评论