SKILL.md
StarRocks Documentation Lookup
Look up information about $ARGUMENTS from StarRocks official documentation.
Primary Documentation Sources
- Query Profile Operator Metrics (most relevant for metric definitions):
https://docs.starrocks.io/docs/bestpractices/querytuning/queryprofileoperator_metrics
- Query Profile Tuning Recipes (bottleneck patterns and fixes):
https://docs.starrocks.io/docs/bestpractices/querytuning/queryprofiletuning_recipes/
- Query Planning (optimizer behavior, join strategies, distribution):
https://docs.starrocks.io/docs/bestpractices/querytuning/query_planning/
Tasks
1. Search Documentation
- For metric definitions: fetch the Query Profile Operator Metrics page first
- For bottleneck patterns: fetch the Query Profile Tuning Recipes page
- For optimizer/planning questions: fetch the Query Planning page
- Use WebSearch for broader StarRocks documentation if needed
2. Explain the Metric/Concept
Provide:
- Definition: What the metric measures
- Units: Time (ns/us/ms/s), bytes, rows, count
- Location: CommonMetrics vs UniqueMetrics, which operator types have it
- Interpretation: What high/low values indicate
3. Performance Context
If relevant, explain:
- Bottleneck patterns: What issues this metric can reveal
- Related metrics: Other metrics to check alongside
- Optimization tips: How to improve if values are problematic
4. NorthStar Integration
Check if this metric is already displayed in NorthStar:
- Search
js/scanRender.jsfor scan-related metrics - Search
js/joinRender.jsfor join-related metrics - If not displayed, suggest whether it should be added
Common Metric Categories
Scan Operator Metrics
- Time:
ScanTime,IOTaskExecTime,IOTaskWaitTime,SegmentInit,SegmentRead - Rows:
RawRowsRead,RowsRead,PullRowNum, filter metrics (ZoneMapIndexFilterRows, etc.) - I/O:
BytesRead,CompressedBytesRead,IOTime
Join Operator Metrics
- Build:
BuildHashTableTime,HashTableMemoryUsage,RowsSpilled - Probe:
SearchHashTableTime,ProbeConjunctEvaluateTime
Common Bottleneck Patterns
- Cold storage: High
IOTaskExecTime+BytesRead - Thread starvation: High
IOTaskWaitTime+ lowPeakIOTasks - Data skew: Large gap between
__MAXOFand__MINOF - Fragmentation: High
RowsetsReadCount/SegmentsReadCount+ longSegmentInit - Missing filter pushdown:
PushdownPredicatesnear 0, highPredFilterRows