Emacs 字符操作快捷键
Emacs 中对字符操作快捷键的使用备注
·1min·李岩
Emacs 字符操作快捷键Cargo config 使用备注
本文备注下如何配置 Cargo dependencies 为指定仓库。
·9min·李岩
Cargo config 使用备注合并区间
一个《合并区间》的问题及两种解法。
·2min·李岩
合并区间BPF LRU_HASH_MAP 及 HASH_MAP 的使用异常
BPF 技术看起来还有很多不易察觉的缺陷。最近又踩了一个坑。记录下。
LRU_HASH_MAP 在实现的时候,出现了不符合预期的数据驱逐问题:设定一个 512 大小的LRU_HASH_MAP,很可能出现在40-50个key的时候,之前的key就被覆盖。在一段时间未更新时,重新更新也可能会出现异常。总结就是,执行了写入操作,很可能没有写入。这个问题在Elements incorrectly evicted from eBPF LRU hash map有较为详细的描述。
·3min·李岩
BPF LRU_HASH_MAP 及 HASH_MAP 的使用异常TCP close 过程分析
最近做了一些 TCP 连接观测相关的项目,又到了一个节奏点上了。这里趁着这个机会,做一些总结,同时描述一下 tcp close 过程中的一些疑惑。
在一些场景下,对服务的调用观测是很有价值的。笔者最近实践了使用tcp_close对服务主被调信息的观测,在这里作一下记录。
·3min·李岩
TCP close 过程分析BPF 获取 LVS FullNat 模式下的 Client IP
搞项目。
观测服务的请求调用需求是客观存在的。一般是需要观测服务的主动发起的调用信息,但是偶尔也会遇到需要观测服务被调用信息的需求。但是一般待采集的服务都是挂载在LVS下面的。这就势必涉及到LVS预设的工作模式下,一般都是FULLNET,需要的real client ip的信息获取方式。
笔者通过调研,实现了一种通过BPF来观测挂载在LVS下的RS被调用TCP连接信息的方式。本文中关于toa的操作及代码定义均引用自Huawei/TCP_option_address。
·4min·李岩
BPF 获取 LVS FullNat 模式下的 Client IP