Clickhouse学习 Jun 30, 2022

ClickHouse是一个列式数据库管理系统,可用于联机分析(OLAP)。ClickHouse最常用的表引擎是MergeTree,下面主要围绕该种表引擎展开。

...
Clickhouse存储Trace调研 Jun 28, 2022

clickhouse是开源的纯列式数据库,定位是OLAP数据库。因为他的一些特性,也广泛用于监控领域,一方面代替时序数据库,存储多维度指标,另一方面也用于存储trace数据。这个博客的目的就是调研下业界如何使用clickhouse存储trace的,围绕表结构和查询sql语句展开,主要调研uptrace的实现。

...
Opentelemetry Java自动埋点实现 Jun 22, 2022

Opentelemetry是怎么做链路追踪的介绍了opentelemetry的API和SDK实现,也介绍了如何进行手动买点。这篇博客是介绍如何进行自动埋点,这当然要用到javaagent技术了。Java Agent实现指南有写过javaagent的实现指南和类加载的坑,今天看看opentelemetry是如何做的,其github地址是opentelemetry-java-instrumentation,接下来应该就是跟着代码流水账了。

...
Go GC初探 Jun 16, 2022

Go目前的GC方案是三色标记法+混合写屏障。

Golang的垃圾回收(GC)算法使用的是无无分代(对象没有代际之分)、不整理(回收过程中不对对象进行移动与整理)、并发(与用户代码并发执行)的三色标记清扫算法。原因在于:

...
Caddy源码阅读 Jun 14, 2022

之前我们用了caddy的forwardproxy插件,来看看他是怎么做的

go内置的http服务器实现

http.ListenAndServe(":8080", nil)

如上即可启动go内置的http服务器,第二个参数是nil,于是go会使用内置的handler,代码如下

...
GO PProf使用 Jun 2, 2022

记录下如何使用pprof

...
dd安装rhel8 May 10, 2022

centos8没有了,虽然Red Hat推出了开发者计划,允许用户使用免费的rhel8,但是云服务厂商普遍没有提供rhel8的镜像,一般的用户还是没有办法在vps上用上rhel8,就连centos8的替代品rocky linux、almalinux大部分云服务厂商也没有提供。

这个博客就是介绍下,如何在公有云vps上通过dd写盘安装rhel8系统。

...
Shell编程笔记 May 8, 2022

个人搞了很多零散的shell脚本,开个博客统一整理下

...
Skywalking v8.9.1 源码阅读 Apr 20, 2022

skywalking搞了STAM流拓扑分析方法,具体见README-cn.md,简单来说就是将上游的Service、Service Instance等信息放在下游span中,从而一个span就具有上游Service和下游Service的信息,从而直接聚合出一个依赖关系,避免了通过时间窗口聚合。

这篇博客的内容是从STAM实现到skywalking的整体架构。

...
Skywalking v8.9.1文档学习 Apr 19, 2022

看看skywalking

...