使用统计收集#

LMCache 默认收集匿名使用数据,以帮助工程团队了解实际工作负载,优先优化并提高可靠性。所有收集的数据都是汇总的,并不包含敏感用户信息。

聚合数据的一个经过清洗的子集可能会公开发布,以惠及社区(例如,查看每日使用报告 here)。

收集了哪些数据?#

使用统计信息以三种消息类型发出,具体实现位于 usage_context.py

  • EnvMessage 捕获环境细节,例如云提供商、CPU 信息、总内存、架构、GPU 数量/类型和执行源。

  • EngineMessage 记录引擎配置和元数据,包括缓存设置(块大小、本地设备、缓存限制)、远程后端参数、混合设置、模型名称、全局大小,以及 KV Cache 的数据类型/形状。

  • MetadataMessage 报告执行元数据:运行开始的时间戳和总持续时间(以秒为单位)。

这些消息被序列化为 JSON 并通过 POST 发送到 LMCache 使用服务器。

示例 JSON 有效负载#

{
  "message_type": "EnvMessage",
  "provider": "GCP",
  "num_cpu": 24,
  "cpu_type": "Intel(R) Xeon(R) CPU @ 2.20GHz",
  "cpu_family_model_stepping": "6,85,7",
  "total_memory": 101261135872,
  "architecture": ["64bit", "ELF"],
  "platforms": "Linux-5.10.0-28-cloud-amd64-x86_64-with-glibc2.31",
  "gpu_count": 2,
  "gpu_type": "NVIDIA L4",
  "gpu_memory_per_device": 23580639232,
  "source": "DOCKER"
}

预览收集的数据#

如果您启用 本地日志记录,使用消息将附加到您指定的日志文件中。要检查最近的条目:

tail ~/.config/lmcache/usage.log

配置与选择退出#

默认情况下,使用情况跟踪是 启用 的。要禁用所有使用统计信息收集,请设置环境变量:

export LMCACHE_TRACK_USAGE=false

LMCACHE_TRACK_USAGE 设置为 false 时,InitializeUsageContext 将返回 None,并且不会发送或记录任何数据。

本地日志记录#

如果您希望在将数据发送到服务器的同时(或替代)记录到文件中,请在初始化时传递一个本地日志路径:

from lmcache.usage_context import InitializeUsageContext

usage_ctx = InitializeUsageContext(
    config=engine_config,
    metadata=engine_metadata,
    local_log="~/.config/lmcache/usage.log"
)

省略 local_log 参数(或传递 None)将禁用本地文件日志记录。