Rankings
See which features carry the most carbon.
- 1Product search7.07 kg
- 2Feed rendering4.46 kg
- 3Checkout3.16 kg
- 4Image upload2.42 kg
Est. CO₂e · last 30 days
Estimated carbon and energy for every feature you ship, next to the calls behind it.
Why carbon
Together they make up 100% of the app's estimated CO₂e: 18.6 kg in the last 30 days.
Image upload: 2% of calls, 13% of the carbon.
search-queryfeed-rendercheckout-flowimage-uploadall others| Feature | Share of app total | Est. CO2e | Calls | Share of calls |
|---|---|---|---|---|
| Product search | 38% | 7.07 kg | 4.1M | 45% |
| Feed rendering | 24% | 4.46 kg | 2.9M | 32% |
| Checkout | 17% | 3.16 kg | 380k | 4% |
| Image upload | 13% | 2.42 kg | 210k | 2% |
| 14 other features | 8% | 1.49 kg | 1.6M | 17% |
| Whole app | 100% | 18.6 kg | 9.19M | 100% |
The missing column
Codensity doesn't replace the monitoring you already have. It adds the column it never had: estimated carbon, attributed to the features your team recognizes.
| What your monitoring already shows | What Codensity adds | |||
|---|---|---|---|---|
| Feature | Calls | p95 latency | Error rate | Est. CO₂e |
Product searchsearch-query | 4.1M | 180 ms | 0.2% | 7.07 kg |
Feed renderingfeed-render | 2.9M | 240 ms | 0.4% | 4.46 kg |
Checkoutcheckout-flow | 380k | 620 ms | 0.9% | 3.16 kg |
Image uploadimage-upload | 210k | 1.4 s | 0.3% | 2.42 kg |
Latency and error rates stand in for the tools you already run. Codensity's SDK measures each feature as it runs and estimates the energy and carbon behind it.
How it works
Install @codensity/node and wrap the work you care about. Your function's return value passes through unchanged, and events are batched in the background.
import { CodensityClient } from "@codensity/node";
const codensity = new CodensityClient({
key: process.env.CODENSITY_KEY,
environment: "production",
});
export async function checkoutFlow(cart) {
return codensity.track("checkout-flow", () => processCart(cart));
}The first event creates the feature for you, with a readable name taken from its key.
track("checkout-flow", …)FeaturesAcme Shop · Production
search-queryActivefeed-renderActivecheckout-flowNewEvery feature gets its calls, energy and carbon estimates by day, so a change in the line has a name attached.
30 days agoToday
In the product today
Rankings
Est. CO₂e · last 30 days
Dormant features
legacy-exportNo telemetry in 30 dayspromo-banner-v1No telemetry in 30 daysCandidates to archive, or code to remove.
Structure
search-querycheckout-flowimage-uploadPlain units
Integrations
Coming soon
We're building budgets you can set per feature and comparisons between releases.
Preview: a release check comparing v2.9 with v2.8. Four features are within their budget of grams of CO2e per 1,000 calls. image-upload is at 12.23 grams against a budget of 11.00, up 19.7 percent, so it is over budget.
Planned for CI. Not available yet.
Pricing
$0
5M events a month, one project and 7 days of history. Enough to find your heaviest feature.
Start free$79per month
CO₂e for every feature, full history, rankings and comparisons across 5 projects.
Start TeamCustom
Higher volumes, unlimited projects, ESG exports and agreements that fit your organisation.
Talk to salesGet started