Skip to main content

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

Project description

SnowKill

SnowKill is a realtime query monitoring tool for Snowflake.

SnowKill helps to detect potential problems with queries which are currently running. It analyzes query plans, generates notifications and possibly terminates ("kills") queries automatically.

SnowKill provides results much faster relative to conventional monitoring tools operating on finished queries data from QUERY_HISTORY and GET_QUERY_OPERATOR_STATS.

The core logic of SnowKill relies on REST API calls. It does not require an active warehouse, which makes this kind of monitoring nearly free of charge.

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 detected queries (via Slack, Email, etc.).

Diagram

Documentation

(coming soon!)

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, 2023

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.3.0.tar.gz (19.3 kB view hashes)

Uploaded Source

Built Distribution

snowkill-0.3.0-py3-none-any.whl (25.7 kB view hashes)

Uploaded Python 3

Supported by

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