Skip to main content

SnowKill

PyPI

SnowKill is a near real-time query monitoring tool for Snowflake Data Cloud.

SnowKill helps to detect potential problems with queries which are currently running. It analyzes query stats and plans, detects bad patterns, generates notifications and optionally "kills" some queries automatically.

The core logic of SnowKill relies on internal REST API calls instead of SQL queries. It does not require an active warehouse to run, which makes it possible to maintain the constant monitoring almost free of charge.

SnowKill has programmatic access to query plan from "Query Profile" page in SnowSight. SnowKill also has access to information about locks and tries to report the exact reason for transaction collisions.

SnowKill operates on present data, which normally allows it to react much faster relative to conventional monitoring tools operating on past data from QUERY_HISTORY and GET_QUERY_OPERATOR_STATS.

How does it work?

  1. Load list of queries which are currently RUNNING, QUEUED or BLOCKED.
  2. Load additional information about query plans and active locks, if necessary.
  3. Check queries against list of fully customizable conditions.
  4. Optionally terminate matched queries exceeding specific thresholds.
  5. Detect and skip previously reported queries, avoid duplicates.
  6. Send notifications about newly matched queries (via Slack, Email, etc.).

Notification example

Notification example 1

Quick links

Built-in conditions:

Built-in formatters:

Built-in storages:

Future plans

  • More conditions, formatters, storages.
  • Automated testing on push.
  • Maybe some conditions for groups of queries, e.g. "more than 4 queries are queued on warehouse".

Issues? Questions? Feedback?

Please use GitHub "Issues" to report bugs and technical problems.

Please use GitHub "Discussions" to ask questions and provide feedback.

Created by

Vitaly Markov, 2025

Enjoy!

Release files for snowkill 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for snowkill 0.5.1
File Size Uploaded
snowkill-0.5.1.tar.gz 21.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for snowkill 0.5.1
File Interpreter ABI Platform
snowkill-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 49.0 kB

Release files / snowkill-0.5.1.tar.gz

Download URL snowkill-0.5.1.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
712afe7b12968b9d0cfa148cbb7c2b1f65a214b5e45109aa0a27a58cbe04509a
BLAKE2b-256 checksum
How to use checksums
ffea46ccd13f0a0c884a0178e17bf3f65520f29c11bcdf3db7f43454e270af43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.0

Release files / snowkill-0.5.1-py3-none-any.whl

Download URL snowkill-0.5.1-py3-none-any.whl
Size 27.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
46c25ca6a3585e44270b7abf919d5a409f9128b21f69560b9fa0748c637bdabd
BLAKE2b-256 checksum
How to use checksums
bedf25eb6edfe2ceb38f3c49de71fd1ea0374ac5fad53e387ff41a98ad74139e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.0

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page