Skip to content

Commit f13b13a

Browse files
jeremymanningclaude
andcommitted
Add comprehensive native cost monitoring system for all cloud providers
This major enhancement adds built-in cost tracking and optimization features to Clustrix: ## New Features - **Cost Tracking Decorator**: @cost_tracking_decorator('provider', 'instance_type') - **Manual Cost Monitoring**: start_cost_monitoring(), generate_cost_report() - **Multi-Provider Support**: Lambda Cloud, AWS, Azure, GCP cost monitoring - **Resource Utilization Tracking**: CPU, memory, GPU usage monitoring - **Cost Optimization Recommendations**: Provider-specific savings suggestions ## Implementation Details - Abstract base class (BaseCostMonitor) for extensible provider support - Provider-specific implementations with accurate pricing data - Comprehensive unit tests (37 tests, all passing) - Automatic cost estimation with spot/preemptible instance support - Regional pricing comparisons and batch workload cost estimation ## Tutorial Updates All cloud provider tutorials now use native cost monitoring functions: - Lambda Cloud: Updated with @cost_tracking_decorator examples - AWS: Added EC2 and Batch cost monitoring with spot instance analysis - Azure: Integrated VM and Batch cost tracking with spot VM savings - GCP: Comprehensive cost analysis with preemptible VMs and sustained use discounts ## API Exports New functions available in clustrix module: - cost_tracking_decorator, get_cost_monitor, start_cost_monitoring - generate_cost_report, get_pricing_info - ResourceUsage, CostEstimate, CostReport classes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 4117f2c commit f13b13a

File tree

12 files changed

+4218
-2282
lines changed

12 files changed

+4218
-2282
lines changed

clustrix/__init__.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@
44
from .local_executor import LocalExecutor, create_local_executor
55
from .loop_analysis import detect_loops_in_function, find_parallelizable_loops
66
from .utils import setup_environment
7+
from .cost_monitoring import (
8+
cost_tracking_decorator,
9+
get_cost_monitor,
10+
start_cost_monitoring,
11+
generate_cost_report,
12+
get_pricing_info,
13+
ResourceUsage,
14+
CostEstimate,
15+
CostReport,
16+
)
717

818
__version__ = "0.1.0"
919
__all__ = [
@@ -16,4 +26,12 @@
1626
"detect_loops_in_function",
1727
"find_parallelizable_loops",
1828
"setup_environment",
29+
"cost_tracking_decorator",
30+
"get_cost_monitor",
31+
"start_cost_monitoring",
32+
"generate_cost_report",
33+
"get_pricing_info",
34+
"ResourceUsage",
35+
"CostEstimate",
36+
"CostReport",
1937
]

0 commit comments

Comments
 (0)