Skip to content

Sustainability — operator primer (MVP)

Other languages: English · Português · Español

Audience: NGFW operator running a TLSStress.Art test bench who needs to produce sustainability reports — energy consumed, CO2 emitted, equivalent in trees + carbon credits, plus AWS IaaS + competitor cost comparison.

TL;DR

# 1. Configure devices on Settings → Sustainability → Inventory
#    (PDUs, servers, NGFW DUT, switches; SNMP / IPMI / Redfish creds)
# 2. Pick your grid region (Dashboard → /sustainability)
# 3. Run any test as usual — energy collectors poll automatically
# 4. Open the test detail → Sustainability tab to see:
#    - Live Watts chart (per-device)
#    - kWh consumed + kg CO2 emitted
#    - Trees-per-year equivalent + carbon credit cost
#    - "If you ran on AWS, you would have spent $X" callout
#    - "vs Spirent/Keysight/Ixia, you saved $Y per test"
# 5. Download report (executive or detailed × md/html)

The MVP uses SNMP / IPMI / Redfish polling only — no MQTT (deferred). Devices need to be reachable on the OOBI fabric for the bench to poll them.


What gets monitored

Device Method OID / Endpoint
Smart PDUs (APC AP8XXX) SNMP rPDU2OutletMeteredStatusActivePower
Smart PDUs (Raritan PX3/PX4) SNMP outletWatts
Smart PDUs (Eaton ePDU) SNMP xupsOutputWatts
Smart PDUs (generic RFC 4133) SNMP entPhySensorValue
Servers (UCS, Dell, HPE, Supermicro) IPMI DCMI dcmi power reading
Servers (UCS M6/M7, iDRAC9, iLO5) Redfish /redfish/v1/Chassis/{id}/Power
NGFW DUT (Cisco FTD) SNMP CISCO-ENTITY-SENSOR-MIB
NGFW DUT (Cisco Secure Router) SNMP CISCO-ENVMON-MIB
NGFW DUT (Palo Alto) SNMP PAN-COMMON-MIB panSysHwPowerWatts
NGFW DUT (Fortinet) SNMP FORTINET-FORTIGATE-MIB fgHwSensors
NGFW DUT (Check Point) SNMP CHECKPOINT-MIB chassisPowerSupplyEntry
NGFW DUT (Sophos / WatchGuard / Forcepoint) estimated nameplate × utilization
Switches (Cisco Nexus / Catalyst) SNMP ciscoEnvMonSupplyEntry + POWER-ETHERNET-MIB
Switches (Arista) SNMP ENTITY-SENSOR-MIB
Switches (Juniper) SNMP JUNIPER-MIB jnxOperatingDescr

For DUTs without telemetry, supply utilization (0..1) and the collector estimates as idle + (nameplate − idle) × utilization.


How the math works

Per-device energy:

  Wh = ∫ Watts dt  (trapezoidal integration between samples)
  kWh = Wh / 1000
  attributable_kWh = max(0, raw_kWh − idle_W × duration_h / 1000)

Per-test CO2:

  kg_CO2 = total_attributable_kWh × REGION_FACTOR

REGION_FACTOR is from the IEA 2024 country dataset. The regions ship with built-in factors:

Region kg CO2 / kWh Notes
BR 0.094 Hydro-dominated
NO 0.029 Hydro-only
FR 0.052 Nuclear-heavy
US 0.371 National average
DE 0.366 Coal + renewables
PL 0.659 Coal-heavy
IN 0.708 Coal-dominated
GLOBAL 0.475 IEA worldwide weighted

Pick your real region — the same test in Poland emits ~7× more CO2 than in Brazil.


Trees + Carbon Credits visualization

We translate kg CO2 into intuitive equivalences:

Equivalence Reference value Source
1 mature tree-year 21 kg CO2 absorbed USDA Forest Service
1 carbon credit $15/ton CO2 offset (default) Ecosystem Marketplace 2024 VCM blend
1 km of car driving 0.251 kg CO2 emitted EPA 2024
1 hour of Netflix HD 0.036 kg CO2 emitted Netflix ESG 2024
1 smartphone full charge 0.00822 kg CO2 emitted EPA Calculator

The report's "Carbon footprint" block shows all of these so the customer can frame the result in whatever language resonates.


"If you had used AWS" comparison

For every test, the report includes a callout: "if you had run this exact workload on AWS instead, you would have paid $X". The math:

Line Source
Compute matched VM SKU × duration_hours
Egress data_transfer_GB × $0.09/GB
CloudWatch logs log_GB × $0.50/GB
EBS storage storage_GB-month × $0.08/GB-month

Picker: cheapest AWS Marketplace NGFW VM SKU that meets the DUT's throughput. 7 VM-Series SKUs supported (FortiGate VM-04 + VM-08, Palo VM-300 + VM-500, Cisco FTDv 30, Check Point CloudGuard, Sophos XG).

Real-world calibration: - 24h × 8 Gbit/s × 1 TB egress on Palo VM-500: ~$290 AWS bill - Same workload on-prem with $0.12/kWh + 5 kWh: ~$0.60 - Customer savings: ~99.8%


"vs Spirent/Keysight/Ixia" comparison

The detailed report template adds an amortized 5-year TCO table for the top 3 commercial NGFW test rigs:

Vendor Capacity List Price Yearly TCO Per-Test
Spirent Avalanche C100 100 Gbit/s $2,350,000 ~$893,000 ~$8,930
Keysight CyPerf 100G 100 Gbit/s $2,100,000 ~$798,000 ~$7,980
Ixia BreakingPoint 100G 100 Gbit/s $2,450,000 ~$931,000 ~$9,310
TLSStress.Art v5.0 100 Gbit/s $500,000 ~$190,000 ~$1,900

Customer savings vs vendor average: ~78% (per capacity-matrix analysis in discuss_capacity_planning_matrix_competitive_2026_05_10).


Operator workflow

First-time setup

  1. Open /sustainability in the dashboard
  2. Pick your grid region (changes the CO2 emission factor)
  3. Open Settings → Sustainability → Inventory
  4. Add each PDU / server / DUT / switch:
  5. SNMP community OR IPMI/Redfish credentials
  6. Endpoint IP (must be reachable from the bench)
  7. idle_watts (optional, recommended — improves accuracy)
  8. nameplate_watts (optional, sanity guard)
  9. sampling_interval_s (default 5s)

Running a test

Just run any test as usual. The bench: - Polls every device on its sampling interval - Stores raw EnergySample[] streams per device - On test completion: integrates → kWh → CO2 → all equivalences - Auto-attaches sustainability data to the test run

Reviewing results

In the test detail view, the Sustainability tab shows: - Live Watts chart (per-device colored line) - Energy summary (kWh consumed by device + total) - Carbon footprint (Trees + km driving + Netflix hours + cost) - Cost comparison (AWS + competitor TCO)

Download report → choose: - Template: executive (1-page) or detailed (full breakdown) - Format: .md (audit log) or .html (PDF-ready)


What's NOT in MVP (deferred)

Feature Status
MQTT broker integration (smart PDU push) Next session
Webhooks (notify Slack/Teams when CO2 budget exceeded) Next session
Live cost-budget alerts mid-test v5.1+
Multi-region per-test runs v5.2+
ESG report templates (CDP / GRI standards) v5.3+
Carbon offset auto-purchase via VCM API v6.0+

Cross-refs

  • project page — TLSStress.Art overview
  • NETSECOPEN_PRIMER.md — companion NGFW perf primer
  • dashboard/src/lib/sustainability/ — module index:
  • schema.ts (SUS-1) — canonical types
  • pdu-collector.ts (SUS-2) — APC/Raritan/Eaton/generic
  • server-collector.ts (SUS-3) — IPMI + Redfish
  • dut-collector.ts (SUS-4) — 10 NGFW vendors
  • switch-collector.ts (SUS-5) — Nexus/Catalyst/Arista/Juniper
  • aggregator.ts (SUS-6) — Watts → kWh → kg CO2
  • trees-credits.ts (SUS-7) — equivalences
  • aws-cost.ts (SUS-8) — IaaS cost calculator
  • competitor-tco.ts (SUS-9) — vendor TCO + combined savings
  • report-renderer.ts (SUS-10) — md + html × executive + detailed
  • energy-chart.ts (SUS-12) — pure-SVG live chart widget

Module index — what code produces what

Module Purpose
SUS-1 schema Canonical Zod schemas + region factors + pricing tables
SUS-2 pdu-collector SNMP polling for smart PDUs (4 vendors)
SUS-3 server-collector IPMI DCMI + Redfish for server BMCs
SUS-4 dut-collector NGFW vendor-specific MIB dispatch (10 vendors)
SUS-5 switch-collector Nexus/Catalyst/Arista/Juniper + multi-PSU
SUS-6 aggregator Watts × time → kWh × CO2 factor → kg CO2
SUS-7 trees-credits kg CO2 → trees + carbon credit cost + 3 equivalences
SUS-8 aws-cost AWS IaaS bill (compute + egress + logs + storage)
SUS-9 competitor-tco 5-year amortized TCO vs Spirent/Keysight/Ixia
SUS-10 report-renderer executive + detailed × md + html
SUS-11 dashboard menu /sustainability landing page
SUS-12 energy-chart Pure-SVG live Watts chart widget
SUS-13 — this primer Operator how-to
SUS-14 sample demo End-to-end on Cisco 1220CX fixtures