> ## Documentation Index
> Fetch the complete documentation index at: https://docs.molesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 持续剖析

> 接入 pprof，检查火焰图，并比较不同时段的 CPU、内存和锁竞争。

持续剖析用于定位服务的 CPU 消耗、内存分配或锁等待。通过主导航打开**持续剖析**。

## 接入 Profile

MoleSignal 支持：

* 外部 OTLP gRPC Receiver 上的 OTLP Profiles；
* `/api/v1/profiles/intake` 的 Pyroscope 兼容接入；
* `/api/v1/profiles/upload` 的 pprof 文件上传；
* 在界面直接上传单个 profile 文件。

Profile 元数据可查询，canonical pprof blob 会压缩后存入对象存储。

## 分析火焰图

选择服务、profile 类型与时间范围，再选择一个或多个 profile 合并分析。

火焰图支持：

* 放大某个栈帧；
* 搜索并高亮函数；
* 查看 self 与 cumulative 样本；
* 查看热点函数排行；
* 检查函数详情和调用栈上下文；
* 对近期窗口进行实时刷新。

## 比较两个窗口

打开**比较 Profile**，选择基线窗口和对比窗口。差分火焰图会突出变热或变冷的函数，适合
分析发布或配置变更后的回归。

差分性能剖析需要 Enterprise Edition 的 `profiling_enhanced` 授权。Profile 采集、列表、下载、
Trace 关联与单窗口火焰图不受该授权限制。

## 区分应用与节点剖析

应用 Profile 属于组织数据流并显示在产品界面。MoleSignal 还提供面向平台运维的节点本地
pprof Listener。该 Listener 默认关闭，通常应仅绑定 loopback。

节点 Listener 与定时 `_molesignal` Profile 见
[自身可观测](/zh-Hans/self-observability)。

## 权限

* `streams.read` 用于发现 Profile 数据。
* `streams.query` 用于渲染和比较火焰图。
* `streams.write` 或接入凭证用于发送 Profile。

<Warning>
  Profile 可能暴露函数名、代码布局和资源使用模式。请把 Profile 接入、下载和节点 pprof
  Listener 视为敏感运维数据。
</Warning>
