Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>SQL Cost & Performance GuardNew to Visual Studio Code? Get it now.
SQL Cost & Performance Guard

SQL Cost & Performance Guard

RahulReddyB

| (0) | Free
Inline, cross-warehouse SQL cost estimation and anti-pattern linter for Snowflake, BigQuery, and Databricks — know the bill before you hit run.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SQL Cost & Performance Guard 💰

"Know the bill before you hit run."

Inline, cross-warehouse SQL cost estimation and anti-pattern linting for Snowflake, BigQuery, and Databricks — directly in your VS Code editor, before a query ever executes.

Marketplace Version License: MIT Build Status PRs Welcome


📽️ Demo & Overview

SQL Cost Guard CodeLens Demo

⚡ Why This Exists

  1. Bill Shock Prevention: Data engineers and analytics engineers currently find out a query was expensive after it ran — via a monthly cloud bill or a Slack notification from Finance.
  2. Zero Context Switching: Get instant feedback inside VS Code at the exact moment you write your SQL, without switching to warehouse Web UIs.
  3. Shift-Left FinOps: Catch missing partition filters, SELECT * scans, and Cartesian join explosions before code reaches pull requests or production DAGs.

✨ Features

  • Inline CodeLens Cost Estimates — See estimated bytes scanned and USD cost directly above your SQL queries as you type.
  • Cross-Warehouse Connectors — Unified dry-run support for BigQuery, Snowflake, and Databricks under one clean VS Code interface.
  • Static Anti-Pattern Linter — Instant parser-based detection of 7 performance anti-patterns with auto Quick Fix code actions (Cmd+. / Ctrl+.).
  • Interactive Webview Panel — Inspect collapsible query plan trees, cost metric breakdowns, historical cost trends, and triggered rule details.
  • Shareable PR Cost Reports — One-click export of markdown cost audit summaries ready to paste into GitHub PR comments.
  • CI/CD Cost Gate — Standalone CLI (npx sql-cost-guard check) and pre-built GitHub Actions workflow to block high-cost queries in PR pipelines.
  • Zero-Dependency Demo Mode — Immediate offline testing with fixture-backed estimates without entering live cloud credentials.

📊 Supported Data Warehouses & Cost Precision

We believe in complete transparency. Different warehouses bill on fundamentally different metrics, so we present estimates with honest precision ratings:

Warehouse Estimation Mechanism Cost Precision & Terms Confidence Level
BigQuery Dry-run query job (dryRun: true) via BigQuery API Exact Bytes & USD Cost — calculated on configurable on-demand pricing ($6.25/TiB default). exact
Snowflake EXPLAIN USING JSON query plan parser Bytes Scanned & Credit Range — Snowflake bills per warehouse-second, so we display relative compute impact ratings and credit ranges based on assigned partitions. directional
Databricks SQL EXPLAIN COST query plan parser Bytes Read & DBU-Hour Range — Databricks bills in DBUs by cluster runtime, so we display DBU-hour consumption ranges. directional

🚀 Quick Start

  1. Install the Extension from the VS Code Marketplace.
  2. Try Offline Demo Mode:
    • Open any .sql or .jinja-sql file.
    • CodeLens estimates will render immediately in [DEMO MODE].
  3. Connect Your Live Warehouse:
    • Open Command Palette (Cmd+Shift+P / Ctrl+Shift+P).
    • Run SQL Cost Guard: Connect Warehouse Credentials.
    • Enter your credentials (stored securely in VS Code SecretStorage).
  4. Read our full setup guide in CONNECTING.md.

⚙️ Configuration Reference

Configure settings in settings.json or VS Code Settings UI:

Setting Key Type Default Description
sqlCostGuard.warehouse enum "none" Active warehouse target ("none" / "bigquery" / "snowflake" / "databricks").
sqlCostGuard.bigqueryOnDemandRatePerTiB number 6.25 On-demand cost per TiB scanned for BigQuery in USD.
sqlCostGuard.costThresholdUSD number 1.0 Cost threshold in USD above which high-cost warnings trigger.
sqlCostGuard.partitionColumns object { "events": "event_date", ... } Map of table names to required partition/clustering column names.
sqlCostGuard.enableAutoEstimate boolean true Enable automatic debounced (800ms) cost estimation on keystrokes.
sqlCostGuard.telemetry.enabled boolean false Enable anonymous aggregate usage metrics (disabled by default).

🛠️ CI/CD Pipeline Cost Gate

Enforce query cost limits in your continuous integration workflow using our CLI:

# Run headless cost & anti-pattern check across all SQL files
npx sql-cost-guard check path/to/sql/files

# Generate machine-readable JSON output for CI pipelines
npx sql-cost-guard check path/to/sql/files --json

🔒 Privacy & Security

We take data security seriously:

  • No Credentials Saved in Settings: API tokens and credentials are saved exclusively in VS Code's native OS-level SecretStorage API (Keychain, Credential Manager, Secret Service).
  • Queries Stay Local / Direct: Query text is sent only directly to your configured cloud warehouse endpoint for dry-run estimation.
  • Zero Telemetry by Default: Telemetry is completely disabled by default. Read our full policy in PRIVACY.md.

🤝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for build instructions and guidelines.


📄 License

Distributed under the MIT License. See LICENSE for details.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft