
go原生库源码阅读系列文章
go原生库源码阅读系列文章
zcxzcxczcx
不断学习钻研提高技术
展开
-
prometheus+grafana 搭建监控报警系统
1、prometheus是什么2、本地下载安装prometheus2.1 去prometheus官网查找prometheus的最新包地址2.2 安装> cd ~> mkdirpackages> cdpackages>wget https://github.com/prometheus/prometheus/releases/download/v2.33.0-rc.0/prometheus-2.33.0-rc.0.linux-amd64.ta...原创 2022-01-21 17:52:33 · 1055 阅读 · 0 评论 -
浅谈 go netpoll
1.先谈epollhttps://zhuanlan.zhihu.com/p/647465091.1 epoll定义是I/O多路复用的一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪,就是这个文件描述符进行读写操作之前),能够通知程序进行相应的读写操作。Level_triggered(水平触发):当被监控的文件描述符上有可读写事件发生时,epoll_wait()会通知处理程序去读写。如果这次没有把数据一次性全部读写完(如读写缓冲区太小),那么下次调用 epoll_wai原创 2020-06-04 11:48:01 · 650 阅读 · 0 评论 -
golang html 源码阅读
有时间再记录自己对go原生库html源码的解读,先开一篇文章,以免自己忘记原创 2020-04-30 13:33:33 · 143 阅读 · 0 评论 -
go net/http 源码阅读
有时间再记录自己对go原生库net/http 源码的解读,先开一篇文章,以免自己忘记原创 2020-04-30 13:31:58 · 176 阅读 · 0 评论 -
golang NewTimer/NewTicker 源码阅读
1.引出 src/runtime/time.go 中的 startTimerNewTimer 和 NewTicker 分别在 src/time/sleep.go、src/time/tick.go 这两个文件下。这两个函数最主要的区别是NewTimer在初始化runtimeTimer的时候没有初始化period属性。不管是 NewTimer 还是 NewTicker 最终的实现都是调用 sta...原创 2020-04-29 08:57:55 · 430 阅读 · 0 评论 -
gock:mock http 请求的实现原理及使用
原理: 其实 gock 主要是是改变了requestClient的Transport。gock 定义了一个新的Transport 替换了requestClient的 Transport (http.DefaultTransport),新的Transport 结构体重写了RoundTrip 方法,主要是在这个方法对 http request 进行拦截,去匹配 m...原创 2020-04-29 09:08:31 · 1168 阅读 · 0 评论