The diagnostics toolkit
What you'll learn
Each question has a tool: ST05 for SQL, SAT for CPU, SQLM/SWLT for production hotspots, DBACOCKPIT/PLANVIZ for plans, SCMON/SCOV/SUSG for usage and coverage.
- ST05 — SQL trace: what SQL ran, how often, how long; first stop for slow SQL and lock waits.
- SAT — runtime/ABAP trace (replaces SE30) for a CPU profile of an ABAP path.
- SQLM — SQL Monitor aggregates statements on production; SWLT joins SQLM with Code Inspector findings.
Performance work begins with measurement, and SAP ships a distinct tool for each kind of question. ST05 is the SQL trace: switch it on, run the suspect path, and read which statements executed, how often, and how long — the first stop for slow SQL or lock waits. SAT is the runtime (ABAP) trace, the successor to SE30, for a CPU profile of an ABAP path when the bottleneck is in the code, not the database.
For production, SQLM (the SQL Monitor) aggregates statement statistics over a long collection window on the live system, and SWLT (the SQL Performance Tuning Worklist) joins SQLM data with Code Inspector findings so you can prioritize remediation by both cost and code smell. To see what HANA itself is running, open DBACOCKPIT and read the SQL plan cache; to tune one statement, PLANVIZ renders its plan tree so you can spot a nested-loop join or a missing pushdown.
Three more tools answer usage and coverage questions rather than latency. SCMON records object usage — which programs, function modules and classes are actually called — for decommissioning and scoping. SCOV reports code coverage after unit tests, surfacing dead code. SUSG aggregates usage statistics across systems for a landscape-wide roll-up. Knowing which tool answers which question is half the battle; reaching for ST05 when the problem is CPU-bound, or SAT when it is a slow join, wastes hours.
Key points
- ST05 — SQL trace: what SQL ran, how often, how long; first stop for slow SQL and lock waits.
- SAT — runtime/ABAP trace (replaces SE30) for a CPU profile of an ABAP path.
- SQLM — SQL Monitor aggregates statements on production; SWLT joins SQLM with Code Inspector findings.
- DBACOCKPIT — HANA SQL plan cache; PLANVIZ — per-statement plan tree.
- SCMON — object usage; SCOV — code coverage; SUSG — cross-system usage aggregation.
Examples
Slow report, suspect SQL → ST05. High CPU but light DB → SAT. 'Which statements hurt most in prod over a month?' → SQLM, then SWLT to prioritize. 'Why is this one query slow?' → PLANVIZ. 'Is this code even used?' → SCMON; 'covered by tests?' → SCOV; 'across the landscape?' → SUSG.
Source notes: clean-core-curriculum §7.2
Ask Claude
Build a prompt from this lesson + your question and open a fresh Claude chat with it pre-filled — handy for adapting a before/after pattern to your own object.