1.1 tower 核心抽象 1. Tower 的起源说起 Tower,就不得不提到 Rust 另一个重要的框架,Tokio,这两个单词连起来读,就是 Tokyo Tower(东京塔),这也从另一个方面说明,Tower 是 Tokio 官方支持的中间件框架,Axum ,Tower-web,Tonic 这些项目,都广泛使用了 Tower 这层抽象。 那么,我们不禁要问,Tower 到底是什么?官方给出的答案是:Tower 是一个 2022-01-10 rust tower basic
3.1 tower 不足之处 这一部分,主要是探讨 Tower 中的一些不足之处,主要参考我实习期间使用 Tower 之后的一些体验以及和同事的讨论。 1. 问题1.1 call是否应该使用 Pin<&mut Self> ?关于这个问题,已经有了一些github 讨论。但是到目前为止,Tower 官方还是决定采用一个普通的 &mut self,这意味着 Service 必须是Unpin。 这个问题的 2022-01-10 rust tower more
ftrace 先说一个非常重要的参考资料,也就是 ftrace 作者本人的 pdf:ftrace kernel hook 接下来,主要跟着作者的思路,融入自己的一些思考,给大家解读一下 ftrace 究竟做了什么? 1. 什么是 ftraceftrace,顾名思义,就是 function trace,针对函数级别的追踪调试机制。 我们平时是如何使用这个强大功能的呢? 1.1 如何使用 ftrace可以通过 tr 2022-01-09 linux trace
int3 黑魔法 发现和 tracing 有关的好多内容,脱离了 int3 都无法很好的展开。要么需要额外写很多内容,要么是不够详细,所以想在这里单独说明一下 int3 的黑魔法。 1. 程序执行视角众所周知,可执行程序,在 CPU 看来,只是很多的指令罢了,对于不同的指令,CPU 会有不同的反应,如果学习过汇编,可能会了解 mov add sub mul push pop call 这些最常见的指令,但是 CPU 2022-01-09 linux trace
kprobe 1. kprobe 是什么Kprobe是一种内核调测手段,它可以动态地跟踪内核的行为、收集debug信息和性能信息。 可以跟踪内核几乎所有的代码地址。这点非常神奇啊,几乎所有的代码,Wow,究竟如何办到这一点呢?我们可以从 debugger 角度出发,探究一下这个问题。 众所周知,debugger 是依赖于 ptrace 这个系统调用,ptrace 赋予了程序调试别的进程的能力,这一点是如何办到的 2022-01-09 linux trace
notify chain Linux 中广泛采用了事件通知机制,即 注册 + 回调,notify chain 就是很典型的例子。 1. notify chain 是什么首先要明白,notify chain 是什么? 将其比作 发布-订阅模式,可能更加容易理解: 某个读者订阅了某个杂志,当杂志发版之后,就会收到对应的通知;一旦不再想看这个杂志,取消订阅即可。 Linux 中为了及时相应某一些到来的事件,采取了通知链机制,可以 2022-01-09 linux trace
tracepoint 1. TraceEvent 是什么要搞明白 TraceEvent,首先要去了解一下 Tracepoint。 1.1 tracepointTracepoint 是内核中一种探测的机制。放置在代码中的 tracepoint(跟踪点)提供了一个钩子来调用您可以在运行时提供的函数(probe)。 tracepoint 可以是 “on”(开启)或 “off”(关闭)。 当跟踪点关闭时,它没有任何影响,除了添 2022-01-09 linux trace
how perf works 1. perf 是什么perf 这个工具大家可能都用过,非常强大,但是也不免让人好奇,底层是如何实现的呢? 官方的定义为:Perf 是访问 processor monitor unit (PMU) 以及记录和展示 software events(例如页面错误)的接口。 它支持系统范围、线程级别和 KVM 虚拟化的各种监控。 但这种解释还是无法让人完全理解,别着急,听我慢慢道来。 首先明确一点:p 2022-01-09 linux trace
小妇人 再次感谢 @越哥说电影 第一次看小妇人,是在合肥,和最爱的唯唯一起,她就靠在我的肩上,边看边跟我说悄悄话,真美好啊!这部电影质量也很好,总之是一次很不错的回忆。记得同时上映的还有别的电影,她唯独选了这个,现在看来,却有其用意。 什么用意呢?经历了这么多,感觉她和剧中女主-乔,有很多的相似之处:她们都渴望美好的爱情,但是又希望通过自己的能力去实现自身价值,不愿意依附男生,如果说乔是旧时代的独立女性, 2021-12-26