Skip to content

v0.5.0 — Multi-Account, Pattern-Based Waste Detection, Token Optimization

Latest

Choose a tag to compare

@mathumathi-v mathumathi-v released this 07 Apr 20:12

What's New

Multi-Account Support

  • Configure multiple AWS accounts, GCP projects, Azure subscriptions, OCI compartments per provider
  • All analysis commands accept --account-id to filter by a specific account
  • Backward-compatible: old single-account config format auto-migrates

Pattern-Based Waste Detection (12 Rules)

Previously 6 state-only checks. Now 12 rules including pattern analysis over 14-day metrics:

Rule Resource Types
Idle instance (avg + P95 CPU) EC2, GCE, VMs, Compute
Off-hours idle (weekday vs weekend) EC2, GCE, VMs, Compute
Declining CPU trend EC2, GCE, VMs, Compute
Duration-aware stopped instances EC2, GCE, VMs, Compute
Idle database (connections + CPU) RDS, CloudSQL, AzureSQL, AutonomousDB
Idle load balancer (zero requests) ELB/ALB, Azure LB, GCP LB, OCI LB
Idle NAT Gateway (traffic bytes) NAT Gateway
Idle attached disk (zero IOPS) EBS
Zero-invocation function Lambda, Cloud Functions, Function Apps
Unattached disk EBS, PD, ManagedDisk, BlockVolume
Unused Elastic IP ElasticIP
Stopped database RDS, CloudSQL, AzureSQL, AutonomousDB

Resource ID / ARN in Output

  • top-cost now shows Resource ID/ARN, Service, Region, State columns
  • find-waste shows full Resource ID/ARN + description
  • explain-bill includes per-resource IDs in fallback output
  • JSON output includes all fields via asdict()

Idempotent Data Collection

  • Unique indexes on natural keys prevent duplicate rows
  • INSERT OR REPLACE — safe to run finops collect repeatedly
  • Running collect 10 times = same data as running once

LLM Token Optimization (69% reduction)

  • Field projection: strips metadata, tags, cpu_daily_values before sending to LLM
  • Anomaly aggregation: 14 daily spikes → 1 grouped entry
  • Compact JSON: no indentation
  • Smart truncation: drops lowest-priority sections instead of cutting mid-JSON
  • Response cap: 2000 → 1024 max_tokens

Other

  • Python 3.10+ compatibility (datetime.UTC → timezone.utc)
  • CI/CD: GitHub Actions workflow auto-publishes Docker image on release
  • Metrics collection for databases, load balancers, NAT gateways, EBS, Lambda, S3

Docker

docker pull mathumathi247/finops-agent:0.5.0
docker pull mathumathi247/finops-agent:latest

Full Changelog

v0.4.0...v0.5.0