Cut Databricks cost and carbon together
GreenLens reads the same system tables as CostLens and estimates energy and CO2e for jobs, clusters, SQL warehouses, users and teams. Open the sample workspace, or connect a read-only SQL warehouse.
- Location-based CO2e beside list-price dollars
- Team, project and cost-center tags
- Scope 3 Category 1, UK SECR and CSRD extract
- Sample data is fictional and labelled as such
What the first scan shows
- kWh and CO2e for the workspace, with the factor written down
- Top workloads, and data products where Unity Catalog lineage exists
- Idle, instance, region and cold-data actions, carbon and dollars side by side
- A CSV and a print view your sustainability lead can mark up
Measure, attribute, reduce, then report
Sold alongside CostLens. CostLens finds wasted spend. GreenLens puts an energy and carbon estimate on the same footprint, using published factors you can replace.
Measure
Node-hours from DBUs, times an instance power estimate, times PUE, times a regional grid factor. Storage is a rough TB figure, because system tables do not store bytes.
Attribute
Team, project and cost center from tags. A top-10 of carbon workloads. Jobs split across Unity Catalog tables they write, when lineage is available.
Reduce
Idle clusters, Graviton or Cobalt, Photon, a cleaner region for jobs you tag as flexible, and cold data. CO2e and dollars shown together, and not added when they overlap.
Targets
An annual carbon budget per team and whether the current run-rate is inside it. Budgets stay in your browser. They are not written back to Databricks.
Report
A monthly or quarterly extract shaped for GHG Protocol Scope 3 Category 1, UK SECR and EU CSRD ESRS E1, with the method and the assumptions on the same page. CSV or print.
Two views
An executive strip: total CO2e, the trend, the saving and a Green Score from 0 to 100. An engineer view: open a job and read the formula that produced its number.
One read-only warehouse, two questions
Both tools use a SQL warehouse with CAN USE and SELECT on system tables. The token stays in the browser tab. The PHP relay does not keep it.
Loading sample workspace…
An estimate, with the method in the open
GreenLens does not read a power meter. Compute energy is node-hours × watts × PUE. CO2e is that energy × a static annual grid factor for the workspace region. You can point window.GreenLensIntensity at Electricity Maps or WattTime later; until then the annual factor is what the report uses, and hour-of-day scheduling is not given a fake saving.
What do I need in Databricks?
A SQL warehouse the principal can use, and SELECT on system.billing, system.compute, system.access and system.information_schema. Billing usage is the spine. Cluster CPU, warehouse size and Unity Catalog lineage improve the estimate and are skipped, with a note, if the grant is missing.
Does our data leave the workspace?
The scan pulls aggregates: DBU, list price, tags, cluster names, and lineage table names. It does not pull the rows inside your tables. The relay returns those aggregates to your browser and does not store them. Carbon maths run in the browser.
Is this an audited carbon inventory?
No. It is a location-based engineering estimate for one Databricks workspace, structured so a sustainability lead can drop it into a Scope 3 Category 1 working paper, a SECR note or an ESRS E1 extract. Market-based factors, embodied hardware and prior year are not in the scan. Swap the factors in the config for the set your auditor names.
Why is storage separate?
Databricks system tables do not expose table bytes. The sample workspace includes fictional terabytes so you can see the line. On a live scan, storage CO2e stays unestimated unless you type a TB figure, and cold tables are listed as candidates only.
Can we run this next to CostLens?
Yes. That is the point. CostLens prices waste. GreenLens prices energy and CO2e. They do not share a database and they do not change each other’s queries.
