instance-performance-triage
Instance Performance Triage
Two questions arrive constantly and both have the same wrong answer: "the instance is slow" and "my
nightly job never ran". The wrong answer is to write a GlideRecord sweep and run it through
snow_execute_script. On an instance that is already struggling you have just added a transaction,
and whatever you measure includes yourself. The platform already records what you need. Read it.
This guide is about reading it correctly, because most of the failure modes here are silent — you get a plausible-looking answer that is not an answer.
Rule zero: a wrong field name returns everything
The Table API does not reject an encoded query that references a column the table does not have. It
drops the condition, logs Invalid query detected / Unknown field <x> in table <y> to syslog, and
returns rows up to sysparm_limit. Same for sysparm_fields: unknown names are simply absent from the
result, so a tool that maps them produces undefined, and a tool that counts them produces zero.
The two consequences you must hold in your head for the whole of this guide: