from flask import Blueprint, jsonify
import random  # Replace with actual data source

workload_metrics_bp = Blueprint('workload_metrics', __name__, url_prefix='/api/workload_metrics')

@workload_metrics_bp.route('/<workload_id>', methods=['GET'])
def get_workload_metrics(workload_id):
    # Replace with actual data retrieval logic
    cpu_usage = random.uniform(0, 100)
    memory_usage = random.uniform(0, 100)
    disk_io = random.uniform(0, 100)

    # Simulate moving average calculation (replace with actual implementation)
    cpu_moving_avg = cpu_usage * 0.9 + random.uniform(0, 10) * 0.1  # Example smoothing
    memory_moving_avg = memory_usage * 0.8 + random.uniform(0, 20) * 0.2 # Example smoothing
    disk_io_moving_avg = disk_io * 0.7 + random.uniform(0, 30) * 0.3 # Example smoothing

    metrics = {
        'workload_id': workload_id,
        'cpu_usage': cpu_usage,
        'memory_usage': memory_usage,
        'disk_io': disk_io,
        'cpu_moving_avg': cpu_moving_avg,
        'memory_moving_avg': memory_moving_avg,
        'disk_io_moving_avg': disk_io_moving_avg
    }

    return jsonify(metrics)
