#global-allocator #memory #debugging #metrics #allocation #track

无需std alloc-metrics

跟踪分配指标的全球分配器

2个版本

0.1.1 2024年1月19日
0.1.0 2024年1月18日

#323 in 内存管理

MIT/Apache

10KB
149 代码行

描述

alloc-metrics 是一个简单的crate,它添加了一个新的全局分配器类型,用于跟踪总分配次数和实际分配的字节数。在典型的程序中,这可以用于获取内存利用率随时间变化的图表,或者可以在解释器运行时限制脚本使用的内存量。

设置

要开始使用 alloc-metrics,您必须首先设置项目中全局分配器

use alloc_metrics::MetricAlloc;

#[global_allocator]
static GLOBAL: MetricAlloc<std::alloc::System> = MetricAlloc::new(std::alloc::System);

注意,MetricAlloc 类型可以包装任何现有的全局分配器类型。因此,您可以将 alloc-metrics 的功能与其他任何全局分配器组合。

功能

  • thread:提供对线程局部分配指标的访问(需要 std)。
  • global:提供对全局分配指标的访问。

无需std

此crate通过禁用默认功能,在 no-std 环境中完全兼容。

alloc-metrics = { version = "...", default-features = false, features = ["global"] }

注意,我们已重新启用了 global 功能,以便我们仍然可以访问全局分配指标(请参阅上面的功能列表)。

依赖关系

~0.5–1MB
~22K SLoC