Trait Workload

Source
pub trait Workload:
    Send
    + Sync
    + Debug {
    // Required methods
    fn workload_type(&self) -> WorkloadType;
    fn resource_requirements(&self) -> Vec<ResourceRequirement>;
    fn estimated_utilization(&self) -> HashMap<ResourceType, f64>;
    fn performance_characteristics(&self) -> PerformanceCharacteristics;
    fn metadata(&self) -> WorkloadMetadata;
    fn validate(&self) -> Result<()>;
    fn clone_workload(&self) -> Box<dyn Workload>;
}
Expand description

Trait for workload implementations

Required Methods§

Source

fn workload_type(&self) -> WorkloadType

Get the workload type

Source

fn resource_requirements(&self) -> Vec<ResourceRequirement>

Get resource requirements for this workload

Source

fn estimated_utilization(&self) -> HashMap<ResourceType, f64>

Get estimated resource utilization

Source

fn performance_characteristics(&self) -> PerformanceCharacteristics

Get performance characteristics

Source

fn metadata(&self) -> WorkloadMetadata

Get workload metadata

Source

fn validate(&self) -> Result<()>

Validate workload configuration

Source

fn clone_workload(&self) -> Box<dyn Workload>

Clone the workload (for trait objects)

Implementors§