首页 > 其他分享 >skyWalking自动建表-逻辑梳理

skyWalking自动建表-逻辑梳理

时间:2023-04-13 22:40:11浏览次数:27  
标签:建表 skywalking 梳理 start skyWalking 方法 SkyWalking

skyWalking自动建表-逻辑梳理

使用skyWalking后,发现我们不需要创建表,启动skywalking会自动创建表,遂研究官方源码,感觉oap-server设计的自动建表功能很强大,并进行逻辑梳理,仅供参考 源码地址:https://github.com/apache/skywalking.git

架构图

架构图

  • Agent(代理/探针) :负责从应用中,无侵入式的收集,并通过HTTP或者gRPC方式发送数据到SkyWalking OAP 服务器;
  • SkyWalking OAP :负责接收Agent发送的Tracing数据信息,然后进行分析(Analysis Core),存储到外部存储器(Storage),最终提供查询(Query)功能;
  • Storage:Tracing数据存储,目前支持ES、MySQL、Sharding Sphere、TiDB、H2等多种存储器,SkyWalking开发团队自己的生产环境采用ES为主;
  • SkyWalking UI:负责提供控制台,查看链路等等;

建表逻辑

1、启动时执行脚本
1.启动脚本

2、脚本内容指向:org.apache.skywalking.oap.server.starter.OAPServerStartUp
2.脚本内容

3、进行初始化操作
3.初始化操作

4、moduleManager#init方法调用BootstrapFlow#start方法,BootstrapFlow#start调用ModuleProvider#start方法
4.bootstrapflow-start

5、抽象类ModuleProvider#start方法实现类JDBCStorageProvider#start方法,此方法开始调用 modelInstaller#start方法用于重写列,使语法兼容MySQL,然后调用StorageModels#addModelListener方法用于把创建或修改表的操作通知到ModelInstaller#whenCreating
5.listener-creating

6、收到通知后,ModelInstaller#whenCreating开始建表操作
6.when-creating

7、方法内部依次进行 1.创建/更新 表字段;2.添加/更新 字段索引;3.创建/更新 关联表的字段及索引
7.create-table

8、为表添加ID字段、普通字段;添加字段类型及长度;执行建表SQL
8.execute-sql

9、添加字段类型,进行字段长度转换
9.column-definition

标签:建表,skywalking,梳理,start,skyWalking,方法,SkyWalking
From: https://blog.51cto.com/u_12052810/6188438

相关文章

  • 自动驾驶领域各大顶会顶刊集合梳理
    自动驾驶是近年来备受关注的热门领域之一,无论是Google、特斯拉、百度等知名企业,还是各大学术机构,都在积极探索自动驾驶的技术与应用。为了促进该领域的交流与发展,一些重要的顶级会议和期刊应运而生。这些国际学术会议与期刊不仅为自动驾驶技术的研究提供了平台,同时也为企业和机构......
  • skywalking 监控 springboot项目
     部署探针打开idea开发工具Run-》EditConfigurations点击Modifyoptions-》AddVMoption-javaagent:E:\projectdeploy\apache-skywalking-apm-9.2.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar-Dskywalking.agent.service_name=service-mylesson-jav......
  • windows下安装skywalking 9.2
      下载地址:https://skywalking.apache.org/downloads/安装,在skywalking9.0版本以后,APM包和agen包是分离的,解压后默认没有agent文件夹,需要手动创建,然后将解压后的skywalking-agent中的文件复制到agent文件夹下默认解压后的包含的文件创建agent后,目录结构在w......
  • 第8章 使用标记帮助工具构建表单(ASP.NET Core in Action, 2nd Edition)
    本章包括使用TagHelpers轻松构建表单使用锚标记帮助程序生成URL使用TagHelpers为Razor添加功能在第7章中,您了解了Razor模板以及如何使用它们为应用程序生成视图。通过混合HTML和C#,您可以创建动态应用程序,根据请求、登录用户或您可以访问的任何其他数据显示不同的数据。显......
  • oracle, mysql, clickhouse创建表的DDL语句参考
    这里展示的oracle,mysql,clickhouse下面如何创建一个表的DDL语句。请注意这里的数据类型,在不同的表,表示形式不一样。   Oracle的DDL语句 --UPCENTER.PUB_PLATE_INFOdefinitionCREATETABLE"UPCENTER"."PUB_PLATE_INFO"("ISVALID"NUMBER(1,0)NO......
  • Kubernetes + Spring Cloud 集成链路追踪 SkyWalking
    一、概述1、什么是SkyWalking?分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。官网地址:http://skywalking.apache.org/2、SkyWalking特性多种监控手段,语言......
  • 关于同态加密的个人梳理
    传统加解密的弊端通常是成对存在的。如果密文被存储在了一个不可信的第三方中,PartyA对密文进行更新(密文下载,解密更新)过程需要添加两次通信(下载和上传)和两次计算开销(解密和加密计算)。如果可以直接在第三方上完成密文更新,就可以使得PartyA节省两次通信和两次计算开销。同......
  • 复旦大学邱锡鹏教授:一张图带你梳理深度学习知识脉络
     Datawhale 作者:邱锡鹏,复旦大学教授寄语:本文梳理了深度学习知识体系,分为机器学习、神经网络和概率图模型,同时对机器学习算法类型、深度学习原理框架等进行了梳理,帮助大家更好地学习和入手深度学习。深度学习是机器学习的分支,是一种以人工神经网络为架构,对数据进行表征学习的算法......
  • 《Mysql基础》【Mysql表的基本操作 新建表、修改表、删除表、外键约束、主键约束、完
     --mysql数据库程序设计笔记:表基本操作:1、新建表:格式如:1)、建表加主键:createtable表名(idintNOTNULLauto_incrementcomment'自增主键id',列名类型(范围)comment'列备注',...primarykey(id))engine=InnoDB;2)、建表加候选键副键约束createtable表名......
  • 《Mysql基础-1》【新建数据库】 【新建表】编程入门 学习分享 公开免费
    --mysql数据库程序设计笔记:--mysql安装路径my.ini中把:default-character-set=utf8改为default-character-set=gbk后重启客户端。--创建数据库:createdatabasedb_schooldefaultcharsetgb2312collategb2312_chinese_ci;usedb_school;--1、学生表:createtabletb_s......