skywalking-ui简介
skyWalking-ui简介基于v8.7.0版本skyWalking-UI是一个纯前端的项目,使用的是vue+typescript,但是skywalking为了方便用户使用,直接使用了spring-gateway打包成了可执行jar,方便用户使用
UI概览其实skywalking的UI每个界面进去点点,看看名字,差不多就那样,这里不会详细的介绍每个界面,但是会系统性的介绍一些重点的界面,以及一些缺失的功能
Global
Services load(CPM - calls per minute):服务平均每分钟请求数。
Slow Services(ms):慢响应服务,单位ms。
Un-Health services(Apdex):Apdex 性能指标,1为满分。
Slow Endpoints(ms):全局维度的慢响应端点(API)。例如一个接口,是全局Top N的数据,通过这个可以观测平台性能情况。123表示采集样本中某些值的占比,Skywalking 有 “p50、p75、p90、p95、p99” 一些列值。图中的 “p99:61010” 表示 99% 请求的响应时间在61010 ...
skywalking-oap数据接收
skywalking-oap数据接收代码引用基于v8.7.0版本
从GRPCHandler入手,查看skywalking的收集体系GRPCHandler只是一个标识接口,没有具体的含义
12public interface GRPCHandler extends ServerHandler {}
可以看到里面有很多的接收器,分别处理不同的发送
监控数据的接收器
TraceSegmentReportServiceHandlerTraceSegmentReportServiceHandler是一个grpc的类,继承了grpc相关的类,collect里面负责解析SegmentObject
12345678910111213141516171819202122232425262728293031323334@Override public StreamObserver<SegmentObject> collect(StreamObserver<Commands> responseObserver) { retur ...
skywalking-agent数据收集源码讲解
skywalking-agent数据收集源码讲解从源码的角度来探讨,skywalking到底如何收集发送数据
代码引用基于v8.7.0版本
GRPCChannelListener grpc状态监控skywalking通过grpc发送数据,所以,用grpc发送数据的,都需要实现GRPCChannelListener来查看grpc的连接状态
123public interface GRPCChannelListener { void statusChanged(GRPCChannelStatus status);}
有很多类型的数据需要发送,但是常见的三种
jvm的信息发送
服务管理信息发送
span信息,也就是plugin收集的监控发送
TraceSegmentServiceClient 发送监控数据TraceSegmentServiceClientTraceSegmentServiceClient负责监控数据的发送,同时实现了四个接口,分别时BootService,IConsumer,TracingContextListener,GRPCChannel ...
skyWalking-javaAgent解析
skyWalking java如何收集数据skyWalking被java程序使用的时候,需要添加-javaagent参数,javaagent的作用其实很多,但是简单来说,就是启动前替换java类
代码引用基于v8.7.0版本
instrumentjdk5引入了java.lang.instrument,该包提供了一个Java编程API,可以用来开发增强Java应用程序的工具,例如监视它们或收集性能信息. 使用instrumentation,开发者可以构建一个独立于应用程序的代理程序(Agent,用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义.有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和Java类操作了,这样的特性实际上提供了一种虚拟机级别支持的 AOP 实现方式,使得开发者无需对 JDK 做任何升级和改动,就可以实现某些 AOP 的功能了.
这里的AOP是JVM级别的AOP,已经和业务无关,和业务有关的AOP就不能用这个类型,比如事务,缓存,因为这里的AOP完全与业务解耦了,所以,基本上,instrumentation一般只能用来监控
AOP其实监 ...
skyWalking简介
skyWalking简介skyWalking 是什么FROM http://skywalking.apache.org/分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计.提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案.
项目历史最早出现于2016年,然后2017-12-08年进入apache孵化,大约2019-01-29时候,差不多孵化结束了,然后开始产品,此时已经是6.0.0-GA版本
下面一张图可以看出,差不多,主要就一个contributors,占据了1/3之一的提交,可能50%的工作都是他完成的,从16年到现在,已经5年了
然后,skyWalking一直因为优秀的设计,不断受到关注,star历史,可以看出来是平稳上升
功能列表skyWalking 有哪些功能?
FROM http://skywalking.apache.org/
多种监控手段.可以通过语言探针和 service mesh 获得监控是数据.
多个语言自动探针.包括 Java,.NET Core 和 Node.JS ...
windows读取usb硬盘xfs文件系统的文件
windows读取usb硬盘xfs文件系统的文件背景因为自己家里的电脑是linux,而且喜欢linux的文件系统,所以整个移动硬盘都是xfs的文件格式,而现在公司的电脑是windows,要复制文件就比较艰难
狗哥一下发现网上的方案都是使用软件,而且软件也不怎么样,总之就是没有找到像样的软件,尤其是xfs还不是ext4
使用虚拟机
先装一个virtualbox
Oracle_VM_VirtualBox_Extension_Pack安装,这样才能使用外置的usb硬盘
下一个linux的live镜像,如manjaro kde
usb设置里面挂载usb硬盘
新创建一个vhd硬盘挂载
把vhd硬盘新建分区,并且格式化成ntfs格式
把usb移动硬盘的文件,copy到vhd硬盘里面
最好关机以后,用windows自带的磁盘管理挂载vhd硬盘
复制你的文件到你想要的位置
还是比较费劲的,但是也没办法.如果你有现成的linux虚拟机,并且装好了VBoxGuestAdditions,那么事情就比较简单了,直接可以把usb硬盘挂载了以后,利用virtualbox的共享文件夹,直接复制到windows ...
神舟笔记本每次开机都要自己打开wifi的解决问题记录
神舟笔记本每次开机都要自己打开wifi的解决问题记录试了好多linux操作系统以后,最终回到了起点,还是manjaro,但是现在发现,每次关机,开机以后都没有wifi,然后我每次都是restart来解决,终于,我决定不忍了,把这’最后一个’问题解决掉
锁定现象通过关机开机,重新启动我发现,关机开机以后就没有wifi,重新启动就有wifi,kde的networks面板显示wifi is deactivated
解决问题查看日志我很仔细的对比了半天日志,journalctl -p err -b,甚至info我也对比了,花费了大量的时间,但是却发现没有任何问题,而且通过其它的命令,我发现驱动啥的貌似都好好的,没有任何问题.看来自己的设想方向是不对的,从结果来看,真不是驱动的问题.所以,刚开始做了很多无用功
wifi is deactivated仔细查看了kde的networks面板显示以后,我发现wifi is deactivated,搜索以后,我发现,网上有人指出这个命令rfkill list,如下图 不过,这是个后来的截图,以前的情况是Hard blocked: yes
Hard bl ...
mysql中tinyint(1)和tinyint(4)到底有什么区别
mysql中tinyint(1)和tinyint(4)到底有什么区别tinyint基础tinyint存储使用了1个字节,就是8位,只能存储2^8即256个数字.在mysql实现中,有符号是-128-127,无符号是0-255,tinyint后面的括号带的数字,以后暂称之为M,那么1和4到底有什么区别呢?接下来我们就探讨一下M的作用
先下结论
存储上没有任何区别,都是1个字节,8位
唯一的区别就是字段如何设置了zerofill零填充的时候,控制台返回的时候,会根据数字的长度自动填充成对应的位数,现在基本都是可视化操作了,这个特性,控制台,console才会用,几乎没啥作用
测试实践出真知
1. 常规测试使用基本的表,插入基本的数据
查询后发现没有任何区别
可以发现没有任何区别,实际上就是没有任何区别,如果你用navicat之类的工具试验,也会发现没有任何差别,详情可以参见引用stackoverflow用户AamirR的回答里面Aamir的回答可以做很好的验证
2. 无符号建表,同时zerofill建表的基本语句是
最后查询结果如下,比较明显
zerofill的整数字段必须 ...