Skip to main content

A tool for realtime monitoring of running, queued and blocked queries in Snowflake

Project description

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snowkill-0.5.1.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snowkill-0.5.1-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file snowkill-0.5.1.tar.gz.

File metadata

  • Download URL: snowkill-0.5.1.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for snowkill-0.5.1.tar.gz
Algorithm Hash digest
SHA256 712afe7b12968b9d0cfa148cbb7c2b1f65a214b5e45109aa0a27a58cbe04509a
MD5 ae587df7d2c5ca1fa03a1afde7d16e8a
BLAKE2b-256 ffea46ccd13f0a0c884a0178e17bf3f65520f29c11bcdf3db7f43454e270af43

See more details on using hashes here.

File details

Details for the file snowkill-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: snowkill-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for snowkill-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 46c25ca6a3585e44270b7abf919d5a409f9128b21f69560b9fa0748c637bdabd
MD5 038f6a5f2311ca7d2e2b4455ec44ae13
BLAKE2b-256 bedf25eb6edfe2ceb38f3c49de71fd1ea0374ac5fad53e387ff41a98ad74139e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page