doris-profile-reader
Installation
SKILL.md
Doris Profile Reader
Purpose
Use this skill to identify the real bottleneck in an Apache Doris query runtime profile. The core rule is to separate active work from dependency, queue, and backpressure waits before naming an operator as expensive. When the plan contains joins, also separate the immediate runtime bottleneck from the plan-shape cause, especially bad join order and runtime-filter direction.
Required Reading Order
- Read
references/reading-workflow.mdfor the analysis workflow and output contract. - Read
references/counter-semantics.mdfor counter meaning and priority, especially wait counters. - Read
references/operator-guide.mdfor the relevant operator family. - Read
references/failure-patterns.mdwhen the profile shows skew, bad join/distribution choices, weak pruning, sort/spill/resource pressure, external scans/catalogs, lifecycle waits, or when the user expects an issue-level root cause from profile-only evidence. - Read
references/join-order-diagnosis.mdwhen the profile or plan has multiple joins, a large hash/nested-loop build, a large scan that might have been pruned by a join, paired fast/slow plans, hints/reordered SQL, or a request about join shape/reorder. - Read
references/runtime-filters.mdwhen a profile or plan includesRuntimeFilterInfo,RF... <-,RF... ->,JRFs,WaitForRuntimeFilter, orAcquireRuntimeFilter. - Use
references/source-profile-inventory.mdas the source-backed operator/counter inventory. If a counter or operator is not in the narrative docs, do not ignore it; look it up in this inventory and classify it by the rules incounter-semantics.md. - Read
references/solution-playbook.mdwhen the user asks for a fix, workaround, mitigation, tuning, SQL rewrite, or when the requested output schema includes solution fields. - Read
references/known-issues-solutions.mdafter the root-cause layer is established and a solution is requested. Use it as historical evidence, not as a replacement for profile diagnosis.