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§
Sourcefn workload_type(&self) -> WorkloadType
fn workload_type(&self) -> WorkloadType
Get the workload type
Sourcefn resource_requirements(&self) -> Vec<ResourceRequirement>
fn resource_requirements(&self) -> Vec<ResourceRequirement>
Get resource requirements for this workload
Sourcefn estimated_utilization(&self) -> HashMap<ResourceType, f64>
fn estimated_utilization(&self) -> HashMap<ResourceType, f64>
Get estimated resource utilization
Sourcefn performance_characteristics(&self) -> PerformanceCharacteristics
fn performance_characteristics(&self) -> PerformanceCharacteristics
Get performance characteristics
Sourcefn metadata(&self) -> WorkloadMetadata
fn metadata(&self) -> WorkloadMetadata
Get workload metadata
Sourcefn clone_workload(&self) -> Box<dyn Workload>
fn clone_workload(&self) -> Box<dyn Workload>
Clone the workload (for trait objects)