菜单
开源 RSS

Pyroscope Block 格式

本文档描述了 Pyroscope 如何在其 Block 中存储数据。每个 Block 属于一个租户,并通过唯一的 ULID 标识。一个 Block 中包含多个文件:

  • 一个元数据文件 meta.json,其中包含有关 Block 内容的信息,例如性能分析数据的时间范围。

  • 一个 TSDB 索引 index.tsdb,用于将外部标签映射到 profiles 表中存储的 Profiling 数据。

  • profiles.parquet parquet 表,包含 Profiling 数据。

  • symbols.symdb 文件,包含 Block 中存储的 Profiling 数据的符号信息。

数据模型

Block 中的数据模型与 Google 的 proto 定义 中的 pprof 线格式基本一致。

Profile 系列标签包含在摄取时收集的额外信息,可用于选择特定的 Profiling 数据。它们类似于 Prometheus/Loki 标签,典型的标签名称如 namespacepod,用于描述 Profiling 数据来自哪个工作负载。

摄取的每个 Profiling 数据都将添加到 profile 表中的新行。如果不同模型对应的表中缺少条目,也会插入。

Data model of Pyroscope blocks