< 返回版块

rust 日报 babpstep 发表于 2023-06-13 21:41

Tags:smtp, trace-cmd

Mailtuta: 一个轻量的 SMTP 服务器

Mailtutan 是一个用 Rust 构建的 SMTP 服务器。它允许您模拟 SMTP(简单邮件传输协议)服务器,以进行测试和开发,而不必向实际地址发送电子邮件。该服务器支持同时支持多个客户端连接,它还提供了一个 Web 界面和 REST API 来查看电子邮件列表,并使用 WebSockets 实时更新 Web 界面。

Mailtutan 的实现非常轻量级和高效,Docker镜像小于2MB。它支持多种存储选项:内存(默认),Maildir(文件中)。

可以通过下面的命令快速安装:

  • cargo install mailtutan
  • docker run -p 1080:1080 -p 1025:1025 -d mailtutan/mailtutan:latest

github地址

libtracecmd-rs: libtracecmd 的 rust 封装

这个库是 libtracecmd 的 Rust 包装器,允许您编写程序来分析由 trace-cmd 记录的 Linux 的 ftrace 数据。(要在程序中使用此包,您需要在系统上安装 libtracecmd>=1.2.0)。

例如:

  1. 首先使用 trace-cmd 记录各个 syscall 的调用情况,这将得到一个名为 trace.dat 的记录文件:

    trace-cmd record -e syscalls sleep 10

  2. 运行下面的指令,使用仓库中的 top_n_events 示例,统计每一个 syscall 的调用次数: cargo run --example top_n_events -- --input trace.dat --n 10 --prefix sys_enter_

  3. 最终的输出如下所示:

    Top 10 events:
    #1: ioctl: 62424 times
    #2: futex: 59074 times
    #3: read: 30144 times
    #4: write: 28361 times
    #5: newfstatat: 22590 times
    #6: close: 15893 times
    #7: splice: 14650 times
    #8: getuid: 13579 times
    #9: epoll_pwait: 12298 times
    #10: ppoll: 10523 times
    

更多内容请阅读原文

github地址

-- From 日报小组 RustPlumber

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页