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)算法使用的是无无分代(对象没有代际之分)、不整理(回收过程中不对对象进行移动与整理)、并发(与用户代码并发执行)的三色标记清扫算法。原因在于: 对象整理的优势是解决内存碎片问题以及“允许”使用顺序内存分配器。但 Go 运行时的分配算法基于tcmalloc ...
Caddy源码阅读 Jun 14, 2022 之前我们用了caddy的forwardproxy插件,来看看他是怎么做的 go内置的http服务器实现 http.ListenAndServe(":8080", nil) 如上即可启动go内置的http服务器,第二个参数是nil,于是go会使用内置的handler,代码如下 func (sh serverHandler) ServeHTTP(rw ResponseWriter, req *Request) { handler := sh.srv.Handler if handler == nil { // 如果为nil,则使用内置的ServeMux handler = DefaultServeMux } if req.RequestURI == "*" && req.Method == "OPTIONS" { handler = globalOptionsHandler{} } handler.ServeHTTP(rw, req) ...
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

...
pipeline模式的一种实现 Apr 19, 2022

一种流式编程的代码

...
Hyde-Hyde主题修改 Apr 17, 2022 本博客用的是hugo的hyde-hyde主题,在其基础上做了一些改进,具体如下: 对高分屏的宽度适配 下面这个是我自己提的issue this theme is a very good theme except that when I use a 1080p display, the article tag elemets’ size is fixed at 630. I want to make this value bigger or reponsive. Can I get some Help? Thanks! 解决方案是: vim themes/hyde-hyde/assets/scss/hyde-hyde/_variables.scss" # 下面的一行从38rem改成70rem $content-max-width: 70rem; 使用本地静态资源而非cdn静态资源 中国访问国外静态资源太 ...