> For the complete documentation index, see [llms.txt](https://docs.snowkill.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.snowkill.net/implementation-details/check-result-levels.md).

# Check Result levels

Snowflake bills customers based on query execution duration. When running, blocked or queued query is successfully matched against [condition](/condition/built-in-conditions.md), the result contains level, which is assigned based on duration.

The possible levels are following:

* NOTICE
* WARNING
* POTENTIAL\_KILL
* KILL

All [conditions](/condition/built-in-conditions.md) 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.
