Check Result levels

Snowflake bills customers based on query execution duration. When running, blocked or queued query is successfully matched against condition, the result contains level, which is assigned based on duration.

The possible levels are following:

  • NOTICE

  • WARNING

  • POTENTIAL_KILL

  • KILL

All conditions have properties notice_duration, warning_duration, kill_duration.

If query runs for longer than kill_duration, and enable_kill is set, it will be assigned with level KILL. If enable_kill is not set, or if query does not match enable_kill_query_filter, it will be assigned with level POTENTIAL_KILL.

If query runs for longer than warning_duration, it will be assigned with level WARNING.

If query runs for longer than notice_duration, it will be assigned with level NOTICE.

Finally, if query runs for less than any of 3 duration properties, it will not be reported in check results.

Level upgrade and storage

It is possible for one query to be reported multiple times, if goes up in level.

For example:

  • if query was never reported before, but now it gets level NOTICE for the first time, it will be reported;

  • if query got level NOTICE before, and it keeps getting level NOTICE on subsequent checks, it will not be reported again;

  • if query got level NOTICE before, but now it gets level WARNING, it will be reported again with level WARNING;

The main idea behind this system is to prevent over-reporting ("spam") about the same query. But at the same time it helps to find out when situation with particular query deteriorate further.

Last updated