tracing - 一个用于在Rust程序中收集结构化的基于事件的诊断信息的框架
tracing是一个用于在Rust程序中收集结构化的基于事件的诊断信息的框架。
该框架可用于应用程序和库。在应用程序中,可通过tracing-subscriber等收集器实现来记录跟踪事件。在库中,开发者只需使用tracing提供的宏和类型来收集可能对下游使用者有用的信息。
文档提供了一些代码示例,展示了如何初始化收集器、使用跨度(span)和事件(event)等核心概念在应用程序和库中记录诊断信息。tracing旨在帮助Rust开发者方便地将结构化日志记录集成到他们的程序中。
https://github.com/tokio-rs/tracing
tracing-tape - 基于tracing的更上层的封装
这个项目提供了一个简单的方法来调试和分析分布式Rust应用程序的执行情况。它基于 tracing 创建,可以将应用程序的追踪事件记录到磁盘文件中,然后使用一个GUI工具 trace-deck 来可视化查看这些记录文件。
要使用它,只需在应用程序中添加几个依赖项,并用一些代码初始化记录器。运行应用程序时就会在当前目录下生成以时间戳命名的 .tape 文件,里面记录了应用执行过程中的追踪事件。之后就可以用 trace-deck 工具直接打开这些文件查看可视化的执行情况。
这个工具的优点是无需复杂的设置和配置,就可以快速地对应用进行追踪分析,并支持同时加载多个记录文件。但目前还存在一些已知问题,比如无法配置记录器、大文件加载慢、偶尔会导致延迟等。总的来说是一个方便的分布式系统调试和分析工具。
https://github.com/soehrl/tracing-tape
infinite-rs -
该资源库是一个用Rust语言编写的简单快速的Halo Infinite游戏数据反序列化库。它主要功能包括:
-
加载Halo Infinite游戏中的Module文件,这些文件存储了游戏中所有资源如模型、纹理、元数据等。
-
从Module文件中加载特定的tag文件,获取tag数据流和信息。
-
通过derive特性,可以将tag数据直接反序列化到自定义的数据结构中,方便后续处理。
-
提供了一些示例代码展示如何使用该库加载Module文件、tag文件以及自定义数据结构。
-
该项目受到了其他一些游戏文件相关工具如libinfinite、Reclaimer等的启发。
这是一个方便Rust开发者访问和处理Halo Infinite游戏数据的实用库。
https://github.com/Surasia/infinite-rs
dynosaur - 允许你在具有异步函数和返回impl Trait的trait上使用动态分发
dynosaur允许你在具有异步函数和返回impl Trait的trait上使用动态分发。它提供了一个[dynosaur::dynosaur(DynNext)]属性宏,用于生成一个叫DynNext的类型,可以像使用dyn Trait那样使用该类型。当动态分发时,返回impl Trait的方法会将其返回类型装箱,而静态分发时则不会。该crate使用Apache 2.0或MIT许可证授权。
https://github.com/spastorino/dynosaur
--
From 日报小组 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论