Prometheus Histogram + Grafana 绘制接口响应热点图

一、前言 第一版的接口响应时长分布统计图表是根据 Prometheus Counter 数据类型制作的折线图,它大概长下面这个样子。 原理其实也非常简单,我就是将请求分组进行统计。大致的代码就是下面这个样子 奈何领导说接口统计最好不要用 counter 计数器,也不要做成折线图。要使用 Promet…

Golang 拉取 Github 私有库的姿势

我们的 Go 项目拉取依赖时,默认使用的是 https 协议的 git clone 。因此当你的 Golang 项目位于 Github 的私有仓库时,而你本地的项目又依赖这个私有库,此时你应当先设置SSH 保证 Git 能无密码拉取到该依赖。 其次你还必须要设置 GOPRIVATE ,当你设置后, …

Drone for Github|Golang CI集成

一、前言 Drone 是一套基于容器构建的CI工具,部署配置起来非常方便。 它的官网在这https://www.drone.io/ 二、安装部署 话不多说,首先就是需要安装它,官方提供一套基于容器的单机部署方式。 你需要自行安装dokcer 与 docker-compose 安装完 docker-c…

Goland 配置 Openresty Lua 语法提示

最近开始学习openresty,因此首先需要的就是让编辑器支持 Lua 语法的提示。 我自身是一名 Golang 开发人员,因此用的编辑器自然是 jetbrians 系列的 Goland 。 第一步:去扩展中安装 emmylua 安装后重启编辑器, Lua 的基本语法就有提示了 emmylua 自身…

Golang|Select 误用带来的错觉

select 一般都是搭配 channel 使用的。这本身我相信作为Go开发的同学都清楚。 有一道面试题: 如果以下 c1 和 c2 这两个管道同时有数据写入,那么会优先写入哪个值呢? 我相信这道基础题,大部分开发同学不用想都知道。(PS:当管道同时有数据写入时 Go 会根据自己的特点随机选择 c1…